【環境構築不要】Paizaを使ったJavaプログラミング【初心者向け】

Javaコース講師の原田です。

今回は、これからJavaを勉強する方向けに、プログラミングの基礎についてご説明していきます。
またWeb上でプログラムを動かせるPaizaを使って、Javaプログラムについての理解を深めていきましょう。

■参考文献
スッキリわかるJava入門第2版

Paizaの準備手順

(1)まず下記リンクからPaizaを開きます。

(2)次に「コード作成を試してみる」ボタンを押します。

画像

java paiza コード作成

(3)以下の画面が表示されたら、左上の緑のボタンで言語選択をして「Java」を選択します。

java paiza コード作成

(4)するとこのような画面が表示されます

java paiza コード作成

プログラミングの進め方

Paizaを用いたプログラミングは、以下手順で進めていきます。

(1)プログラムの作成
画面上部に、Javaが定める文法に従ってプログラムを作成していきます。

(2)実行
画面中央部の「実行」ボタンを押すと、以下二つの処理を実施します。
①コンパイル:入力したプログラムを検査し、プログラムをマシンが理解できる形に翻訳してくれる
②実行:マシンがコードで指示した通りに動作する

(3)実行結果の確認
画面下部には、プログラムの出力・入力、エラーが表示されます。こちらは実際に動かしながらどのような表示となるか確認していきましょう。

プログラムの骨格

Paizaを開くとJavaのコードがすでに記載された状態で表示されます。

その中でもpublic class Mainから、二つの波括弧閉じる「}」までのコードは、Javaファイルを動かすためのお決まりの文句です。
↓この部分がお決まりの文句です。

public class Main{
    public static void main(String[] args) throws Exception {
   
    }
}

Javaでは{}で囲まれた「ブロック」がよく登場します。
上記のお決まりの文句は、public static void main~{}というメソッドブロックと、 public class Main{}というクラスブロックの二つのブロックから成り立っています。

そして、Javaの場合はクラスブロック・メソッドブロックの内側(つまり※部分)

public class Main{
    public static void main(String[] args) throws Exception {
    //※ここにプログラムを記述する
    }
}

にプログラムを書くことで、プログラムを動かすことができます。

ちなみにクラス・メソッドについての説明は、ある程度文法を理解してからの方がわかりやすいので今回は割愛します。
Javaは「オブジェクト指向」まで学習を完了すると、どういった仕組みで動いているのかが理解できます。ぜひ学習を進めてみてください。

もしお決まりの文句を書き換えたら?

お決まりの文句は、Javaファイルを動かすために必要とお話しました。
そのため、「お決まりの文句」を書き換えてしまうとJavaプログラムを動かすことができなくなってしまいます。

試しに、一度書き換えてみましょう。
public static void main
という記述を
public staticvoid main (※staticとvoidの間の半角スペースをなくしました!)
と変更してみると画面下部にコンパイルエラーというタブで以下のようなエラー文が出ました。
(※『プログラムの骨格』に掲載の画像参照)

エラー文を確認すると以下の内容が出力されていました。

Main.java:4: error: cannot find symbol
    public staticvoid main(String[] args) throws Exception {
           ^
  symbol:   class staticvoid
  location: class Main
1 error

このエラーでは、コンパイラが
Main.javaの4行目でこのシンボル(class staticvoid)がどういう意味を持つのか理解できません」
と言ってエラーを出しています。

つまり、書き換えによってコンパイラは「メソッドブロックという塊」を認識できなくなったということです。

プログラムの書き方

ではここから実際にプログラムを書いてみましょう。
新たにJavaプログラムをつくる場合には以下手順に従って進めます。

(1)どのようなプログラムを作るか決める
(2)Javaファイル名を決める
(3)ソースコードの外側部分を記述する
(4)ソースコードの内側部分を記述する

ただし、今回使っているPaizaでは(1)~(3)が準備されているため(4)に重点をおいて進めましょう。

プログラミングの3つのポイント

プログラムを書き始める前に、以下3つのポイントを押さえてプログラムを書き始めましょう

(1)正確に記述する

コードには、英数字・記号が登場します。間違った文字を入力するとプログラムは正常に動きません。
特に以下の点に気を付けましょう。

  • 英数字は半角で入力する
  • オーとゼロ(o・O/0)、エルとアイと1(l/I/1)、セミコロンとコロン(;/:)、コロンとカンマ(./,)を間違えない
  • 括弧(()/{}/[])や引用符(”/””)の種類を間違えない

(2)外から内へプログラムを書く

上から下へとプログラムを書くと、閉じ括弧を忘れるというミスが発生しやすくなります。
そのようなミスを防ぐために、ブロックを開いて閉じる(つまり、外側から内側に向かって)記述して行きましょう。
書き方としては①から③を参考にしてください。

①クラスブロックを書く

public class Main{
}

②メソッドブロックを書く

public class Main{
    public static void main(String[] args) throws Exception {
    }
}

③内部にプログラムを書く

public class Main{
    public static void main(String[] args) throws Exception {
    //プログラムの記述START
    }
}

ブロックの閉じ忘れを防ぐため、この書き方を常に意識しましょう。

(3)読みやすいコードを記述する

仕事でJavaを使う場合には、開発チームや取引先の方にコードを見せる機会があります。
そのため、誰が見てもわかりやすいコードを書くようにしましょう。
分かりやすいコードにするためのポイントはたくさんありますが、ここでは3つだけご紹介します。

※今回ご紹介できないものに関しては、下記参考文献を参照ください。

■参考文献
リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック

◎分かりやすいコードにするための3つのポイント
①インデント
②コメント
③わかりやすい名前を付ける

それぞれの詳細は以下でご説明します。

①インデント

インデントは直訳すると「字下げ」という意味で、「ブロックの開始位置と終了位置をわかりやすく対応させるため」に使われます。
Javaでは、どこに改行もしくは空白を入れるかは基本的に自由です。
なので、先にご紹介したお決まりの文句は以下のように書くこともできます。
↓インデントなし
public class Main{public static void main(String[] args) throws Exception {}}

見ての通り、とても分かりづらくなったと思います。
このような書き方もできますが、ブロックの開始位置と終了位置との対応が分かりづらく、閉じ忘れのミスや「どのブロックに記述すればいいのかわからない」という煩雑さが出てきます。
ですので、以下のようにインデントで、ブロックの開始位置と終了位置を対応させていきます。

 public class Main{
     public static void main(String[] args) throws Exception {
     }
 }

ちなみに、インデントは案件によりますが、「tab」「半角スペース2個」「半角スペース4個」の3種類が一般的です。

②コメント

よりプログラムを読みやすくするために、コード内に日本語で説明文(コメント)を書き込むことができます。
コメントの書き方は以下2通りです。

一行のコメント
// コメントです

複数行のコメント
/*
こちらは
コメントです
*/

※気づかれた方もおられるかもしれませんが、Paizaを開いた時の画面にも以下のように「ここにコードを書いて!」とコメントが入っていました。
// Your code here!

③わかりやすい名前を付ける

メソッド、クラス名などにわかりやすい名前をつけることでも、わかりやすいコードにできます。
具体的には以下のような名前が分かりやすい名前です。

  • 役割が分かる名前
  • 誤解を招かない名前

ちなみに命名についての詳細な説明は、ある程度文法を理解してからの方がわかりやすいので今回は割愛します。
学習を進めてから、下記サイトを参照してみてください。

■参考サイト
読みやすいコードを書くために
・命名について

プログラミングを始めよう

長い説明が続きましたが、お待たせしました!
ここから、プログラミングを始めていきましょう。

今回は動きがあって面白い二つのメソッドを使ってサンプルコードを動かしてみましょう。
(1)System.out.println()メソッド
(2)scanner.nextLine()メソッド

(1)System.out.println()メソッド

まず一つ目はprintln()メソッドです。実はこのメソッドは既にPaizaに書かれています。
Paizaの画面で実行ボタンを押すと、画面下部の「出力」タブに
XXXXXXXX
と表示されます。

println()は、以下の書き方で文字列を出力することができます。
System.out.println(“表示したい内容”);

なので、Paizaで書かれている、下記コードを実行すれば「XXXXXXXX」と出力されます。
System.out.println(“XXXXXXXX”);

※またJavaでは行末に「;」を付ける必要があります。
これは日本語の文章のまとまりが分かる「。」と同じで、「;」が来るまでが一つの命令として解釈されます。

(2)scanner.nextLine()メソッド

次はscannerのnextLine()メソッドです。
Scannerを使うと、プログラムが入力を受け取り、処理に使うことができます。
言葉だけでは想像できないので、早速プログラムを書いてみましょう。

①java.util.Scannerをインポートする
Paizaで初期表示されるコードにインポート分を追加しました。これによってScannerの便利な機能を呼び出す準備ができました。

import java.util.*;
import java.util.Scanner; //①ここを追記

public class Main {
    public static void main(String[] args) throws Exception {
// Your code here!
        System.out.println("XXXXXXXX");
    }
}

②Scannerクラスのインスタンスを作成。コンストラクタの引数にSystem.inを指定する。
簡単に説明するとScannerという便利な道具がいっぱい入った道具箱の中から、今回使いたい道具を取り出している、ようなことをしています。
ここはオブジェクト指向の知識が必要となるので詳細な説明は割愛します。

import java.util.*;
 import java.util.Scanner;

public class Main {
     public static void main(String[] args) throws Exception {
         Scanner scanner = new Scanner(System.in);//②ここを追記
 // Your code here!
         System.out.println("XXXXXXXX");
     }
 }


③nextLine( )メソッドを使って、入力内容を取得。
今回はscannerの中でnextLine( )という入力を受け付ける道具を使います。
また入力で受けとったデータを一時的に保管する場所として、input_textという箱を作りそこに入力をおいています。

import java.util.*;
 import java.util.Scanner;

public class Main {
     public static void main(String[] args) throws Exception {
         Scanner scanner = new Scanner(System.in);
         String input_text = scanner.nextLine();//③ここを追記
 // Your code here!
         System.out.println("XXXXXXXX");
     }
 }

④println()を使って、取得内容を出力する
最後に入力したデータが、本当にプログラムに渡されているかを知るために出力していきます。
input_textという箱に入れた入力内容を、出力させたいので「と入力されました」という文字列と連結してprintln()に渡しています。
※Javaで文字列の連結をする時には「+」を使います。

import java.util.*;
 import java.util.Scanner;

public class Main {
     public static void main(String[] args) throws Exception {
         Scanner scanner = new Scanner(System.in);
         String input_text = scanner.nextLine();
         System.out.println(input_text+"と入力されました。");//④ここを修正
     }
 }

プログラムを動かそう

では7(2)で書いたプログラムを実際にPaizaで動かしてみましょう。

コードを入力して、画面下部の「入力」タブに「うさぎ」と入力しました。これで実行の準備は万端です。
「実行」ボタンを押すと

このような画面になり、「出力」タブに「うさぎと入力されました。」と表示されました。

終わりに

ここまで、初心者向けのJavaプログラミングについてご説明してきました。いかがでしたでしょうか?
今回のブログを基本として、より発展的なプログラムを書くこともできます。

またプログラミングでは、エラーが出て自力では解決できなくなることも多いので、ぜひプログラミング経験者の方に相談しながら学習を進めてください。
+ITでは、プログラミング経験者にどんどん質問できる「わいわい会」を毎週開催しておりますので、「相談できる人がすぐには見つからない…」という方はぜひそちらもご活用ください。

以上で、今回のブログを終えていきます。
最後までお読みいただきありがとうございました。