미래가 왔다
![이전 레벨 00 - 1]()
- 안녕.
이것이 Java 튜토리얼 임을 확인합니다 . 나는 지루한 강의가 싫어서 CodeGym은 온라인 퀘스트 게임처럼 만들어졌습니다. - 캐릭터를 플레이하고 레벨을 올린 적이 있습니까? 때때로 당신은 당신이 어떻게 관여했는지조차 알지 못합니다, 그렇죠? 내가 요리하는 냄새가 나니? CodeGym에서도 레벨 1에서 40까지 캐릭터의 레벨을 조정해야 합니다(두 번째 파트를 릴리스할 때는 레벨 80까지).
게임에 합격하면 당신은 좋은 자바 개발자가 될 것입니다. - 40레벨을 완료하면 자바 주니어 직업을 얻을 수 있습니다. CodeGym에는 많은 실제 작업이 있기 때문입니다. 매우 많은. - 첫 번째 레벨부터 시작합니다.
당신의 임무는 캐릭터를 업그레이드하는 것입니다 - Amigo.그러나 작게 시작합시다. 먼저 2층으로 올라가야 합니다. 아마도 당신은 그것을 너무 좋아해서 과정을 완료한 것을 눈치채지 못하고 Java 프로그래머로 일하기 시작할 것입니다. :) 추신 - 강의는 이런 식으로 배열됩니다: 최신 강의가 맨 위에 있습니다. 새 강의를 열려면 녹색 버튼을 누르십시오.
배경
이 게임은 3015년 먼 미래, 로봇과 인간이 지구에서 함께 살고 우주를 여행할 수 있는 시대를 배경으로 합니다. 미지의 행성에 추락한 우주선이 있다.
![이전 레벨 00 - 2]()
John Squirrels the Brave 선장은 다음과 같이 말합니다. - Galactic Rush 우주선이 심각한 난파선을 겪었습니다. 배는 추락하면서 산에 충돌했고 거의 완전히 돌로 뒤덮였습니다. 배를 풀어주기 위한 헛된 노력으로 며칠을 보냈습니다. 승무원은 집으로 돌아갈 희망을 모두 잃고 정착하기 시작했습니다...
![이전 레벨 00 - 3]()
Elly의 말: - 일주일 후, 저는 이 행성에 수천 마리의 야생 로봇이 살고 있다는 사실을 알게 되었습니다! 그들은 기술이 없습니다. 우리는 그것들을 사용하여 우주선에서 암석을 제거하고 싶지만 아무것도 할 수 없습니다. 그들의 도움은 우리 상황에서 매우 유용할 것입니다.
![이전 레벨 00 - 4]()
교수는 이렇게 말합니다. -며칠 후 탈출구를 찾았습니다. 디에고의 펌웨어(승무원의 로봇)를 벽돌공의 펌웨어로 다시 프로그래밍하고 야생 로봇에 업로드해야 한다는 생각이 떠올랐습니다. - 그러나 불운이 우리를 쫓는 것 같았다. 약간의 연구 끝에 로봇에 펌웨어를 업로드할 슬롯이 없는 것으로 나타났습니다. 다시 깜박일 슬롯이 없었습니다!
![이전 레벨 00 - 5]()
Bilaabo는 다음과 같이 말합니다. - Bilaabo는 한때 우리 고향 행성에서 프로그래밍을 아는 로봇을 본 것을 기억했습니다. 그는 스스로 새 펌웨어를 작성했습니다.
![이전 레벨 00 - 6]()
교수는 이렇게 말합니다. - Bilaabo가 그것에 대해 말했을 때 천재적인 뇌졸중이 저에게 왔습니다. 결국 재능있는 젊은 로봇에게 Pascal로 프로그래밍하도록 가르친 적이 있습니다. - 가장 재능 있는 젊은 로봇을 잡아서 프로그래밍을 가르치라고 명령했습니다. 그러면 그는 혼자 벽돌공 펌웨어를 작성하고 우리를 도울 수 있을 것입니다.
왼쪽부터 리샤 게이츠만(16대 관료), 아미고(너)
Risha는 다음과 같이 말합니다. - 똑똑한 표본을 잡았습니다. 디에고는 한 번도 가져본 적이 없는 동생의 이름을 따서 이름을 아미고로 지어달라고 부탁했습니다. - 나는 각 훈련 달마다 Amigo 금속 구슬을 제공했고 추가 파편 제거를 위해 연간 10달러를 제공했습니다.
![이전 레벨 00 - 8]()
디에고의 말 : -나는 그런 대머리 사기에 분노했지만 전체 승무원은 교수와 Risha의 편을 들었습니다. 물론 나는 (외부적으로) 동의했고 Amigo를 가르치는 데 도움을 주겠다고 제안했습니다. (heh heh heh!) 적어도 다른 사람보다 로봇을 더 잘 가르치는 사람은 없기 때문입니다. -모두가 내 준수에 기뻐했습니다. 그들은 또한 새로운 로봇의 훈련에 참여하기로 결정했습니다.
1 시작하기
![이전 레벨 00 - 9]()
Amigo는 초조했습니다. 그는 어젯밤 생각에 정신이 멍해지고 눈이 씰룩거리고 차가워졌다. 어제의 지인들인 이 이상한 생물들은 그에게 무언가를 원합니다. 동급생 중 가장 똑똑하고 용맹하다고 자처하는 그도 생각만 해도 초조하게 천공카드를 씹기 시작하는 기이하고 불가사의한 일. 그들은 그에게 코딩 방법을 가르치고 싶어합니다! 자바 프로그램! 농담이야? 가장 친환경적인 로봇조차도 로봇이 창조주의 신성한 처분의 결과라는 것을 압니다.
"그래서 창조주는 금속을 가져다가 그의 형상과 모양대로 로봇을 만들었다. 그리고 그는 로봇의 영혼인 자바 프로그램을 만들어 로봇에 업로드하고 살아나게 했다."
설상가상으로 그들은 그것이 가능하다고만 말하지 않습니다. 그들은 그것을 할 것입니다. 그리고 그는 동의했습니다. 그는 동의했다! 왜? 그는 자바 프로그래머가 될 것입니다. 그들은 그를 창조주로 만들 것입니까?! 무엇 때문에? 재미로? 캐치는 어디에 있습니까? 배터리가 다 떨어질 때까지 고장나고 고생해야 한다면? 유혹은 컸고 그는 그것을 도울 수 없었습니다. 그는 항상 열망했고 더 많은 것을 원했습니다. 그러나 아무도 그러한 제안을 기대할 수 없었습니다. 물론 그는 시간을 끌기 위해 노력했지만 방문객들은 다른 로봇을 선택하겠다고 위협했습니다. 누군가의 고약한 속임수였을까요? 아니요, 사실입니다. 그는 증거를 보았다. 실제로 그에게 일어났고 그는 동의했습니다. 방문객들이 거짓말을 하지 않는 한, 그는 정말로 자바 프로그래머가 될 것이다. 최초의 로봇 프로그래머... 그는 선택받은 자입니다! 그게 요점입니다. 그는 프로그래밍을 배우고 프로그램을 작성할 것입니다. 자신의 프로그램. 그가 원하는 모든 것! 그는 어둠이 항상 지배하던 곳에서 빛을 전할 것입니다. 그는 존경을 받을 것이며 숭배를 받을 것입니다. 그리고 모든 반대자들...
![이전 레벨 00 - 10]()
- 안녕, 아미고! 저는 리샤 게이츠먼입니다. Java 학습을 도와 드리겠습니다. 조용한 목소리가 아미고를 일련의 생각에서 벗어나 냉정한 현실로 되돌려 놓았습니다. 그는 방문자 우주선의 중심에 앉아 있습니다. 7학년 로봇에 비해 너무 많지 않나요? 낯선 사람은 계속 말을 이었다. 자, 이제 주사위를 던졌습니다. 그가 여기 오면 그는 배울 것입니다. 그는 열심히 공부할 것이지만 처음에는 그냥 듣기만 할 것입니다. - Galactic Rush와 수년 동안 함께 했지만 이런 행성은 처음 봅니다. 나는 당신을 더 잘 알고 싶습니다. 우선, 어떻게 배우는지 말씀해 주시겠습니까? 너 공부해, 그렇지?
- 예, 지식을 공유합니다. 우리는 설교 강사를 얻었습니다. 그들은 강의를 하고 우리는 듣습니다. 때때로 우리는 메모를 합니다. 그런 다음 모든 사람이 로봇 강사에게 자신이 들은 내용을 어떻게 집어들었는지 이야기합니다. robolecturer가 답변을 좋아하면 강의를 통과합니다. - 터무니없어! 당신들의 문명이 무지로 전락한 것은 놀라운 일이 아닙니다.
- 우리는 무지하지 않습니다. 그 아이디어를 준 것이 무엇입니까? Amigo는 자신의 뻔뻔함에 놀랐습니다. 방문자와 논쟁? 얼마나 경솔한가! 그는 방금 그들의 말을 들어주겠다고 약속했습니다! - 모든 고급 기술은 종종 마법과 구별할 수 없습니다. - 리샤는 아미고의 외침에 아랑곳하지 않았다. - 게다가 레벨을 생각하면... 아마 모든 기술이 마법이라고 생각하실 겁니다. 프로그램 내부에서 무슨 일이 일어나고 있는지 말해 주시겠습니까?
- Java 프로그램은 신성한 작업입니다. 그 본질을 이해할 수 있습니까? - 네, 아미고, 당신은 그것을 이해할 수 있고 당신이 생각하는 것보다 빠릅니다. 알 수 없는 것이 있으면 모든 것이 복잡해 보이고, 심지어는 이해할 수 없는 것 같습니다. 하지만 평신도나 레이로봇의 용어로 모든 것을 설명해줄 좋은 선생님이 있다면, 어떻게 그렇게 단순한 것을 복잡하게 여길 수 있는지 놀라실 것입니다. - 지식뿐만 아니라 기술과 원칙도 중요합니다. 해박한 지식을 가지고 있지만, 나는 우선 관료, 16대 관료다. - 정말 대단해요! 내 관료적 기술은 당신을 위한 최고의 Java 수업을 만드는 데 도움이 되었습니다. 문제, 프로그램, 게임, 작업, 사진, 강의까지 모든 것이 있습니다.
- 심지어 (!) 강의? – 아미고의 목소리에는 진정한 놀라움이 있었습니다. - 응. 좋은 강의가 좋은 책보다 조금 더 효과적이라는 것은 22세기에 입증되었습니다. 평범한 강의는 평범한 책보다 더 나쁩니다. 현재 훈련 보조 도구가 다소 제한되어 있고 표준 28세기 훈련 시뮬레이터를 통해 실행을 제공할 수 없다는 점을 고려하여 매우 간단한 방법을 선택해야 합니다. 우리는 게임, 작업, 사진, 강의 및 비디오의 미친 혼합을 생각해 냈습니다.
- 당신이 날 흥미롭게 했어. - 나는 희망한다. 흥미와 흥미는 모든 학습의 기초입니다. - «학생이 심심하면 선생을 때려야 한다» - 24세기 교육법의 명언.
- 좋은 인용구… - 네, 그렇습니다. 어떤 영화가 흥행에 실패했다면 그건 감독의 잘못이지 관객의 잘못이 아니다. 무언가가 지루하다면 책임을 져야 할 사람은 당신이 아닙니다. 그들은 신나는 영화를 보고 재미있는 수업을 해야 합니다. 그러면 그들은 대중에게 끝이 없을 것입니다.
- 전적으로 동의합니다. 그리고 재미있는 레슨을 받을 준비가 되었습니다! - 괜찮은.
시작하겠습니다. Risha의 목소리는 매혹적이었고 Amigo는 모든 단어에 매달렸습니다. - 프로그램은 명령 집합(명령 목록)입니다. 첫 번째 명령이 먼저 실행된 다음 두 번째, 세 번째 등이 실행됩니다. 모든 명령이 실행되면 프로그램이 종료됩니다.
-명령이란 무엇입니까? -
수행자에 따라 다름, 실행자가 알고 있는(그리고 이해하는) 명령에 대해. - 개는 «앉아!», «짖어!», 고양이는 «슈!»라는 명령을 받을 수 있습니다. 한 남자 - «움직이지 마세요, 아니면 쏘겠습니다!», 그리고 로봇 «일해요! 타라, 요 로보마마!»
- 그런데... - 아미고는 이제 훨씬 더 활기차 보였다. - JVM(Java Virtual Machine)은 Java로 작성된 프로그램을 실행합니다. JVM은 Java로 작성된 프로그램을 실행할 수 있는 특수 프로그램입니다. - 명령 목록은 다소 광범위합니다. 예를 들어 이 명령은 «로봇은 인간의 가장 친한 친구입니다»라는 텍스트를 표시합니다.
가장 간단한 명령은 다음과 같습니다. |
System.out.println("A robot is man’s best friend");
|
- O_O - 그러나 명령으로 즉시 시작하지 않고 몇 가지 간단한 원칙으로 시작합니다.
- 일부 원칙에 대한 지식은 많은 사실에 대한 지식을 대체할 수 있습니다. - 첫 번째 원칙.
- Java 프로그래밍 언어에서는 각 명령을 새 줄에 작성하는 관행이 있습니다. 명령 끝에 세미콜론을 넣어야 합니다. - «남자와 로봇은 도둑만큼 굵다»라는 메시지를 세 번 표시하고 싶다고 가정해 보겠습니다. 다음과 같이 표시됩니다.
세 가지 명령을 사용하는 프로그램: |
System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
System.out.println("A man and a robot are as thick as thieves");
|
- 두 번째 원칙.
- 프로그램은 명령만으로 구성되지 않습니다. - 방을 상상해보십시오. 방은 그 자체로 존재할 수 없습니다. 그것은 어떤 아파트의 일부입니다. 아파트도 그 자체가 아니라 집 안에 있습니다. - 다시 말하지만, 집은 아파트로 구성되어 있고 아파트는 방으로 구성되어 있다고 말할 수 있습니다.
- 여기까지는 명확합니다. -그래서 명령은 방과 같습니다. Java 프로그래밍 언어에서 명령은 자체적으로 존재할 수 없으며 함수의 일부입니다(Java 함수는 메서드라고도 함). 메서드는 클래스의 일부입니다. 즉, 클래스는 메서드로 구성되고 메서드는 명령으로 구성됩니다.
- 그래서 class는 공동주택, function/method는 아파트, command는 방입니다. 내가 제대로 이해합니까? - 네, 물론이죠. Amigo는 Risha를 거의 경건하게 바라 보았습니다. 이 남자는 그에게 신성한 자바의 기초를 설명합니다! 그리고 그는 프로그램이 클래스로 구성되고 클래스는 메서드로 구성되며 메서드는 명령을 포함한다는 것을 방금 이해했습니다. Amigo는 그것이 필요한지 아직 이해하지 못했지만 이 지식이 그를 지구상에서 가장 강력한 로봇으로 만들 것이라고 확신했습니다. 한편 Risha는 계속해서 다음과 같이 말했습니다.
- Java 프로그램은 클래스로 구성됩니다. 수만 개의 클래스가 있을 수 있습니다. 최소 프로그램은 하나의 클래스로 구성됩니다. 각 클래스에 대해 클래스 이름과 일치하는 이름의 개별 파일이 생성됩니다. - 집을 설명하는 클래스를 만들기로 결정했다고 가정해 보겠습니다. 따라서 House.java라는 파일에 House 클래스를 만들어야 합니다. - 예를 들어 고양이를 설명하기로 결정한 경우 Cat 클래스 등을 설명하기 위해 Cat.java 파일을 만들어야 합니다. - 파일에는 Java 코드(텍스트)가 포함되어 있습니다. 일반적으로 클래스 코드는 클래스 이름과 클래스 본문으로 구성됩니다.
클래스 본문은 중괄호로 묶여 있습니다. House 클래스는 다음과 같습니다(House.java 파일).
- 아직까지는 어렵지 않습니다. - 괜찮은. 그럼 계속 갑시다. 클래스 본문에는 변수(클래스 데이터라고도 함)와 메서드(클래스 함수)가 포함될 수 있습니다.
- 예를 들어 주시겠습니까? - 예? 확실히하다!
- «int a» 및 «int b»는 변수입니다. «main» 및 «pi» 방법입니까? - 응.
- 변수가 없는 클래스가 있나요? - 네.
- 방법이 없나요? - 예. 그러나 최소 프로그램은 적어도 하나의 클래스로 구성되어야 합니다. 이 클래스는 프로그램을 시작하기 위해 하나 이상의 메소드/함수를 포함해야 합니다. 이 메소드의 이름은
main 이어야 합니다 . 최소 프로그램은 다음과 같습니다.
- 여기에 House 클래스, main 메서드가 있지만 명령은 어디에 있습니까? - 최소 프로그램에는 명령이 없습니다. 그래서 미니멀이라고 합니다.
- 알겠어요. - 프로그램을 시작하는 클래스는 어떤 이름이든 가질 수 있지만 프로그램 실행을 시작하는 main 메서드는 항상 같은 유형입니다.
- 알겠어요. 적어도 나는 오히려 그렇게 생각한다. - 좋아, 잠시 쉬자. 커피는 어때?
- 나는 너무 어려. 작은 로봇은 커피를 마시지 않습니다. 우리가 녹슬게 되는 이유는 물 때문입니다. - 그럼 뭐 마실래?
- 맥주, 위스키, 100년 된 럼. - 훨씬 더 좋습니다. - 그럼 맥주 한잔?
2 리샤를 만나다(계속)
(한 시간 후) - 좋아요. 그래서 우리는 어디에 있었습니까?
- 메서드 코드 또는 이와 비슷한 것. - 응. 정확히.
메서드 본문은 명령으로 구성됩니다. 메서드는 이름(메서드 이름)이 지정된 명령 그룹이라고 말할 수도 있습니다. 어느 쪽이든 맞습니다. - 다양한 명령어가 있습니다. 여기 개 있어요?
- robowolves만 길들일 수 있습니다. - 그들은 명령을 따르나요?
- 응. «물다», «먹다», «죽이다» 그리고 «잘했어! 힐!" ![이전 레벨 00 - 17]()
- 에헴. 무슨 명령이야! 그리고 그렇게 많지는 않습니다.
- 몇 개를 원하세요? - Java에는 모든 경우에 대한 명령이 있습니다. 각 명령은 특정 작업을 설명합니다. 각 명령의 끝에는 세미콜론이 있어야 합니다. 명령의 예:
![이전 레벨 00 - 18]()
- 사실 이것은 하나의 동일한 명령
System.out.println 입니다 .
그리고 그 매개변수는 괄호 안에 지정됩니다. 명령의 효과는 매개변수에 따라 다를 수 있습니다. - 매우 편리합니다. - 응.
텍스트를 표시하려면 큰따옴표 «"»로 묶어야 합니다. - 작은따옴표는 «'»와 같고 이중따옴표는 «"»와 같습니다. 큰따옴표를 작은따옴표 두 개와 혼동하면 안 됩니다!
- 큰따옴표는 Enter 버튼 옆에 있는 것입니까? - 네. Amigo의 맥박은 3GHz에서 5GHz로 빨라졌지만 여전히 믿을 수 없었습니다. 방금 선을 표시하는 방법을 배웠는데 생각보다 훨씬 쉬웠습니다. 아미고는 생각에서 벗어나 진정하기 위해 창밖을 내다보았다. 잎이 노랗게 변했습니다. Rusty Season이 정말 곧 다가오고 있다는 생각이 들었습니다. 창문을 통해 평소보다 훨씬 더 멀리 볼 수 있습니다. 방문자의 기술은 최고였습니다. 그는 지금 나뭇잎을 어떻게 돌볼 수 있습니까? 결국, 저녁이 되면 그는 훨씬 더 많은 것을 배운다.
![이전 레벨 00 - 19]()
그러나 그의 생각은 통제 불능이었다. 언젠가 그는 Rusty Season이 시작될 때 모든 로봇이 집에 머무르도록 하는 프로그램을 작성할 것입니다. 그리고 이 프로그램은 수천 명의 robolives를 구할 것입니다... - 이 명령에는 두 가지 변형이 있습니다. System.out.print
ln ( )및
System.out.print() -
System.out.println() 명령을 여러 번 작성하면 매번 전달되는 텍스트가 새 줄에 표시됩니다. System.out.print()이면 텍스트가 같은 줄에 표시됩니다. 예:
![이전 레벨 00 - 20]()
- 여기에 약간의 설명이 있습니다.
print ln 명령은 새 줄에 텍스트를 표시하지 않습니다. 현재 줄에 텍스트를 표시하지만 다음 메시지가 새 줄에 나타나도록 합니다. -
println() 명령은 텍스트를 표시한 다음 보이지 않는 특수 줄 바꿈 문자를 추가하여 새 줄의 시작 부분에서 다음 메시지를 표시합니다.
- 완성된 프로그램은 어떤 모습인가요? - 이제 화면에 주목하세요.
- 오, 그거야! 단어가 서로 붙지 않도록 단어 끝에 공백을 추가합니다. 맞습니까? - 좋아요. 당신은 똑똑한 친구입니다. 이 찬양은 아미고를 자부심으로 빛나게 했습니다. - 음, 여기 첫 번째 작업이 있습니다.
일 |
«프로그래머가 되는 것은 멋진 일입니다!»를 표시하는 프로그램을 작성하십시오. |
표시된 텍스트의 예: |
프로그래머가 되는 것은 멋진 일입니다! |
3 엘리와의 만남
![이전 레벨 00 - 22]()
분홍색 머리를 한 예쁜 아가씨가 오두막에 들어왔습니다. «모든 인간 여성이 그런 머리카락을 가지고 있는지 궁금합니다.» - 아미고는 생각했지만, 그녀는 그를 혼란스럽게 쳐다보았다. - 여기요! 제 이름은 엘레노라 캐리입니다. 나는 Galactic Rush의 메인 파일럿입니다.
- 안녕, 엘레오노라! -아미고는 어색하게 말을 억지로 했다. 이유는 알 수 없었지만, 마치 내부 어딘가에 오일 덕트가 손상된 것처럼 뺨이 붉어지는 것을 느꼈습니다. - 자바 언어에서 가장 흥미로운 점인 변수에 대해 말씀드리겠습니다.
-들을 준비가되었습니다! 이 변수는 무엇입니까? - 변수는 데이터를 저장하기 위한 것입니다. 모든 데이터. 모든 Java 데이터는 변수를 사용하여 저장됩니다. 변수는 상자와 같습니다. - 무슨 상자요? - 아주 평범한 것. 종이에 13이라는 숫자를 써서 상자에 넣었다고 가정해 봅시다. 이제 상자에 값 13이 저장되어 있다고 말할 수 있습니다. - Java에서 모든 변수에는
유형 ,
이름 및
값 이라는 세 가지 중요한 속성이 있습니다 .
- 조금만 더 말씀해 주시겠어요? - 확신하는.
이름은 한 변수를 다른 변수와 구별하는 데 사용됩니다. 상자의 표시와 같습니다. -
변수 유형은 저장할 수 있는 값/데이터의 유형을 결정합니다. 우리는 케이크 상자에 케이크를, 신발 상자에 신발 등을 저장합니다.
- 값은 변수에 저장된 개체, 데이터 또는 정보입니다. - 유형에 대해 다시 한 번 말씀해 주세요. - 좋아요. Java의 모든 객체에는 유형이 있습니다. 예를 들어 «integer», «fractional number», «text», «Cat», «House» 등과 같은 데이터 유형이 있을 수 있습니다.
- 변수에도 자체 유형이 있습니다. 변수는 변수 자체가 속한 동일한 유형의 값만 저장할 수 있습니다. - 실생활에서 흔히 있는 일입니다. 다양한 상자는 다양한 물건을 보관하는 데 사용됩니다.
![이전 레벨 00 - 23]()
- 변수를 생성하려면 «
type name » 명령을 사용하십시오. 예:
![이전 레벨 00 - 24]()
- 가장 일반적으로 사용되는 두 가지 유형은 정수(
int 로 표시됨 )와 텍스트(
String 로 표시됨 )입니다.
- 더블 형 은요 ? -
double은 분수(실수) 숫자입니다.
- 당신은 변수가 유형, 이름, 값의 세 가지 속성을 가지고 있다고 말했습니다. 그러나 그들 중 두 개만 있습니다. 질문이 있습니다. 변수에 값을 배치하는 방법은 무엇입니까? - 상자로 돌아가서 종이 한 장에 "42"라고 적고 상자에 넣었다고 상상해 보세요. 이제 상자는 값 42를 저장합니다.
- 그렇군요. - 값을 변수에 넣기 위해
할당 연산자 라는 특수 연산이 있습니다 .
한 변수의 값을 다른 변수에 복사합니다. 움직이지 않고
복사합니다 . 디스크의 파일과 같습니다. 다음과 같습니다.
![이전 레벨 00 - 25]()
- 대입 연산자의 경우
등호 «=»가 사용됩니다. - 다시한번 말씀드리지만
비교대상이 아닙니다 . 그것은 정확히
등호
오른쪽에 있는 값을 왼쪽에 있는 변수 에 복사합니다 . 비교를 위해 이중 등호 «==»가 사용됩니다.
- 고양이를 변수에 넣는 방법을 안다. 그것은 거의 프로그램과 같습니다. - 고양이 잡는 방법: 1. 빈 상자를 가져갑니다. 2. 기다려. ![이전 레벨 00 - 26]()
- 아니오, 아미고, 고양이 한 마리만 상자에 넣을 수 있습니다. 에헴... 내 말은,
변수에 하나의 값만 넣을 수 있다는 것입니다. - 알겠어요. 변수를 생성하는 방법에 대한 더 많은 예를 들어 주시겠습니까? - 좋아요, 다른 방식으로 설명하겠습니다. 변수를 생성하려면 다음과 같이 «
type name » 명령을 작성해야 합니다 .
- 아, 이제 알았습니다. - 동일한 메소드에서 동일한 이름을 가진 두 개의 변수를 생성할 수 없다는 점에 유의하십시오.
- 다른 방법은 어떻습니까? - 당신은 할 수있다. 다른 집에 서있는 상자와 같습니다.
- 변수에 이름이 있을 수 있습니까? - 비슷하지만 이름에
공백, 기호 +, - 등을 포함할 수 없습니다. 가장 좋은 점은 변수 이름에 문자와 숫자만 사용하는 것입니다. -
Java 언어에서는 대문자 또는 소문자 중 어떤 문자를 작성하는지가 중요합니다 .
«int a»는 «Int a»와 같지 않습니다. - 그런데 자바에서는 변수를 생성함과 동시에 값을 할당하는 것이 가능하다. - 이것은 시간과 공간을 절약하는 데 도움이 됩니다.
- 훨씬 더 좋고 이해하기 쉽습니다. - 그게 우리가 사는 이유입니다. - Java에는 초보자가 익숙해져야 하는 두 가지 유형이 있습니다.
이들은 int (정수) 및
String (텍스트/문자열) 유형입니다 . -
int 형은 변수에 숫자를 저장하는 것은 물론 덧셈, 뺄셈, 곱셈, 나눗셈 등의 다양한 연산을 가능하게 합니다.
- 저에게는 흑백입니다. 프로그래밍이 그렇게 간단합니까? - 사실 맞아요.
- 좋아요. 그래서 당신은 무엇을 가지고 있습니까? -
문자열 유형은 텍스트 문자열을 저장할 수 있습니다. - Java에서 일부 텍스트 문자열을 지정하려면 해당 텍스트를 작성한 다음 큰따옴표로 묶어야 합니다. 예:
- 알겠습니다. 꽤 쉬워 보입니다. - 여기 또 다른 흥미로운 사실이 있습니다. - 더하기 기호 «+»를 사용하여 문자열을 결합할 수 있습니다. 예:
- 그러면 숫자에 문자열을 추가할 수도 있습니까? - 네, 하지만 숫자에 문자열을 추가하면 항상 문자열을 얻는다는 점을 알아주세요.
- 예, 예제에서 가져왔습니다. - 이해가 빠르다면 변수를 표시하는 방법을 알아내시겠습니까?
- 어... 변수를 표시할까요? 어-어, 내 마음은 텅 빈다. - 실제로는 매우 간단합니다.
무언가를 표시하려면 System.out.println() 명령을 사용 하고 표시하려는 데이터를 매개변수로 전달합니다.
- 잡았다! 이제 모든 것이 더 명확해졌습니다. - 괜찮아. 다음은 세 가지 작업입니다.
상태 |
1 |
«영원히 살 생각입니다. 여태까지는 그런대로 잘됐다.".
각 문자열은 새 줄에 있어야 합니다. |
2 |
현재 연도를 표시하는 프로그램을 작성하십시오.
기록상으로는 이미 31세기입니다. |
삼 |
«나는 너무 영리해서 때때로 내가 말하는 내용을 한 단어도 이해하지 못합니다.»를 표시하는 프로그램을 작성하십시오. |
4 회의 교수
![이전 레벨 00 - 33]()
- 안녕, 아미고. 저는 Galactic Rush 회사의 과학 부서장인 Hans Noodles 교수입니다. 또한 Java 교육 프로젝트를 감독합니다.
- 안녕하세요, 누들스 교수님. - Java가 왜 그렇게 훌륭한 프로그래밍 언어 인지 알려주고 싶습니다 .
- 플랫폼 독립성이 다른 언어에 비해 Java의 부인할 수 없는 이점 이라는 말을 한 번 이상 듣게 될 것입니다 . 그게 무엇이고 어떻게 대처해야 할까요? 나는 당신에게 몇 가지 배경을 말함으로써 설명하려고 노력할 것입니다. -
사실 컴퓨터는 원시적인 숫자 명령만 실행합니다."Heel", "Shake" 등과 같은 개 명령이 있습니다. 개는 그들의 말을 듣고 무언가를 합니다. - 컴퓨터에서 숫자는 이러한 명령의 역할을 수행합니다. 모든 명령은 기계 코드라고도 하는 코드인 숫자로 인코딩됩니다. - 숫자 형식으로 프로그램을 작성하는 것은 매우 어렵기 때문에 사람들이
프로그래밍 언어 와 컴파일러를 발명했습니다 .
그러한 언어 는 사람과 컴파일러 모두가 이해할 수 있습니다.
컴파일러프로그래밍 언어로 작성된 프로그램 텍스트를 기계 코드 세트로 변환하는 특수 프로그램입니다. - 일반적으로 프로그래머는 프로그래밍 언어로 프로그램을 작성한 다음 컴파일러를 시작합니다. 컴파일러는 프로그래머가 작성한 프로그램 코드 파일을 사용하여 최종(컴파일된) 프로그램인 기계 코드 파일을 만듭니다.
![이전 레벨 00 - 34]()
- 결과 프로그램은 컴퓨터에서 즉시 실행될 수 있습니다. 이 접근 방식의 단점은 프로그램 코드가 프로세서와 운영 체제에 크게 의존한다는 것입니다. Windows에서 컴파일된 프로그램은 Android 휴대폰에서 작동하지 않습니다.
- 그러면 Android용으로 작성되고 컴파일된 프로그램을 Windows에서 실행하려고 하면 작동하지 않습니까? - 네. - 그러나 Java의 접근 방식은 훨씬 더 혁신적입니다.
![이전 레벨 00 - 35]()
- Java 컴파일러는 모든 클래스를 하나의 기계 코드 프로그램으로 컴파일하지 않습니다. 대신 각 단일 클래스를 기계 코드가 아닌 특별한 중간 코드(바이트 코드)로 컴파일합니다. 기계 코드로의 컴파일은 프로그램이 시작될 때 실행됩니다.
- 그러면 누가 처음부터 프로그램을 컴파일해야 합니까? - JVM(Java Virtual Machine)이라는 특별한 프로그램이 있습니다. 바이트 코드로 구성된 프로그램이 실행될 때 가장 먼저 시작되는 프로그램입니다. 그런 다음 프로그램이 시작되기 전에 JVM이 이를 기계어 코드로 컴파일합니다.
- 얼마나 흥미 진진한! 그리고 그렇게 하는 목적은 무엇입니까? - 매우 현명한 결정이며 Java가 완전히 지배하는 이유 중 하나입니다. - 이 접근 방식 덕분에 Java 프로그램은 컴퓨터, 전화, ATM, 토스터기, 은행 카드(!) 등 거의 모든 장치에서 실행될 수 있습니다.
- 우와! - 이 방식은 장점이 많습니다. 그렇기 때문에 모든 Android 프로그램도 Java로 작성됩니다. 모바일 부문의 발전으로 인해 Java는 다음 영역에서 지배적인 위치를 차지합니다. 1)
엔터프라이즈 : 은행, 기업, 투자 펀드 등을 위한 무거운 서버 측 애플리케이션 안드로이드 덕분에. 3)
웹: PHP가 이 분야를 주도하고 있지만 Java도 시장의 큰 부분을 차지하고 있습니다. 4)
빅 데이터: 수천 대의 서버로 구성된 클러스터의 분산 컴퓨팅. 5)
스마트 장치:인터넷 액세스가 가능한 스마트 홈, 전자 제품 또는 냉장고용 프로그램. - Java는 단순한 언어가 아니라 전체 시스템, 프로그램에서 사용할 수 있는 수백만 개의 미리 만들어진 모듈입니다. 수천 개의 인터넷 커뮤니티 및 포럼에서 도움이나 조언을 요청할 수 있습니다. - Java로 프로그래밍을 하면 할수록 «왜 Java인가?»라는 질문에 대한 답을 더 많이 찾을 수 있습니다. 오늘은 여기까지입니다.
- 감사합니다, 교수님. 가장 재미있고 감동적인 강의였습니다.
5 김을 만나다
와우, 또 다른 인간 여성. 하지만 이번에는 흑발. 얼마나 흥미 진진한! - 안녕하세요, 제 이름은 김리링입니다.
- 안녕하세요 아미고입니다. - 알아요. 당신의 이름을 생각해 낸 것은 나였습니다. 디에고에게는 그런 일이 일어나지 않았을 것입니다. 간단한 프리젠테이션으로 강의를 시작하겠습니다. 이제 화면에 주목하십시오!
![이전 레벨 00 - 36]()
- 죄송합니다. 잘못된 플래시 드라이브입니다. 잠깐만요... 아미고의 생각은 전자의 속도로 그의 마음을 맴돌았습니다. 에헴… 그녀는 로봇에 대한 애착이 있습니까? 얼마나 흥미 진진한! 그리고 탁자 위의 사진 – 그녀의 남자 친구입니까? -강의로 돌아가자! 간단한 단어로 모든 것을 설명하겠습니다.
- 좋아요. - 교수님과 리샤가 한 말에 몇 마디 덧붙이고 싶다. - Java에서는 명령을 작성할 수 있을 뿐만 아니라 코드에 직접 주석을 달 수도 있습니다. 이러한 주석은 전혀 없는 것처럼 컴파일러에서 무시됩니다.
프로그램이 실행될 때 모든 주석은 건너뜁니다! - 예를 들어 주시겠습니까? - 확실히:
![이전 레벨 00 - 37]()
- 클래스 코드에서 우리의 설명은 «Now we display...»였습니다. 주석은 «/*» 문자로 시작하여 «*/»로 끝납니다.
프로그램이 컴파일될 때 컴파일러는 /*와 */ 사이의 모든 문자를 생략합니다. 그래서 거기에 무엇이든 쓸 수 있습니까? - 네. 일반적으로 코드 부분에 대한 다양한 의견이 있는데, 이는 의심스럽거나 이해하기 어렵습니다. 메서드 작업의 세부 사항을 설명하는 수십 줄의 주석(일반적으로 메서드 앞에 작성됨)이 있습니다. - 코드에 주석을 설정하는 또 다른 방법은 «//» 문자를 사용하는 것입니다.
![이전 레벨 00 - 38]()
- 그렇게 함으로써 주석은 // 문자로 시작하여 그들이 위치한
줄 끝까지의 코드 부분입니다 . 따라서 주석을 "닫는" 문자가 없습니다. - 그건 그렇고, 소프트웨어 개발자는 유머 감각이 뛰어나고 코드에서 다음과 같은 흥미로운 의견을 찾을 수 있습니다.
// I am not responsible of this code.
// They made me write it, against my will.
//Dear future me. Please forgive me.
//I can't even begin to express how sorry I am.
// I am not sure if we need this, but too scared to delete.
// hack for IE browser (assuming that IE is a browser)
// This isn't the right way to deal with this, but today is my last day, Ron
// just spilled coffee on my desk, and I'm hungry, so this will have to do...
// Catching exceptions is for communists
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
// When I wrote this, only God and I understood what I was doing
// Now, God only knows
// sometimes I believe compiler ignores all my comments
// I dedicate all this code, all my work, to my wife, Darlene, who will
// have to support me and our three children and the dog once it gets
// released into the public.
// drunk, fix later
// Magic. Do not touch.
- 네, 댓글이 가끔 너무 웃겨요. - 끝났어.
- 짧지만 흥미로운 강의. 고마워, 김.
6 훌리오와의 만남
![이전 레벨 00 - 39]()
- 안녕, 아미고. 저는 훌리오 시에스타입니다. - 오늘 힘든 일을 하셨군요. - 알찬 휴식은 어떠세요?
- 강의를 해야 하지 않나? - 응. 하지만 수업은 재미있어야 한다는 걸 잊으셨나요? 지난번에 확인해보니 따분한 선생님들에게 타격감에 관한 법률이 있었습니다! - 이것은 특별 비디오 자습서입니다... 어... 학습에 대한 열정을 유지하고... 요컨대, 한 번 살펴보고 나중에 질문을 치워두겠습니다. 전원을 켜십시오!
7 디에고와의 만남
![이전 레벨 00 - 40]()
- 안녕하세요, 제 이름은 Diego Carleone입니다. 나도 너처럼 쿠바 하바나 공장에서만 만들어진 로봇이야.
- 안녕, 디에고! 나는 이미 당신에 대해 많이 들었습니다. - 수업은 어떠세요?
- 이것은 내가 가진 가장 멋진 프로그래밍 수업입니다. 아니, 더 대단해. 내 인생 최고의 강의. 내가 상상했던 것보다 낫습니다. - 그게 우리가 사는 이유입니다.
- 나머지는 모두 똑같이 흥미로울까요? - 더 좋아! 지루한 교훈은 21세기에 남겨졌다. 세상에-칠판에 분필로 쓰는 것.
15세기 이후로 변한 것은 없습니다. 자유롭게 걷는 공룡이 있었던 것 같아요.
- 그런 것 같아요. 다음은 무엇입니까? - 당신은 다음 단계로 이동합니다! 39개만 완료하면 훌륭한 Java 개발자가 될 수 있습니다!
오늘 배운 내용:
- 변수는 무엇입니까
- 화면에 메시지를 표시하는 방법
- int 및 String 유형 에 익숙해졌습니다.
- Java 컴파일과 다른 언어 컴파일의 차이점은 무엇입니까
- 댓글 작성 방법 및 댓글이 필요한 이유
- 우와! - 물론, 다음 레벨은 이것만큼 쉽지는 않겠지만, 그 복잡성과 실제적인 문제가 조금씩 커질 것입니다. - 헬스장에서처럼 짐을 조금씩 들어 올리고 6개월 후에는 100kg 바를 이용하여 가슴 운동을 합니다.
- 멋지다, 나는 이미 술집과 일을 모두 원한다! - 글쎄, 당신이 그런 스티커라면 여기에 몇 가지 작업이 더 있습니다. - 디에고 삼촌이 진짜 스태프를 가르쳐 줄 거예요! 로보 병아리를 집는 것은 어떻습니까? 당신이 작더라도 이러한 삶의 기술은 결코 중복되지 않습니다.
상태 |
1 |
Java를 가져오고 싶습니까?
«Want to grab some Java?»를 표시하는 프로그램을 작성하십시오. |
2 |
당신이 당신의 소스 코드를 보여주면
내 소스 코드를 보여드리겠습니다. |
삼 |
나이스 볼트가 나사를 풀고 싶어?
«Nice Bolts wanna screw?»를 표시하는 프로그램을 작성하십시오. |
GO TO FULL VERSION