職業訓練16日目「退校3人目」

職業訓練16日目「退校3人目」

こんにちはっ!
今日からいよいよ配列ですよ!
だんだん難しくなってきましたね。
どんどん努力していかなければっ。
とにかく書く!書く!失敗の数!成功の数!これしかない!

今日の着席状況

一人午前休み(連絡あり)。
と、思ったら午後になってもこない。大丈夫なのかなぁ。

そして昨日、危ないんじゃないかと思っていた方が退校されました。
受給目当てで残るかなとも思ったのですが、やはり辛かったのかもしれません。
受給目当てで残っても人生の残り時間は減っていくので、良かったのかもしれません。
変数でHPが瀕死になっていましたが、ループ文でオーバーキルといった所でしょうか。

分からなくても頑張っている方も多いので、できるかどうかは本人の努力次第なんですけどね。
せめて明るく生きていければいいのですが。
と、最初13人いたクラスですが、10人になりました。

暗い話になっしまいましたが、頑張っていきましょう!

ループなおさらい

1.for( ; ; ) {}
カウンタ回数が決まってる

2.while(条件) {
真のとき回す
} 偽のとき抜ける

3.do {
必ず1回はやる
} while(条件)

4.二重用のループ
表とかボードゲームのときによく使う。

5.breakとcotinue
breakされたら抜ける
continueされたら指定された場所を飛ばして続行

配列

イメージ

変数がいっぱい入るBOX。
変数は箱っていったのに、配列がBOXといってしまう私の語彙能力はとても低いw
でも、イメージ的には洋服ケースな感じですね。

どう書くの?

int[] test;←※1
test = new int[5] ←※2

大括弧を使うんですね。
※1.配列を扱う変数を用意する(配列を宣言する)
※2.値を格納する箱を用意する(配列要素を確保する)

型名[] 配列変数名;
配列変数名 = new 型名 [];
という具合です。

test[0] = 80;
test[1] = 80;
test[2] = 80;
test[3] = 80;
test[4] = 80;
配列に格納された変数の番号は0から始まるので、
間違えないように。
[添字]大括弧内を添字 といいます。

配列を初期化する

型名[] 配列変数名 = {値1, 値2, 値3, ・・・};
int[] test = {80,60,22,50,75} ;

こんな風にもかけます。

配列変数の特徴

int,doubleのようなものは値型といい、
配列やクラスなどは参照型の変数といいます。
参照型の変数はメモリ上のどこに存在しているか見にいきます。
なので、代入された配列変数は、もう一方が参照している方にも影響がでます。

 配列の長さを知る

配列変数名.length

これを使って、配列の長さを調べることができます。

ソート

値を大きい順に並び替える。

コレクションっていうのもあるらしい。
for each文を使うとか。
for(int i :test) {}こんなの。

多次元配列

これまで勉強してきた配列は、一列に並んだ箱のようなイメージでした。
ここでは、配列の要素をさらに配列した、2次元配列に触れていきます。
x座標、y座標の2次関数のグラフを思い浮かべると分かりやすいですね。
今までが線だったのに対して、平面として変数を扱うわけです。
掛け算で 言ったら、一の段だけだったのが、九九の表になったということです。

型名[] [] 配列変数名;
配列変数名 = new 型名[要素数][要素数];

int [] [] test;←2次元配列の宣言をしています。
test = new int [2] [5]; ←配列要素を確保しています。

public static void main(String[] args) {

int [][] test;
test = new int [2][5];

test [0][0] = 80;
test [0][1] = 60;
test [0][2] = 22;
test [0][3] = 50;
test [0][4] = 75;
test [1][0] = 90;
test [1][1] = 55;
test [1][2] = 68;
test [1][3] = 72;
test [1][4] = 58;

for(int i=0; i<5; i++) {
System.out.println((i+1) + "番目の人の国語の点数は" + test[0][i] + "です。");
System.out.println((i+1) + "番目の人の算数の点数は" + test[1][i] + "です。");
}
}

今日はこんな感じで終わりました。
明日からは、クラス、オブジェクトの概念がでてきます。
いよいよオブジェクト思考ぽくなってきます(b´∀`)ネッ!

photo by: kevin dooley