プログラムの記述ルール~初心者向けJava解説~プログラムの構成がわからない人はこれを覚えろ
プログラムの記述ルールまとめ
コードが書けない、次書くコードのイメージがわかない人に向けてこの記事を書きました。
プログラムを勉強し始めた方は、最初どのように書き出せばいいのかイメージもわからないと悩み、壁にぶち当たるはずです。
勉強しようにも、わからないから書けないし、答えを見るしかないどころかコピペしないとろくなコードは書けないです。
しかし、どんなプログラマーもその時期を経験しているはずなんです。
ですが、そんな悩みの切り抜け方を記事にしている人が少ないと感じ、この記事を書きました。
私もついこの間まで、次何を書けばいいのか見当もつかないというレベルの初心者プログラマでしたが、ある時から一気に次に来るべきコードの想像ができるようになりました。
大前提、コードには正解はなく、システムが動けばよい、ということを忘れてはいけません。下手にこだわることは成長の妨げになるため、最初はきれいに正解を書こうと思わず、最低限のルールの中で好き勝手書いて学んだ方がよいと思います。
言ってしまえば馴れとコード書いた数で解決するものですが、早くレベルアップしたい人はこの記事でまとめたコツを是非実践してみてください。
コーディングのコツ
コードを書き始める前に一番最初に準備するものがあります。
ずばり、紙とペンです。
何に使うのかというと、あなたの作りたいものを分解し、構成要素を書きだします。具体的にどういうことか解説します。
例えば、作りたいものが以下と仮定します。
創りたいもの:占いアプリを作る
そのシステムを作るために必要な動作をプログラムチックに文章に起こしましょう。
実現したい動き:
1~10の間の整数をランダムに取得し、取得した整数が3以下なら「凶」を表示し、4以上7以下なら「吉」を表示し、8以上なら「大吉」を画面に表示する動きを実現したい。
上記の動きを実現するために、要素をもっと細かく分解していこう。

この分解の時のポイントは
①データ取得、②判定、③繰り返し、④条件、⑤どうなる
という部分を短文に分けて、書き出すことです。
これができたらもうかけたも同然です。多少覚える部分も必要ですが、分解したものを一つずつコードに変換していきましょう。
- 取得するを見たら、変数に値を代入。
- 判定するを見たら、If(xx < ○○)もしくは
for(xx < ○○)。
- 繰り返しを見たら、for(xx < ○○)もしくは
while(xx < ○○)。
- 条件を見たら、If(xx = ○○)。
- どうなるは最後にコードの中に書く。
プログラムの基本文法のおさらい
ここで、基本文法をおさらいしましょう。
英文のようにコードには書くべき順番があります。ここもプログラム初心者の大きな壁になっていますよね。
細かく言えばいろんなやり方があって、もちろん例外もあるので一概には言えませんが、次に書くべきコードを想像できるようになるためにはある程度基本を知ることが必要不可欠となります。
変数の定義
始めに、変数の定義です。プログラムはだいたい変数の定義から始まるといっても過言ではありません。
変数の定義方法は

この3ブロックになります。
今回の占いのアプリでいうとランダムな1~10の整数を変数に入れるところから始まります。
コードで書くと
|
1 2 3 4 |
//①型の宣言 ②変数の宣言 = ③ランダムな1~10の数値 int number = new java.util.Random().nextInt(10) + 1; |
上記のようになります。
- int : 整数型を意味する型の名前です。
- number : 変数名です。今後この変数を使って、取得したランダムな値を表します。
- new java.util.Random().nextInt(10) + 1
:乱数を取得するJavaの標準API。気合で覚える。
覚え方は「ニュージャバドットユーティルドット~」です。
この表現はAPIを使う際の共通の表現となります。
new java.util.~ のあとはAPIによって変わるので繰り返し書いて覚えましょう。
判定して結果に合わせて処理を変える。
もし取得した整数が3以下なら~
もし取得した整数が4以上7以下なら~
もし取得した整数が8以上なら~
この部分をコードに変換することを考えましょう。
そうです、If文ですね。
if文の文法も念のため復習していきます。

上記のルールにのっとって今回の占いアプリにおける判定式を記述してみましょう。
|
1 2 3 4 5 6 7 8 9 10 11 |
// 条件に応じて結果を表示 // if("number"が3以下){ "結果:凶"と表示する } if (number <= 3) {System.out.println("結果: 凶");} // if("number"が4以上且つ7以下){ "結果:吉"と表示する } else if (number >= 4 && number <= 7) {System.out.println("結果: 吉");} // 上記以外の場合は必ず8以上10未満になるはずなので、条件式は書かなくてよい else { System.out.println("結果: 大吉");} |
占いシステムのソースコード
ここまでやった内容で簡単な占いシステムは完成します。
つなげてそれっぽくまとめたものが次のコードとなります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public class Main { public static void main(String[] args) { // 1から10までのランダムな整数を生成して変数に入れる。 // nextInt(10)は0から9までの整数を返すため、+1して1から10にする int number = new java.util.Random().nextInt(10) + 1; System.out.println("引いたおみくじの番号は: " + number); // 条件に応じて結果を表示 if (number <= 3) { System.out.println("結果: 凶"); } else if (number >= 4 && number <= 7) { System.out.println("結果: 吉"); } else { // number >= 8 System.out.println("結果: 大吉"); } } } |
何が何だかまだわかっておらず、どんな動きになるのか想像もついていない、見てみたいという方は
プログラミングを始めよう!~Javaを書くための環境を作ろう~
より、eclipseをインストールし、上記のコードをそのままコピペし、プログラムを実行してみてください。
あなたの運勢が占えるかと思います♪
下の画像はこのコードの実行結果です。

凶が出ちゃいました(泣)
それはさておき、実際に手を動かしてみて動きを見てみるのが一番理解が早いです。最初はコピペでも構いませんので、コードを見ることに少しずつ慣れていきましょう。
創りたいものを決めて、その機能を書きだし、それをプログラムチックに短く文章化しそれに基づいて書いていく練習をしていきましょう。
単語についてはとほほのwww入門で勉強しましょう。


