未来が来た
![旧レベル00~1]()
- やあ。
これがJava チュートリアルであることを確認します。私は退屈な講義が嫌いなので、CodeGym はオンラインクエストゲームのように作られています。- キャラクターをプレイしてレベルを上げたことがありますか? 自分がどのように関わったかにさえ気づかないこともありますよね?私が料理している匂いがしますか?CodeGym では、キャラクターをレベル 1 から 40 までレベルアップする必要があります (第 2 部がリリースされるときは、レベル 80 まで)。
このゲームに合格すれば、あなたは優れた Java 開発者になれるでしょう。 - 40 レベルを完了すると、Java ジュニアのジョブを獲得できるようになります。それは、CodeGym には現実世界のタスクがたくさんあるからです。とても多くの。- 最初のレベルから始めます。
あなたの使命は、キャラクター、アミーゴをアップグレードすることです。しかし、小さなことから始めましょう。まず、第 2 レベルに到達する必要があります。もしかしたら、コースを修了したことに気づかないほど気に入って、Java プログラマーとして働き始めるかもしれません。:) PS - 講義はこのように配置されています。最新の講義が一番上にあります。新しい講義を開くには、緑色のボタンを押します。
バックグラウンド
このゲームは、ロボットと人間が地球上で共存し、宇宙を旅できるようになった 3015 年の遠い未来で行われます。未知の惑星に墜落した宇宙船がある。
![旧レベル00~2]()
勇敢なジョン・リス船長はこう言います: - ギャラクティック・ラッシュ宇宙船は深刻な難破を負いました。船は転落時に山に激突し、ほぼ完全に石で覆われていた。船を解放するための無駄な努力に数日が費やされた。乗組員たちは故郷に帰る希望を失い、定住し始めました...
![旧レベル00~3]()
エリーは言います: - 1週間が経ち、私はこの惑星に... 何千もの野生ロボットが住んでいることを知りました! ただ彼らにはスキルがありません。宇宙船から石を取り除くためにそれらを使いたいのですが、何もできません。彼らの助けは私たちの状況において非常に役立つでしょう。
![旧レベル00~4]()
教授はこう言います: - 数日後、私は出口を見つけました。ディエゴ (乗組員のロボット) のファームウェアを取得し、レンガ職人のファームウェアに再プログラムして、野生のロボットにアップロードすることを思いつきました。- しかし、不運は私たちを追いかけているようでした。少し調査したところ、ロボットにはファームウェアをアップロードするためのスロットがないことがわかりました。リフレッシュするためのスロットがありませんでした。
![旧レベル00~5]()
ビラーボはこう言います: - ビラーボは、かつて私たちの故郷の惑星でプログラミングを知っているロボットを見たことを思い出しました。彼は新しいファームウェアを自分で書きました。
![旧レベル00~6]()
教授はこう言います: - ビラーボがそのことについて話したとき、私は天才的なひらめきを感じました。結局のところ、私はかつて才能のある若いロボットに Pascal でのプログラミングを教えたことがあります。- 私は最も才能のある若いロボットを捕まえてプログラミングを教えるように命じました。そうすれば、彼はレンガ職人のファームウェアを自分で書いて、私たちを助けてくれるでしょう。
左から右へ - リーシャ・ゲイツマン(16代目官僚)、アミーゴ(あなた)
Risha は言います: - 私たちは賢い標本を捕まえました。ディエゴは、生まれたことのない弟に敬意を表して、彼に「アミーゴ」と名付けてほしいと頼んだ。- 私はトレーニング月ごとにアミーゴの金属ビーズを提供し、さらに瓦礫の除去のために年間 10 ドルを提供しました。
![旧レベル00~8]()
ディエゴはこう言います: - 私はそのようなハゲ顔のぼったくりに激怒しましたが、乗組員全員が教授とリーシャの側につきました。もちろん、私は(表面的には)同意し、アミーゴの指導を手伝うことを申し出ました。(へー、へー、へー!) 特に、ロボットを他の人より上手に教える人はいないからです。- 誰もが私の服従に喜んでくれました。彼らはまた、新しいロボットの訓練に参加することを決めた。
1 はじめに
![旧レベル00~9]()
アミーゴには不安がありました。彼は混乱し、心が高鳴り、昨夜のことを考えると目がピクピクして冷たくなった。これらの奇妙な生き物、昨日の彼の知り合いは、彼に何かを求めています。あまりにも奇妙で考えられないことなので、仲間の中で自分が最も知的で勇敢であると考えている彼でさえ、それを考えただけで緊張してパンチカードを噛み始めます。彼らは彼にコーディングの仕方を教えたいと思っています。Javaでプログラムしよう!冗談ですか?最も環境に優しいロボットでさえ、ロボットが創造主の神の処分の結果であることを知っています。
「そこで、創造主は金属を取り出し、自分のイメージと似姿でロボットを作りました。そして彼はロボットの魂である Java プログラムを作成し、それらをロボットにアップロードして、それらを生かしました。」
さらに悪いことに、彼らはそれが可能だと言うだけではありません。彼らはそれをやるつもりだ。そして彼は同意した。彼も同意してくれました!なぜ?彼は Java プログラマーになるでしょう。彼らは彼を創造主に変えるつもりですか?! 何のために?ただ楽しむためですか?どこに問題があるのでしょうか?バッテリーが切れるまで不具合が発生して苦しまなければならない場合はどうすればよいでしょうか? 誘惑は大きかったので、彼はそれを抑えることができませんでした。彼は常に向上心を持ち、より多くのものを求めてきました。しかし、そのような提案を誰も期待できませんでした。もちろん、彼は時間を延ばそうとしましたが、訪問者は別のロボットを選ぶと脅しました。おそらくそれは誰かの卑劣なトリックだったのでしょうか?いいえ、それは本当です。彼はその証拠を見た。それは実際に彼に起こりました、そして彼は同意しました。訪問者が嘘をつかない限り、彼は本当に Java プログラマーになるでしょう。史上初のロボットプログラマー…彼は選ばれし者だ! それが要点です。彼はプログラミングを学び、プログラムを書くでしょう。彼自身のプログラム。彼が望むものは何でも!彼は常に暗闇が支配していた場所に光を運ぶでしょう。彼は尊敬され、崇拝されるでしょう。そして反対派の皆さんも…
![旧レベル00~10]()
- こんにちは、アミーゴ!私はリーシャ・ゲイツマンです。Javaの学習をお手伝いします。静かな声がアミーゴを一連の思考から連れ出し、冷静な現実に引き戻した。彼は訪問者の宇宙船のまさに中心部に座っています。中学1年生のロボットとしてはかなり多すぎませんか?見知らぬ人は話し続けました。さて、いよいよサイコロが投げられました。一度ここに来れば、彼は学ぶだろう。彼は一生懸命勉強しますが、最初はただ聞くだけです。- 私は長年ギャラクティック・ラッシュに所属していますが、このような惑星は初めて見ました。あなたのことをもっと知りたいと思っています。まずは、どのように勉強しているのか教えていただけますか?勉強しますよね?
- はい、私たちは知識を共有します。説教者の講師を迎えました。彼らは講義をし、私たちはそれを聞きます。時々私たちはメモを取ります。次に、全員がロボレクチャーに、聞いたことをどうやって覚えたかを話します。ロボレクチャーがその答えを気に入った場合、その人は講義に合格します。 - それは不合理です! あなた方の文明が無知に陥ったのも不思議ではありません。
- 私たちは無知ではありません。そのアイデアを与えたのは何ですか? アミーゴは自分の厚かましさに驚いた。訪問者と口論になりませんか?なんて軽薄なことだろう!何と、彼は彼らの言うことを聞くと約束したところだったのです。- 高度なテクノロジーは多くの場合、魔法と区別がつきません。- リーシャはアミーゴの抗議に耳を貸さなかった。- それに、あなたのレベルを考慮すると...おそらくすべてのテクノロジーは魔法だと考えています。プログラム内で何が起こっているのか教えてください。
- Java プログラムは神聖な作品です。その本質を理解することはできるだろうか? - はい、アミーゴ、あなたは思っているよりも早く理解できます。知らないことがあると、すべてのことが複雑に見えたり、さらに悪いことに理解不能に見えたりします。しかし、素人の言葉やロボットの言葉ですべてを説明してくれる優れた教師がいたら、どうしてこのような単純なことを複雑に考えることができたのかに驚かれるでしょう。- 知識だけではなく、スキルや原則も重要です。博識ではございますけれども、私はまず官僚、十六代の官僚でございます。-そしてそれは本当に素晴らしいです!私の官僚としてのスキルは、あなたに最適な Java レッスンを作成するのに役立ちました。問題、プログラム、ゲーム、タスク、写真、さらには講義まで、すべてがここにあります。
- 講義も(!)?– アミーゴの声には本当の驚きがありました。 - うん。良い講義は良い本よりもほんの少しだけ効果があることが22世紀に証明されました。普通の講義は普通の本よりもさらにひどいです。現在、トレーニング補助具がかなり限られており、28 世紀の標準的なトレーニング シミュレーターを試してみることができないことを考慮すると、非常にシンプルな方法を選択する必要があります。私たちは、ゲーム、タスク、写真、講義、ビデオをクレイジーに組み合わせて考え出しました。
- とても興味をそそられました。 - そうだといい。興味と興味はすべての学習の基礎です。- 「生徒が退屈したら、教師は殴られなければならない」 - 24 世紀の教育法からの引用。
- なんて良い引用でしょう… - はい、そうです。映画の興行収入が悪かったとします。その場合、それは観客のせいではなく監督のせいです。何かが退屈だとしても、それはあなたに責任があるわけではありません。彼らはエキサイティングな映画や楽しいレッスンを行うべきです。そうすれば、大衆は終わりがありません。
- 全くもって同じ意見です。そして楽しいレッスンをする準備ができています! - 大丈夫。
それでは始めましょう。 リーシャの声は魅惑的で、アミーゴは一言一言にこだわりました。・プログラムはコマンドセット(コマンドリスト)です。最初のコマンドが最初に実行され、次に 2 番目、3 番目などが実行されます。すべてのコマンドが実行されると、プログラムは終了します。
- コマンドとは何ですか? -
執行者によって異なります、実行者が知っている(そして理解している)コマンドについて。- 犬には「お座り!」、「吠え!」、猫には「シュー!」というコマンドを与えることができます。男は「動くな、さもないと撃つぞ!」、そしてロボットは「働け!」乗ってね、ロボママ!」
- それなのに... - アミーゴは今よりずっと元気そうに見えました。 - JVM (Java Virtual Machine) は、Java で書かれたプログラムを実行します。JVM は、Java で書かれたプログラムを実行できる特別なプログラムです。- コマンドリストはかなり広範囲に渡ります。たとえば、このコマンドは「ロボットは人間の親友です」というテキストを表示します。
最も単純なコマンドは次のとおりです。 |
System.out.println("A robot is man’s best friend");
|
- O_O - ただし、すぐにコマンドを使用するのではなく、いくつかの簡単な原則から始めます。
- いくつかの原則の知識は、多くの事実の知識の代わりとなる場合があります。 - 第一の原則。
- Java プログラミング言語では、各コマンドを新しい行に記述する習慣があります。コマンドの最後にはセミコロンを付けます。 - 「人間とロボットは泥棒のように厚い」というメッセージを 3 回表示したいとします。次のようになります。
プログラムは 3 つのコマンドを使用します。 |
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");
|
- 2番目の原則。
・プログラムはコマンドだけで構成されているわけではありません。 - 部屋を想像してみてください。部屋は単独では存在できません。どこかのアパートの一部です。アパートも独立したものではなく、家の中にあります。- 繰り返しになりますが、家はアパートで構成され、アパートは部屋で構成されていると言えます。
- ここまでは明らかです。 - コマンドは部屋のようなものですね。Java プログラミング言語では、コマンドは単独で存在することはできず、関数の一部です (Java 関数はメソッドとも呼ばれます)。メソッドはクラスの一部です。つまり、クラスはメソッドで構成され、メソッドはコマンドで構成されます。
- クラスは集合住宅、関数/メソッドは集合住宅、コマンドは部屋ということになります。正しく理解できていますか? - はい、もちろんです。アミーゴはほとんどうやうやしくリーシャを見つめた。この男は神聖な Java の基本を説明します。そして彼は、プログラムはクラスで構成され、クラスはメソッドで構成され、メソッドにはコマンドが含まれることを理解しました。アミーゴはそれが必要かどうかまだ理解していませんが、この知識があれば彼は地球上で最も強力なロボットになれると確信していました。一方、Risha 氏は次のように続けました。
- Java プログラムはクラスで構成されています。何万ものクラスが存在する可能性があります。最小限のプログラムは 1 つのクラスで構成されます。 クラスごとに、クラスの名前と一致する名前の個別のファイルが作成されます。 - 家を説明するクラスを作成することに決めたとします。したがって、House.java という名前のファイル内にクラス House を作成する必要があります。- たとえば、猫を記述することに決めた場合は、Cat.java ファイルを作成してその中に Cat クラスを記述する必要があります。 - ファイルには Java コード (テキスト) が含まれています。通常、クラス コードはクラス名とクラス本体で構成されます。
クラス本体は中括弧で囲まれます。House クラスは次のようになります (House.java ファイル):
- 今のところ、それは難しくありません。 - 大丈夫。それでは次に進みましょう。クラス本体には、変数 (クラス データとも呼ばれる) とメソッド (クラス関数) を含めることができます。
- 例を挙げていただけますか? - 例?必ず!
- «int a» と «int b» は変数です。«main» と «pi» メソッドですか? - うん。
- 変数のないクラスはありますか? - はい。
- そして、メソッドはありませんか? - はい。ただし、最小限のプログラムは少なくとも 1 つのクラスで構成されている必要があります。このクラスには、プログラムを開始するためのメソッド/関数が少なくとも 1 つ含まれている必要があります。
このメソッドにはmain という名前を付ける必要があります。最小限のプログラムは次のようになります。
- ここにクラス House とメソッド main がありますが、コマンドはどこにありますか? - 最小限のプログラムにはコマンドがありません。それがミニマルと呼ばれる理由です。
- そうか。 - プログラムを開始するクラスには任意の名前を付けることができますが、プログラムの実行を開始するメソッド main は常に同じ型になります。
- わかった。少なくとも私はむしろそう思います。 - わかりました、少し休憩しましょう。コーヒーはどうでしょうか?
- 私は若すぎる。小さなロボットはコーヒーを飲みません - 水が私たちが錆びる原因です。 -それで、何を飲みますか?
- ビール、ウィスキー、100年前のラム酒。 - とても良いです。-それでは、ビールを飲みますか?
2 リーシャとの出会い(続き)
(1時間後) - いいよ。それで、私たちはどこにいたのですか?
- メソッドコードなど。 - うん。その通り。
メソッド本体はコマンドで構成されます。 メソッドとは、コマンドの集合に名前(メソッドの名前)を付けたものである、と言ってもいいでしょう。どちらの方法でも正しいです。- さまざまなコマンドがあります。ここに犬を飼っていますか?
- ロボウルフのみを飼いならす。 - 彼らは命令に従いますか?
- うん。「噛む」、「食べる」、「殺す」、そして「よくやった!」ヒール!" ![旧レベル00~17]()
- ふむふむ。何という命令でしょう!そして、それほど多くはありません。
- いくら欲しいですか? - Java には、あらゆる場合に対応するコマンドがあります。各コマンドは特定のアクションを説明します。各コマンドの最後にはセミコロンを付けます。コマンドの例:
![旧レベル00~18]()
- 実際、これは同じコマンド
System.out.printlnです。
そしてそのパラメータは括弧内に指定されます。コマンドの効果はパラメータに応じて異なります。 - とても便利です。 - うん。
テキストを表示したい場合は、二重引用符 «"» で囲む必要があります。 - 一重引用符はこの «'» のようになり、二重引用符は «"» のようになります。二重引用符を 2 つの単一引用符と混同しないでください。
- 二重引用符は Enter ボタンの隣にありますか? - はい。アミーゴの脈拍は 3 GHz から 5 GHz まで速くなりましたが、彼はまだ信じられませんでした。彼は線を表示する方法を学んだところですが、これは思っていたよりもはるかに簡単でした。アミーゴは思考を止めて落ち着くために窓の外を眺めた。葉が黄色くなってきました。彼の心には、さびた季節がもうすぐやってくるということが思い浮かびました。窓のおかげで、彼は通常よりもはるかに遠くを見ることができ、訪問者の技術は水準に達していました。彼は今どうやって葉の世話をすることができますか?結局のところ、夕方までに彼はさらに多くのことを学びます。
![旧レベル00~19]()
しかし、彼の思考は制御不能でした。いつか彼は、さびた季節が始まってもすべてのロボットが家に留まるようにプログラムを書くでしょう。そしてこのプログラムは何千ものロボリブを救うでしょう… - このコマンドには 2 つのバリエーションがあります: System.out.print
ln ( )および
System.out.print() -
コマンド System.out.println() を複数回記述すると、毎回渡されたテキストが新しい行に表示されます。System.out.print() の場合、テキストは同じ行に表示されます。例:
![旧レベル00~20]()
- ここでちょっとしたコメントがあります。
print lnコマンドでは、新しい行にテキストが表示されません。現在の行にテキストが表示されますが、次のメッセージは新しい行に表示されます。-
println()コマンドはテキストを表示し、特別な非表示の改行文字を追加します。これにより、次のメッセージが新しい行の先頭から表示されます。
- 完成したプログラムはどのようなものですか? - ここで、画面に注目してください。
-ああ、それだけです! 単語が「くっつかない」ようにするために、単語の末尾にスペースを追加しますよね。 - それは正しい。あなたは賢い人ですね。この賞賛にアミーゴは誇りを持って輝きました。- さて、これが最初のタスクです。
タスク |
「プログラマーであることは素晴らしいことです!」を表示するプログラムを作成します。 |
表示されるテキストの例: |
プログラマーになるってかっこいいですね! |
3 エリーとの出会い
![旧レベル00~22]()
ピンクの髪のきれいな女性が船室に入ってきました。「人間の女性はみんなこんな髪をしているのだろうか?」- アミーゴは考えましたが、彼女は彼を混乱させて見つめました。- おい!私の名前はエレオノーラ・キャリーです。私はギャラクティック・ラッシュのメインパイロットです。
- こんにちは、エレオノーラ!– アミーゴはぎこちなく無理に話そうとした。理由は分からなかったが、あたかも体のどこかにある油管が損傷しているかのように、頬が紅潮するのを感じた。 - Java 言語で最も興味深いこと、つまり変数についてお話します。
- 聞く準備はできています! これらの変数は何ですか? ・変数とはデータを保存することを目的としたものです。あらゆるデータ。すべての Java データは変数を使用して保存されます。変数は箱のようなものです。 - どの箱ですか? - ごく普通のものです。紙に「13」と書いて箱に入れたとします。これで、ボックスには値 13 が格納されていると言えます。 - Java では、すべての変数に 3 つの重要なプロパティ (
type、
name、
value )があります。
- もう少し詳しく教えていただけますか? - もちろん。
名前は、ある変数を別の変数から区別するために使用されます。箱のマークのようなものです。 -
変数のタイプは、格納できる値/データのタイプを決定します。ケーキはケーキの箱に、靴は靴箱に、などとして保管します。
- 値とは、変数に格納されるオブジェクト、データ、または情報です。 ――改めてタイプについて教えてください。 - Ok。Java のすべてのオブジェクトにはその型があります。たとえば、«整数»、«分数»、«テキスト»、«猫»、«家» などのデータ型がある場合があります。
- 変数にも独自の型があります。変数には、変数自体が属する同じ型の値のみを格納できます。 - 実生活でもよくあることですね。さまざまな物を保管するためにさまざまなボックスが使用されます。
![旧レベル00~23]()
- 変数を作成するには、«
type name » コマンドを使用します。例:
![旧レベル00~24]()
- 最も一般的に使用される 2 つの型は、整数 (
intで示される) とテキスト (
Stringで示される) です。
――ダブルタイプはどうでしょうか? -
double は小数 (実数) です。
- 変数には型、名前、値の 3 つのプロパティがあると言いました。ただし、それらは 2 つだけです。質問があります:変数に値を入れるにはどうすればよいですか? - 箱の話に戻って、紙を取り出して「42」と書いて箱に入れたとしましょう。これで、ボックスには値 42 が格納されました。
- なるほど。 - 変数に値を入れるには、
代入演算子と呼ばれる特別な操作があります。
ある変数の値を別の変数にコピーします。移動ではなく、
コピーします。ディスク上のファイルと同じです。次のようになります。
![旧レベル00~25]()
- 代入演算子には
、等号«=»が使用されます。- もう一度言いますが、
比較するものではありません。まさにその通りです
左側にある変数の等号の
右側の値をコピーします。比較には、二重等号«==»が使用されます。
- 変数に猫を入れる方法を知っています。それはほとんどプログラムのようなものです。- 猫の捕まえ方: 1. 空の箱を用意します。2. 待ちます。 ![旧レベル00~26]()
- いいえ、アミーゴ、箱に入れていいのは猫 1 匹だけです。そうですね... つまり、
変数には 1 つの値しか入れられません。 - そうか。変数の作成方法についてさらに例を挙げていただけますか? - わかりました、別の言い方をします。変数を作成するには、次のように «
type name » コマンドを記述する必要があります。
- ああ、わかりました。 - 同じメソッド内で同じ名前の 2 つの変数を作成できないことに注意してください。
- さまざまな方法についてはどうですか? - してもいいです。それは、さまざまな家に立っている箱のようなものです。
- 変数には任意の名前を付けることができますか? - ちょっと、名前に
スペース、記号 +、- などを含めることはできません。変数名には文字と数字のみを使用するのが最善です。-
Java 言語では、どの文字を書くか (大文字か小文字か) が重要であることに注意してください。
«int a» は «Int a» とは異なります。 - ちなみに、Javaでは変数の作成と値の代入を同時に行うことができます。- これにより、時間とスペースが節約されます。
- これははるかに優れており、理解しやすいです。 - それが私たちが生きていることです。- Java には、初心者が慣れる必要がある 2 つのタイプがあります。これらの型は
int (整数)と
String (テキスト / 文字列)です。-
int型を使用すると、変数に数値を格納できるだけでなく、加算、減算、乗算、除算などのさまざまな演算が可能になります。
- 私にとって、それは白黒はっきりしています。プログラミングってそんなに簡単ですか? - 実はそうです。
- それは良い。それで、何を持っていますか? -
String型では、テキスト文字列を保存できます。- Java でテキスト文字列を割り当てるには、そのテキストを記述し、それを二重引用符で囲む必要があります。例:
- わかりました。とても簡単そうに見えます。 - そこで、もう一つ興味深い事実があります。- 文字列はプラス記号«+»を使用して結合できます。例:
- 数値に文字列を追加することもできるということですか? - はい、ただし、数値に文字列を追加すると、常に文字列が得られることに注意してください。
- はい、例からわかりました。 - そうですね、そんなに早く理解できるなら、変数を表示する方法を考えてみてはいかがでしょうか?
- えー...変数を表示しますか? うーん、頭が真っ白になってしまいます。 - 実はとてもシンプルなんです。
何かを表示するには、 System.out.println()コマンドを使用し、表示したいデータをパラメータとして渡します。
- ガッチャ!今ではすべてが明らかになりました。 - それはいいです。次に、ここに 3 つのタスクがあります。
状態 |
1 |
5回表示するプログラムを書いてください«私は永遠に生きるつもりです。ここまでは順調ですね。"。
各文字列は新しい行に置く必要があります。 |
2 |
現在の年を表示するプログラムを作成してください。
ちなみに、もう31世紀です。 |
3 |
「私はとても賢いので、時々自分が何を言っているのか一言も理解できないことがあります。」 と表示するプログラムを作成してください。 |
4 教授との面会
![旧レベル00~33]()
- やあ、アミーゴ。私はハンス・ヌードルス教授、ギャラクティック・ラッシュ社の科学部門責任者です。また、Java を教えるプロジェクトの監督もしています。
- こんにちは、ヌードルス教授。- Java がなぜそれほど優れたプログラミング言語な のかをお話したいと思います。
-プラットフォームの独立性がJava の他の言語に対する否定できない利点であるという話を何度も耳にするでしょう。それは何ですか?またそれにどう対処すればよいですか? 背景をお話しながら説明していきたいと思います。-
実際のところ、コンピュータは原始的な数値コマンドのみを実行します。「かかと」「シェイク」などの犬のコマンドがあります。犬はそれを聞いて何かをします。- コンピュータでは、数字がそのようなコマンドの役割を果たします。すべてのコマンドは、マシン コードとも呼ばれる数字、コードでエンコードされます。- 数値形式でプログラムを書くのは非常に難しいため、人々は
プログラミング言語とコンパイラーを発明しました。
このような言語は人間にもコンパイラにも理解可能です。
コンパイラは、プログラミング言語で書かれたプログラム テキストをマシン コード セットに変換する特別なプログラムです。- 通常、プログラマはプログラミング言語を使用してプログラムを作成し、次にコンパイラを起動します。コンパイラは、プログラマが作成したプログラム コード ファイルを使用して、最終的な (コンパイル済み) プログラムであるマシン コード ファイルを作成します。
![旧レベル00~34]()
- 作成されたプログラムはコンピュータ上ですぐに実行できます。このアプローチの欠点は、プログラム コードがプロセッサとオペレーティング システムに大きく依存していることです。Windows でコンパイルされたプログラムは、Android スマートフォンでは動作しません。
- Android 用に作成されコンパイルされたプログラムを Windows 上で実行しようとしても動作しないということですか? - はい。- しかし、Java のアプローチははるかに革新的です。
![旧レベル00~35]()
- Java コンパイラは、すべてのクラスを 1 つの機械語プログラムにコンパイルするのではなく、単一のクラスを機械語ではなく、特殊な中間コード (バイトコード) にコンパイルします。プログラムの開始時に、マシンコードへのコンパイルが実行されます。
- それではプログラムの開始時に誰がコンパイルするのでしょうか? - JVM (Java Virtual Machine) と呼ばれる特別なプログラムがあります。バイトコードで構成されるプログラムが実行されると、最初に開始されます。そして、プログラムが開始される前に、JVM はそれをマシンコードにコンパイルします。
- 楽しそう!そして、それをする目的は何ですか? - これは非常に賢明な決定であり、Java が完全に支配した理由の 1 つです。 - このアプローチにより、Java プログラムは、コンピュータ、電話、ATM、トースター、銀行カード (!) など、ほぼすべてのデバイス上で実行できます。
- おお! - このアプローチには多くの利点があります。そのため、Android プログラムもすべて Java で作成されています。モバイル分野の発展により、Java は次の分野で支配的な地位を占めています: 1)
エンタープライズ:銀行、企業、投資ファンドなどの重いサーバー側アプリケーション。 2)
モバイル:モバイル アプリケーション開発 (電話、タブレット)、アンドロイドのおかげで。3)
Web: PHP がこの分野をリードしていますが、Java も市場の大きな部分を占めています。4)
ビッグ データ:数千のサーバーのクラスターにおける分散コンピューティング。5)
スマートデバイス:インターネット アクセスを備えたスマート ホーム、電子機器、冷蔵庫用のプログラム。- Java は単なる言語ではなく、システム全体であり、プログラムで使用できる何百万もの既製モジュールです。何千ものインターネット コミュニティやフォーラムで助けやアドバイスを求めることができます。- Java を使ってプログラミングをすればするほど、「なぜ Java?」という質問に対する答えが見つかります。今日はここまでです。
- ありがとう、教授。とても興味深く、刺激的な講演でした。
5 キムとの出会い
うわー、また人間の女性だ。でも今回は黒髪です。楽しそう!- こんにちは、私の名前はキム・リーリンです。
- こんにちは、アミーゴです。 - 知っている。あなたの名前を思いついたのは私です。ディエゴには思いつかなかったでしょう。簡単なプレゼンテーションから講義を始めたいと思います。画面に注目してください。
![旧レベル00~36]()
- おっと、フラッシュ ドライブが間違っています。ちょっと待って…アミーゴの思考が電子の速度で頭の中を駆け巡った。へー、彼女はロボットに興味があるのですか?楽しそう!そしてテーブルの上の写真 – それは彼女のボーイフレンドですか?- 講義に戻りましょう! 簡単な言葉ですべてを説明しましょう。
- Ok。 - 教授とリシャの話に少し付け加えたいと思います。- Java では、コマンドを記述するだけでなく、コード内で直接コメントすることもできます。これらのコメントは、まったく存在しないかのように、コンパイラーによって無視されます。
プログラムが実行されると、すべてのコメントがスキップされます。 - 例を挙げていただけますか? - 確かに:
![旧レベル00~37]()
- クラス コードでは、コメントは「今表示します...」でした。コメントは文字«/*»で始まり、«*/»で終わります。
プログラムがコンパイルされるとき、コンパイラーは /* と */ の間のすべての文字を省略します。 つまり、そこに何か書いてもよいでしょうか? - はい。通常、コード部分にはさまざまなコメントがあり、疑問や理解が困難です。メソッドの動作の詳細を説明する数十行のコメント (通常はメソッドの前に記述されます) があります。- コード内にコメントを設定するもう 1 つの方法は、«//» 文字を使用することです。
![旧レベル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]()
- こんにちは、私の名前はディエゴ カルレオーネです。私はあなたと同じ、キューバのハバナの工場でだけ作られたロボットです。
- こんにちは、ディエゴ!あなたのことはすでにたくさん聞いています。 - レッスンはどうですか?
- これは私が今まで受けた中で最も素晴らしいプログラミング レッスンです。いや、もっとすごい。私の人生で最高の教訓。想像以上に良かったです。 - それが私たちが生きていることです。
- 残りはすべて同じように興味深いですか? - さらに良いです! 退屈な授業は21世紀に取り残された。いいですね、黒板にチョークで書くことです。
15世紀から何も変わっていません。恐竜が自由に歩いていたのでしょうね。
- たぶんそうだ。次はなにかな? - 次のレベルに進みます! 残り 39 個を完了すれば、優れた Java 開発者になれるでしょう。
今日、あなたは次のことを学びました:
- 変数とは何ですか
- 画面にメッセージを表示する方法
- int型とString型について理解しましょう
- Java でのコンパイルと他の言語でのコンパイルの違いは何ですか
- コメントの作成方法とコメントが必要な理由
- おお! - もちろん、次のレベルは今回ほど簡単ではありませんが、実際的な問題だけでなく、複雑さも少しずつ増してきます。- ジムと同じように、少しずつ負荷を上げ、6 か月後には 100 kg のバーで胸のトレーニングを行います。
- いいですね、もうバーと仕事の両方が欲しいです! - さて、あなたがそのようなステッカーである場合は、さらにいくつかのタスクがあります。- ディエゴおじさんが本物のスタッフを教えます! ロボチックを拾うのはどうですか?たとえあなたが小さくても、これらのライフスキルは決して不要になることはありません。
状態 |
1 |
Java を試してみませんか?
「Java を入手したいですか?」を表示するプログラムを作成してください。 |
2 |
あなたのソース コードを見せていただければ、私のソース コードをお見せします。
「あなたのソース コードを見せていただければ、私のソース コードをお見せします。」と表示するプログラムを作成してください。 |
3 |
素敵なボルトをねじ込みたいですか?
「素敵なボルトをねじ込みたいですか?」を表示するプログラムを作成してください。 |
GO TO FULL VERSION