TopPage > 演習課題 > 演習1-1

演習1-1では,3つのプログラムファイルを修正しながら学んでいきます.

変数型のチェック

まず,次のプログラムをダウンロードして,実行してください.

fileDataType.javaソースコードファイルを見る

説明

C言語と同様にJavaにもいろいろな変数の型があります.

重要度型名説明
 byte1バイトの整数を扱える (-128〜127)
 short2バイトの整数を扱える (-32768〜32767)
int4バイトの整数を扱える (2の32乗=2,147,483,647)
 long8バイトの整数を扱える (2の64乗)
 float単精度浮動小数点
double倍精度浮動小数点型
 char文字型…1文字を表す
boolean論理型…true(真)かfalse(偽)のいずれかを保持する

Javaでは,論理型(boolean)と呼ばれる型があります. これは論理値,すなわちYesNoかの2択を格納するための変数型です.

練習

ソースコードを見ながら,実行してみてください.
このとき,実行結果には「boolean true」と出力されていますね.
ソースコード10行目にある,

    boolean bool = true;

を,

    boolean bool = (i == 12345);

に書き換えて実行してみましょう.

  • iは56789なので,12345とは等しくないため,falseが代入されるはずですね.

また,ソースコード5行目の変数iの値も変更してみましょう.

なぜ,true/falseがでてくるのか?

booleanの値をprint文で出力すると,true/falseがでてきますね!なぜでしょうか? System.out.printlnは,文字列を出力するための関数です. booleanの値を文字として出力すために,booleanが文字に変換されて,出力されています.

四則演算・キャスト

まず,次のプログラムをダウンロードして,実行してください.

fileDainyuType.java ダウンロードソースコードファイルを見る

説明

4.2や1.8というのは実数で,実数の計算結果をint(整数型)に入れるときには,「データの精度が落ちますよ」という文句が出て,コンパイルが通りません.
それを無理矢理(明示的に)いれるためにキャスト(型変換)を利用します.

a = (int) 4.2 + (int)(3 + 1.8);

例えば,上記の例では,4.2を(強制的に)int型へ変換しています.また,3+1.8の結果を,(強制的に)int型へ変換しています.

練習

(1)
(int)のあるときと,ないときで試してみましょう. キャストしないとコンパイルが通らないことを確認してください.

(2)
(int)4.2+(int)1.8;を試しましょう. 実施する前に,結果を予想してください.

どうして,そうなるかを考えましょう.

配列

まず,次のプログラムをダウンロードして,実行してください.

fileArrayTest.java ダウンロードソースコードファイルを見る

説明

配列の使い方の例です. 3行目の

int[] a = {1, 2, 3};

は,配列aを宣言しつつ,同時にaに値を入れてしまう方法です.この時の配列の大きさは3です.

配列の大きさを後で決められるように,

int[] a;
a = new int [100];

という書き方もできます.new int [number]と宣言した行で,配列aの大きさが決定します.
一度決定した配列の大きさを伸縮させることは通常できません.

補足:

  • 配列は,int[] a;とint a[];という2つの書き方ができます.
  • b = a;はいかにも代入をしているようですが,値を参照しているだけです.
  • bへの代入はできません.bは,配列を参照するためだけの変数です.

ポイント 2次元配列は次のように確保します.

int mTables[][];
mTables = new int[9][9];

これは, mTables[0][0]からmTables[8][8]まで使えます.

同様の方法で3次元配列などの高次元の配列も作成できますが, 多次元の配列は,確保するメモリの量が多くなるので, あまりムダになる配列の確保はしないほうがよいです. 2次元配列,3次元配列くらいまでは使いますが.

注意 配列の確保する数と書き方に気をつけましょう!

int a[6]; //6個の配列を確保しました.
a[6]  = 0 ; //コレはエラーになります!

int a[6];と宣言すると,a[0]からa[5]までの6個が使えます. 配列の添え字は「0」から始まります!(C言語も同じです!)

練習1

まず,5行目に以下を入力してみましょう.

a[3]=4;

実行すると,エラーが出るはずです.何故だか考えてみましょう.

練習2

a[0]の値を変更すると b[0]の値も変更されています.

a[0]=5;

をプログラムの最後に追加して,さらに,その後にb[0]の出力をして,値を確認してください.

結果を予想して,試してください.

 

next.gif 次の演習(1-2)


添付ファイル: fileDainyuType.java 454件 [詳細] fileDataType.java 1912件 [詳細] fileArrayTest.java 1518件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   一覧 単語検索 最終更新     最終更新のRSS
Last-modified: 2018-10-11 (木) 14:16:02 (2018d)