第 2 回 データを扱う

前回の復習

プログラムが動くまでを確認しました。 ソースファイルの意味がわからなかったと思いますが、 しばらくは下のような認識で十分です。

class プログラムの名前{
  public static void main(String[] args){
    // ここにプログラム本体を書く
    // System.out.println を使うと画面に文字が出せる
    System.out.println("Hello, world!");
  }
}

補足

// からその行の終わりまではコメントといって、ソースファイル中に覚え書きをするために使います。 コンパイラはその部分をないものと思ってくれます。 例えば、次のソースは上のソースと同じように動きます。

class プログラムの名前{
  public static void main(String[] args){
    // Hello,World と出力する
    System.out.println("Hello, world!");
  }
}

今後ソースファイルを例として扱うときは、このコメントで付加説明を行うことがあります。

今回の内容

まず今回の題材となるプログラムのソースを見てください。 大体何をしようとしているかぐらいはわかるでしょう (左端の番号は後の説明のための行番号ですので、 実際にソースを書くときに写してはいけません) 。

1  class sample2a{
2    public static void main(String[] args){
3      int a;
4      double b;
5      a = 2;
6      b = a + 2.0;
7      System.out.println(b);
8    }
9  }

定数と変数

プログラムでいう 変数 とはデータの入れ物です。 sample2a でいうと、 a や b が変数です。 変数にデータを入れる (代入) には、 = を使います。 sample2a では a に 2 を入れています (5 行目)。 a と 2 が等しいという意味ではないので注意してください (その場合は a == 2 というように = を二つ使います:詳しくは次回)。

定数 は変化しないデータです。 sample2a でいうと、 2 や 2.0 が定数です。

データ型

プログラムでデータを扱うときは、 それがどのような種類のデータであるかという情報が必要です。 これを データ型 と言います。 変数を使うときは、あらかじめその型を指定する必要があります。 sample2a では、3,4 行目がそれにあたります。

変数を作るときの構文は、以下のようになります。

型名 変数名;
型名 変数名 = 初期値; // 型を指定すると同時に初期値も指定
型名 変数名1,変数名2; // 複数の変数の型を同時に指定

いろいろなデータ型があるうちの代表的なものを以下に挙げます。

型名補足
int整数1, 100, -30
double小数1.0, 1.0e2, -30.01.0e2 は 1.0 × 102
boolean真偽true, false
String文字列"Hello, world!"

演算子

演算子 は、 変数や定数などのデータを使って何らかの演算をするものです。 既に扱った = も代入演算子と呼ばれる演算子で、右辺の結果を左辺の変数に代入します。 また、 6 行目の + は両辺の和を計算する演算子です。 代表的な演算子には以下のようなものがあります。

種類演算子使用例
算術演算子+ (加算), - (減算), * (乗算), / (除算), % (剰余算)8 % 3 は 2
関係演算子<, <=, >, >=2 < 4 は true
論理演算子|| (a or b), && (a and b)true || false は true
代入演算子=

演算子には優先順位があります。

a = 2 + 2 * 2;

この結果 a に 6 が代入されるのは、* → + → = の順に実行されるからです。 実行順序を変えたい場合は、(,) を使います。 今度は結果 8 が代入されるようになります。

a = (2 + 2) * 2;

( と ) はもっとも優先度の高い演算子です。 多くの演算子の優先順位をすべて覚えるのは大変なので、 その代わりにカッコを多めに入れておいてもよいでしょう。

まとめ

今回は以下の内容を学びました。