学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

Javaプログラミング入門その2 簡単な計算をするプログラム

<<前  [TOP]  次>>


今回は簡単な計算をするプログラムを作成してみましょう。


メモ帳を開いて次の計算プログラムを作ってみましょう。


Keisan1.java 直

/** Keisan1.java */

public class Keisan1 {
	public static void main ( String [] args ) {
		int x = 50;
		int y = 7;
		int z = x * y;
		System.out.println ( "x*y=" + z );
		z= x / y;
		System.out.println ( "x/y=" +z );
		z = x % y;
		System.out.println ( "x%y=" +z );
	}
}



まず、最初の行の「public class Keisan1{ 」というのを見てみましょう。


この行はクラスの宣言になっています。
クラスとは、一つのプログラムのまとまりのようなものと考えてください。
javaでは自分で作ったクラスをあとで再利用できるようになっています。


ここで覚えておいて欲しいことは、クラス名(Keisan1)とファイル名(Keisan1.java)は同じにしなくてはならないと言うことです。
クラス名を違う名前にしてしまうと、コンパイル時にエラーが出てしまいます。


ちなみに、「public」は「公衆の」という意味があり、「このクラスは公開します」という意味で使われます。
今の時点では、「public」だけ覚えておけば間違いないです。


クラス名の「Keisan1」の後に中括弧{ があります。
javaでは、クラスやひとまとまりのプログラムをこの中括弧{}で囲みます。
このプログラムでも、プログラムの一番最後をクラスの中括弧で囲んで終わっていますね。
その一つ前にある中括弧は"main"の中括弧です。


では、"main"について説明します。


javaのプログラムは必ずmainに書かれている内容から始まります。
プログラムの流れは「上から下」です。
「public static void main ( String[] args ) { 」と書かれていますが、このすべてがmainを定義する上で必要です。
一つ一つにちゃんと意味があるのですが、今は呪文のようなものだと思っていて問題ありません。


また、publicとstaticの間にスペースは何個入れてもかまいません。
ただし、一つは必ず必要です。
コンピュータでは、スペースはとばして読まれます。


では、計算式の内容について説明します。
まず、「int x = 50;」という文を見てください。
これは、変数xに対して、整数の50という数字を代入しています。
変数というのは、文字通り数を変えることが出来るものです。
後に「x=100;」などとして値を代入し直すことが出来ます。
それに対して値を変えることの出来ない定数というものもありますが、それはまた後で説明します。
変数xに値を代入するには、その変数の型を宣言しなければなりません。
これは、プログラム中で最初に一回宣言すればよいです。
また、「int x = 50;」は次のようにも書けます。


int x;
x = 50;


これは、好みの問題なので、どちらでもかまいません。


ここで、型についてもっと詳しく説明します。
今使った「int」型は、整数の型で4バイト(byte)のデータを扱えます。
データの範囲は「-2147483648〜2147483647」までです。
1バイトは8ビット(bit)です、1ビットは2の1乗です。
なので、8ビットは2の8乗、ちなみに、2の8乗は256です。
これが、4バイトあるということは、256×256×56×256になり、計算結果は 4294967296 になります。
ここでデータ範囲はマイナス側もあるので、2で割ると2147483647となり、データの範囲は「-2147483648〜2147483647」ということになります。


他にもいろいろな型がありますが、今全部覚えないで出てきたら順に覚えていってください。
代表的な型を下の表にまとめておきましたので参考にしてください。


データ型データのサイズデータの種類データの値の範囲
byte1バイト整数-128〜127
short2バイト整数-32768〜32767
int4バイト整数-2147483648〜2147483647
long8バイト整数-9223372036854775808〜9223372036854775807
float4バイト小数点数±3.40282347×1038〜±1.40239864×10-45
double8バイト小数点数±1.79769313486231570×10308〜±4.94065645841245644×10-324
char2バイト文字半角・全角を問わず任意の一文字
boolean1バイト真偽値true(真)またはfalse(偽)だけ


もう一つ、型の宣言の方法があります。


int x = 50;
int y = 7;


これを次のように書き換えることが出来ます。


int x,y;
x=50;
y=7;


どちらも同じ意味なので、好きな方を使ってください。


次に、*や%などの演算子についてまとめました。


2項演算子
=右辺の値を左辺の変数に代入します。
和を計算します。
差を計算します。
積を計算します。
/除算を行います。整数どうしの場合は、結果は0に向かって切り捨てられます。
%% 剰除算を行います。
ビット積を計算します。
|ビット和を計算します。
^排他的ビット和を計算します。
<<左へビットシフトさせます。
>>右へビットシフトさせます。(符号ビットはそのまま)
>>>右へビットシフトさせます。(符号ビットは0になる)
&&論理積を示す。
||論理和を示す。
==左辺と右辺の数値が等しいかどうかを比較。
!=左辺と右辺の数値が異なっているかどうかを比較。
<左辺の数値が右辺の数値よりも小さいかどうかの比較。
>左辺の数値が右辺の数値よりも大きいかどうかの比較。
<=左辺の数値が右辺の数値以下かどうかの比較。
>=左辺の数値が右辺の数値よりも以上かどうかの比較。

今回は、*(かける)、/(割る)、%(余りを求める)を使いました。
計算式や型の宣言などの最後は必ずセミコロン(;)を忘れないようにしてください。 これがないとコンピュータがどこで文が終わっているか解らず、コンパイル時にエラーが出ます。
最後に、printlnについて説明します。 System.out.println()とすると、括弧の中身が画面上に出力されます。 これを標準出力と言います。
そのまま文字列を表示したいときは、ダブルコーテーション( ”文字列” )で囲みます。
System.out.println( "x*y=" + z );
この文章では、「x*y=」という文字列はそのまま出力されます。 その後に、プラス(+)でくっつけて変数zがあります。 このプラスは文字列と変数をくっつける役目を持っていますので、画面に出力されることはありません。 変数 z のところには計算結果が出力されます。
もう一つ、System.out.printと言うものがあります。 最後の「ln」がないパターンです。 これは、改行をせずに出力すると言う意味です。 今回のプログラムで「ln」部分だけを削除して保存し、コンパイルし直して実行結果を確認すると違いがハッキリわかります。
プログラムは上から順に読まれていきますので、変数 z に値が代入し直される度に出力される値が変わっていきます。
「Keisan1.java」をコンパイルして、出力結果を確認してみましょう。

<<前  [TOP]  次>>