↓↓クリックして頂けると励みになります。
【03 | プログラムの作成とコンパイル】 << 【ホーム】 >> 【05 | Boolean】
簡単な計算をさせるプログラムを作成します。
Visual Studio Codeで次の計算プログラム「Keisan1.java」を作成して下さい。
新規作成 【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」は「公衆の」という意味があり、「このクラスを公開します」という意味で使われます。
他にもprivateやprotectedなどがありますが、今の時点では「public」だけ覚えておけば問題ないです。
クラス名の「Keisan1」の後に中括弧{
があります。
Javaでは、クラスやひとまとまりのプログラムをこの中括弧{}
で囲みます。
では、計算式の内容について説明します。
まずint x = 50;
という記述を見てください。
これは変数xに対して整数の50という数字を代入するという意味です。
Javaにおいて、変数はプログラムでデータを格納するためのメモリ上の場所を指します。
変数は特定のデータ型を持ち、そのデータ型に応じてメモリ上に確保される領域の大きさが異なります。
x=100;
などとして値を代入し直すことが出来ます。
それに対して値を変えることの出来ない定数というものもあります。
変数xに値を代入するには、その変数の型を宣言しなければなりません。
これはプログラム中で最初に一回だけ宣言すればよいです。
またint x = 50;
は次のようにも書けます。
int x; x = 50;
ここで型についてもう少し詳しく説明します。
今使った「int」型は整数の型で、4バイト(byte)のデータを扱えます。
データの範囲は「-2147483648〜2147483647」までです。
1バイトは8ビット(bit)です、1ビットは2の1乗です。
ですので8ビットは2の8乗となり、256となります。
これが4バイトあるということは、256×256×256×256になり、計算結果は 4294967296 になります。
データ範囲はマイナス側もあるので、2で割ると2147483647となり、データの範囲は「-2147483648〜2147483647」ということになります。
他にもいろいろな型があります。
代表的な型を下の表にまとめておきましたので参考にしてください。
データ型 | データのサイズ | データの種類 | データの値の範囲 |
byte | 1バイト | 整数 | -128〜127 |
short | 2バイト | 整数 | -32768〜32767 |
int | 4バイト | 整数 | -2147483648〜2147483647 |
long | 8バイト | 整数 | -9223372036854775808〜9223372036854775807 |
float | 4バイト | 小数点数 | ±3.40282347×1038〜±1.40239864×10-45 |
double | 8バイト | 小数点数 | ±1.79769313486231570×10308〜±4.94065645841245644×10-324 |
char | 2バイト | 文字 | 半角・全角を問わず任意の一文字 |
boolean | 1バイト | 真偽値 | 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」をコンパイルして、出力結果を確認してみましょう。
~/Desktop/Programming/JP $ javac Keisan1.java ~/Desktop/Programming/JP $ java Keisan1 x*y=350 x/y=7 x%y=1
【03 | プログラムの作成とコンパイル】 << 【ホーム】 >> 【05 | Boolean】
↓↓クリックして頂けると励みになります。