No8. Android/Java (実践編)

第8回の配信ではJavaを用いたプログラミングをお届けします!

No8. Android/Java(実践編)

第8回の配信ではJavaを用いたプログラミングをお届けします!

1.はじめに

Javaはアプリ開発やゲーム開発、また機械を動かすことのできる汎用性の高い言語です。
ここでは、Javaを実際に書いて動かしてみて言語の特徴に触れていきたいと思います!

1.はじめに

Javaはアプリ開発やゲーム開発、また機械を動かすことのできる汎用性の高い言語です。

ここでは、Javaを実際に書いて動かしてみて言語の特徴に触れていきたいと思います!

2.無料で体験しよう!

ここではJavaを用いたコーディングを行っていきましょう!5STEPで条件分岐ができる所までが目標になります。

今回はスマホでもJavaを体験できるので頑張っていきましょう!

2.無料で体験しよう!

ここではJavaを用いたコーディングを行っていきましょう!5STEPで条件分岐ができる所までが目標になります。

今回はスマホでもJavaを体験できるので頑張っていきましょう!

STEP1:環境

Javaはローカルで使う場合は環境構築が必要ですが、今回は簡単のためブラウザで動く「paiza io」というサービスを使用します。

以下のリンクを開いてください!

https://paiza.io/ja/projects/new

開いたら左上の緑の枠をクリックし、言語選択でJavaを選択してください!

既に何かが記述されています。これで準備完了です!

STEP1:環境構築

Javaはローカルで使う場合は環境構築が必要ですが、今回は簡単のためブラウザで動く「paiza io」というサービスを使用します。

以下のリンクを開いてください!

https://paiza.io/ja/projects/new

開いたら左上の緑の枠をクリックし、言語選択でJavaを選択してください!

既に何かが記述されています。これで準備完了です!

Javaは複雑な言語です。まずはどこに何を書くか軽く確認しておくことで学びやすくなります。

先ほどJavaを選択したときに既に以下のようにコードが記述されていました。

Copy to Clipboard

既に呪文…ですが、何も心配はありません。

ここではJavaでコードを記述する際に最低限、必要な文と理解しておけばOKです!

さあ、Javaのコーディングを始めましょう!!!

Javaは複雑な言語です。まずはどこに何を書くか軽く確認しておくことで学びやすくなります。

先ほどJavaを選択したときに既に以下のようにコードが記述されていました。

Copy to Clipboard

既に呪文…ですが何も心配はありません。

ここではJavaでコードを記述する際に最低限、必要な文と理解しておけばOKです!

さあ、Javaのコーディングを始めましょう!!!

STEP2:変数について理解しよう!

実際にコードを書く前に変数について知っておくとこの後の記事がとても理解しやすくなるため、解説します。

変数とは文字や数字を入れる入れ物捉えてください。

まず入れ物を用意する処理(宣言と言います)を書いてみましょう。ここで紹介する入れ物の種類は2種類です。

Copy to Clipboard

Javaはnumという変数を用意するときに「numに何を入れるか」はっきりと記述する言語です。今回はnumに入れるのは-5や7といった整数(integer)なので、intとつけることで変数numは整数を入れることができるようになります。変数strに文字列を入れたいときはStringを使いましょう!

STEP2:変数について理解しよう!

実際にコードを書く前に変数について知っておくとこの後の記事がとても理解しやすくなるため、解説します。

変数とは文字や数字を入れる入れ物と捉えてください。まず入れ物を用意する処理(宣言と言います)を書いてみましょう。ここで紹介する入れ物の種類は2種類です。

Copy to Clipboard

Javaはnumという変数を用意するときに「numに何を入れるか」はっきりと記述する言語です。今回はnumに入れるのは-5や7といった整数(integer)なので、intとつけることで変数numは整数を入れることができるようになります。変数strに文字列を入れたいときはStringを使いましょう!

変数が宣言できたので早速使ってみましょう!

変数に何か値を入れてみたいときは以下のように記述します。

Copy to Clipboard

簡単に=で代入するだけでOKです!

変数に代入したいものが文字であれば””でくくれば大丈夫です。

ただ、変数の宣言をしてからでないとPCの側は「numってなんだ??」となりバグを吐くので宣言をしっかりするということに注意が必要です。またintで宣言したnumに文字である”はち”を代入すると「宣言したものと違うぞ」とエラーが出るので気を付けましょう!

変数が宣言できたので早速使ってみましょう!

変数に何か値を入れてみたいときは以下のように記述します。

Copy to Clipboard

簡単に=で代入するだけでOKです!

変数に代入したいものが文字であれば””でくくれば大丈夫です。

ただ、変数の宣言をしてからでないとPCの側は「numってなんだ??」となりバグを吐くので宣言をしっかりするということに注意が必要です。またintで宣言したnumに文字である”はち”を代入すると「宣言したものと違うぞ」とエラーが出るので気を付けましょう!

では最後に変数を使って計算してみましょう!aとbに21と4を入れて計算した結果をcに入れるという形で行きます!

Copy to Clipboard

おおよそこの5つの計算ができれば最初はOKです!

人間なら分かることを機械はすんなり理解できないので丁寧に記述してあげる必要があるということを理解できたらプログラマーとしての第一歩と言えるでしょう!

変数と計算を理解できたら次は実際に「paiza io」でコードを書いていきましょう!

では最後に変数を使って計算してみましょう!aとbに21と4を入れて計算した結果をcに入れるという形で行きます!

Copy to Clipboard

おおよそこの5つの計算ができれば最初はOKです!

人間なら分かることを機械はすんなり理解できないので丁寧に記述してあげる必要があるということを理解できたらプログラマーとしての第一歩と言えるでしょう!

変数と計算を理解できたら次は実際に「paiza io」でコードを書いていきましょう!

STEP3:画面への出力

ここでは文字や数字を画面に出力してみましょう!

まずは「Hello Java!」を出力することを考えます。「//your code here!」の下に、以下のように書いてみましょう。

Copy to Clipboard

「ln」は「Line」の略なので、「System.out.println」は「システム・アウト・プリントライン」と読みます。出力したい文字を” “でくくって()の中に書くと、最後に改行されて出力されるというものです。

では画面下の[実行]ボタンで実行してみましょう!以下のような画面になれば成功です!

実行結果

Copy to Clipboard

“Hello Java”が表示されました。とりあえず文字列の表示は成功です!

STEP3:画面への

ここでは文字や数字を画面に出力してみましょう!

まずは「Hello Java!」を出力することを考えます。「//your code here!」の下に、以下のように書いてみましょう。

Copy to Clipboard

「ln」は「Line」の略なので、「System.out.println」は「システム・アウト・プリントライン」と読みます。出力したい文字を” “でくくって()の中に書くと、最後に改行されて出力されるというものです。

では画面下の[実行]ボタンで実行してみましょう!以下のような画面になれば成功です!

実行結果

Copy to Clipboard

“Hello Java”が表示されました。とりあえず文字列の表示は成功です!

次に変数を用いることで文字列だけではなく数字も出力してみましょう!

ここでは3×5を計算し出力するプログラムを書く事を考えます。以下のコードを「//your code here!」の下に書いて実行してみましょう!

Copy to Clipboard

実行結果

Copy to Clipboard

順番に解説していくと、

1行目:int型の変数numを用意しています。

2行目:numという入れ物に3×5という値を入れている処理です。

3行目:numという変数を()内に書く事で変数内部の数字を出力するものになります。

これにより数字を出力することができるようになりました!

次に変数を用いることで、文字列だけではなく数字も出力してみましょう!

ここでは3×5を計算し出力するプログラムを書く事を考えます。以下のコードを「//your code here!」の下に書いて実行してみましょう!

Copy to Clipboard

実行結果

Copy to Clipboard

順番に解説していくと、

1行目:int型の変数numを用意しています。

2行目:numという入れ物に3×5という値を入れている処理です。

3行目:numという変数を()内に書く事で変数内部の数字を出力するものになります。

これにより数字を出力することができるようになりました!

では、合わせ技と行きましょう。文字列と数字を両方同時に出力する方法についてご紹介します!

文字を合わせる際は以下のように書きましょう!

Copy to Clipboard

実行結果

Copy to Clipboard

Javaでは「“”で囲った文字列」と「変数」を足し算することで数字と文字列を順番に出力することができます。とてもシンプルな合わせ技となっています。

これで文字列と変数を自由に扱うことができるようになりました!

では、合わせ技と行きましょう。文字列と数字を両方同時に出力する方法についてご紹介します!

文字を合わせる際は以下のように書きましょう!

Copy to Clipboard

実行結果

Copy to Clipboard

Javaでは「“”で囲った文字列」と「変数」を足し算することで数字と文字列を順番に出力することができます。とてもシンプルな合わせ技となっています。

これで文字列と変数を自由に扱うことができるようになりました!

STEP4:画面からの入

画面への出力はできるようになりました!

しかし、こちらから文字や数値を入力してプログラムを実行したい!という場面が多々あるので、ここでは画面から文字や数字を入力することを考えましょう!

少し長いですが以下のコードを写してみましょう!

Copy to Clipboard

ここで実行する前に画面下の入力をクリックし、試しに「イチノヤ」といれて実行ボタンを押して実行してみましょう。

実行結果

Copy to Clipboard

入力した文字を表示することができました!

STEP4:画面への入力

画面への出力はできるようになりました!

しかし、こちらから文字や数値を入力してプログラムを実行したい!という場面が多々あるので、ここでは画面から文字や数字を入力することを考えましょう!

少し長いですが以下のコードを写してみましょう!

Copy to Clipboard

ここで実行する前に画面下の入力をクリックし、試しに「イチノヤ」といれて実行ボタンを押して実行してみましょう。

実行結果

Copy to Clipboard

入力した文字を表示することができました!

コードの詳しい解説をします。2行目にあった

Copy to Clipboard

は入力を使うために必要な処理のかたまりを呼び出すよという意味です。

この後紹介する2つの処理はこれを呼びだすことで初めて使えるようになります。

文字を入力するための2つの処理は以下のように記述されています。

Copy to Clipboard

詳しい説明をすると難しいのですが、この2行でstrという変数の中に文字列を入れることができると覚えておくと使いやすいです!

実はこの2行は少し書き換えると数字を画面から入力することもできます。数字を入力したいときは以下のように書き換えてみましょう!

Copy to Clipboard

基本的に変化しているのは下の1行です。文字を格納するString型の代わりに、整数を格納するint型にして変数numを宣言している他、next()をnextInt()とすることで数字の入力もできるようになります。

数字が入力できればプログラムで計算して結果を表示するということもできそうですね!

コードの詳しい解説をします。2行目にあった

Copy to Clipboard

は入力を使うために必要な処理のかたまりを呼び出すよという意味です。この後紹介する2つの処理はこれを呼びだすことで初めて使えるようになります。

文字を入力するための2つの処理は以下のように記述されています。

Copy to Clipboard

詳しい説明をすると難しいのですが、この2行でstrという変数の中に文字列を入れることができると覚えておくと使いやすいです!

実はこの2行は少し書き換えると数字を画面から入力することもできます。数字を入力したいときは以下のように書き換えてみましょう!

Copy to Clipboard

基本的に変化しているのは下の1行です。文字を格納するString型の代わりに、整数を格納するint型にして変数numを宣言している他、next()をnextInt()とすることで数字の入力もできるようになります。

数字が入力できればプログラムで計算して結果を表示するということもできそうですね!

他の言語では画面からの入力は1行で記述できることが多いのですが、Javaは画面からの入力を行うのに3行も書かなくてはいけないのでやはり大変さが実感できます。

しかし、この記事ではJava特有の難しさが現れているのはココのみなので安心してほしいです!

他の言語では画面からの入力は1行で記述できることが多いのですが、Javaは画面からの入力を行うのに3行も書かなくてはいけないのでやはり大変さが実感できます。

しかし、この記事ではJava特有の難しさが現れているのはココのみなので安心してほしいです!

STEP5:条件分岐

ゲームなどは「〇〇の時に××が実行される」という処理の繰り返しになっていると捉えることができます。特定の条件で処理を動作させたいというときに使うのがここで紹介するif文です。

if文が扱えるようになると急激にゲームっぽくなるのでとても楽しいところです!

まずはif文の文法を確認してみましょう。基本的にif文は()内の条件に従うとき、{}内の処理を実行するものとなっています。

Copy to Clipboard

ここではif文、else if文、else文の3つを紹介していますが、すべてを同時に使わなければならないということはありません。if文は単体でも使いますし、if文とelse文のみというものも存在します。

では、「//your code here!」の下に、以下のように書いてみましょう。ゲームを意識して受けたダメージの大きさで条件分岐させて文字という形でエフェクトを表示させるというコードです。

Copy to Clipboard

実行結果

Copy to Clipboard

if文の()内に記述されている条件「hit > 80」は「hitが80以上」という条件になります。ですからhitに90が入っていると「hitが80以上」という条件に当てはまり、”大ダメージ!!!”と出力されるという実行結果が出ました。

変数hitに格納する数をいろいろ変えてみて実行すると結果も変わり、面白いと思います!

STEP4で扱った「数字の入力」を使って変数を変えてみるのもいいかもしれません。

STEP5:条件分岐

ゲームなどは「〇〇の時に××が実行される」という処理の繰り返しになっていると捉えることができます。特定の条件で処理を動作させたいというときに使うのがここで紹介するif文です。

if文が扱えるようになると急激にゲームっぽくなるのでとても楽しいところです!

まずはif文の文法を確認してみましょう。基本的にif文は()内の条件に従うとき、{}内の処理を実行するものとなっています。

Copy to Clipboard

ここではif文、else if文、else文の3つを紹介していますが、すべてを同時に使わなければならないということはありません。if文は単体でも使いますし、if文とelse文のみというものも存在します。

では、「//your code here!」の下に、以下のように書いてみましょう。ゲームを意識して受けたダメージの大きさで条件分岐させて文字という形でエフェクトを表示させるというコードです。

Copy to Clipboard

実行結果

Copy to Clipboard

if文の()内に記述されている条件「hit > 80」は「hitが80以上」という条件になります。ですからhitに90が入っていると「hitが80以上」という条件に当てはまり、”大ダメージ!!!” と出力されるという実行結果が出ました。

変数hitに格納する数をいろいろ変えてみて実行すると結果も変わり、面白いと思います!

STEP4で扱った「数字の入力」を使って変数を変えてみるのもいいかもしれません。

if文に使う条件文は他にも様々な種類があり、条件式論理演算子というものを覚えればより複雑な条件を扱えます。この2つは実は前回の記事のRubyと同じものが使えます。

Rubyの記事の「STEP4条件分岐」を参照するとわかりやすいです!

https://ichinoyallc.jp/2021/02/23/hulu_ruby/

if文に使う条件文は他にも様々な種類があり、条件式と論理演算子というものを覚えればより複雑な条件を扱えます。この2つは実は前回の記事のRubyと同じものが使えます。

Rubyの記事の「STEP4条件分岐」を参照するとわかりやすいです!

問題

ここでは自分で考えて作ってもらうところになります。乱数の利用にあたっては[ヒント1]を参照してください!

ここでは敢えてRubyの記事と同じ問題にしました。比較的簡単に記述できるRubyと比較することでよりJavaの言語の癖が実感できると思います!

問題「乱数を利用しPCとじゃんけんをするプログラムを作る」

ここでは自分で考えて作ってもらうところになります。乱数の利用にあたっては[ヒント1]を参照してください!

ここでは敢えてRubyの記事と同じ問題にしました。比較的簡単に記述できるRubyと比較することでよりJavaの言語の癖が実感できると思います!

問題「乱数を利用しPCとじゃんけんをするプログラムを作る」

[ヒント1]

とはランダムに数字を出力するものです。以下に使用例を示します!

Copy to Clipboard

実行結果は0、1、2、3、4の5つの数字のうちどれかが出力されます。5つの数字のうちどれかを表示したいので()内は5にしています。

PCとじゃんけんするには3つの手のうちどれかの手をランダムでPCに出してもらう必要があります。

これがヒントです!

[ヒント1]

乱数とはランダムに数字を出力するものです。以下に使用例を示します!

Copy to Clipboard

実行結果は0、1、2、3、4の5つの数字のうちどれかが出力されます。5つの数字のうちどれかを表示したいので()内は5にしています。

PCとじゃんけんするには3つの手のうちどれかの手をランダムでPCに出してもらう必要があります。

これがヒントです

[ヒント2]

STEP5で少し触れた条件式論理演算子を使ってみよう!

こちらの手はグーを0、チョキを1、パーを2という数字としてこちらから入力し取得、PCの手もグーを0、チョキを1、パーを2とし乱数で数字として取得します。

「こちらの手 ==0 かつ PCの手==1」という条件で「勝ち」というように場合分けして、表示することを考えてみましょう!(勝ちの条件は3種類あります)

あいこの条件、勝ちの条件を考え、それ以外を負けと判断して骨格を組むと書きやすいと思います。

[ヒント2]

STEP5で少し触れた条件式論理演算子を使ってみよう!

こちらの手はグーを0、チョキを1、パーを2という数字としてこちらから入力し取得、PCの手もグーを0、チョキを1、パーを2とし乱数で数字として取得します。

「こちらの手 ==0 かつ PCの手==1」という条件で「勝ち」というように場合分けして、表示することを考えてみましょう!(勝ちの条件は3種類あります)

あいこの条件、勝ちの条件を考え、それ以外を負けと判断して骨格を組むと書きやすいと思います。

解答

以下のpdfファイルに問題及びサンプルの解答例を載せておきます!

解答

以下のpdfファイルに問題及びサンプルの解答例を載せておきます!

解答pdf
解答pdf

今回、「Java」について紹介していきました。ここで紹介しているのはごく一部です。

もう少し踏み込んで、繰り返し文と配列を勉強すると簡単なフィールドが作れるようになり、ゲームの幅が大きく広がるので、興味の湧いた人は調べてみるといいかもしれません!

今回、「Java」について紹介していきました。ここで紹介しているのはごく一部です。

もう少し踏み込んで、繰り返し文と配列を勉強すると簡単なフィールドが作れるようになり、ゲームの幅が大きく広がるので、興味の湧いた人は調べてみるといいかもしれません!

以上、第8回「Java」でした!!

次回はゲーム作成でよく使われる「C#」をご紹介します!おたのしみに!!!

皆さんが開発してみたい作品などございましたら、LINE@にてお問い合わせください。どの言語を利用したらよいのかを、返信してお答えいたします。

以上、第8回「Java」でした!!

次回はゲーム作成でよく使われる「C#」をご紹介します!おたのしみに!!!

皆さんが開発してみたい作品などございましたら、LINE@にてお問い合わせください。どの言語を利用したらよいのかを、返信してお答えいたします。