【二日目】Java学習

Javaの学習内容

1. 演算子


処理優先度

①インクリメント・デクリメント(++ ーー)

②算術演算子(* / % + -)

③関係演算子(<> ==など)結果は必ずboolean型で返される。

④論理演算子(&& ||)結果は必ずboolean型で返される。 

⑤代入・複合代入演算子(= +=など)


コマンドラインから入力したデータ(文字列型)をint型に変換する方法

int a = Integer.parseInt (args[0]);

2. 構造化プログラミング

以下の3つの構造を組み合わせて書くとわかりやすくなる。

①順次進行
処理→処理→処理

②分岐
条件→処理
  ↓
  → 処理

③繰り返し
条件→処理→処理


if文

・どちらかの処理しか実行されない

・else以降は省略可

・処理が1つの時は{}を省略可。

構文

if(条件式){
処理1
} else{
処理2
}
}

if(条件式1){
処理1
} elseif{条件式2
処理2
}else{
 処理3
}


switch文

・式はbyte、short、int、charのみ

・式の値によって処理の開始位置が決まる

・breakは{}を抜ける

switch(式){
case 値1:
 処理1
 break:
case値2:
 処理2
break:
default:
 処理3



while文

while(条件式){
 処理



for文

for(式1;条件式;式2){  処理 }

3. メソッドの定義

戻り値の型 メソッド名(引数リスト){
 (処理)



引数・・・呼び出し元から受け取る値

戻り値・・・メソッドの処理の後に呼び出し元に返す値
      returnで指定する。
      何も返さない場合はvoidを記述する。

4. オブジェクトの使い方


①生成

 クラス名 オブジェクト名 = new クラス名();

 Student  stu1 new Student();


②変数・メソッドを活用

 オブジェクト名.変数名

オブジェクト名.メソッド名(引数)

 stu1.name = “菅原”;
 stu1.setScore(80,90);

5. オーバーロード

クラス内に同じ名前で引数の型が違うメソッドを複数定義することをいう

呼び出すメソッドは名前と引数の組み合わせで決めている

6. コンストラクタ


オブジェクトの初期化のために使われる特殊なメソッドをコンストラクタと呼ぶ

オーバーロード可能

ルール1名前がクラス名と同じ

ルール2戻り値を持たない

ルール3newクラス名(コンストラクタへの引数)

コンストラクタを定義しない場合は自動でデフォルトコンストラクタ(引数・処理なし)が生成

コンストラクタを定義した場合はデフォルトコンストラクタが生成されないため、注意が必要。

メリット:値が代入されない時間をなくし、各コードを短縮することができる。

例:Student(){}

7. 本日のサンプルコード

class ShowData {
public static void main (String[] args) {
int num = 10;
double pi = 3.14;
char blood = 'A';
boolean fun = true;
String msg = "こんにちは";

System.out.println(num);
System.out.println(pi);
System.out.println(blood);
System.out.println(fun);
System.out.println(msg);
}
}


class ScoreArray{
public static void main (String[] args) {
int[] num = new int[4];
num[0] = 90;
num[1] = 80;
num[2] = 100;
num[3] = 90;

System.out.println("一人目は"+num[0]);
System.out.println("二人目は"+num[1]);
System.out.println("三人目は"+num[2]);
System.out.println("四人目は"+num[3]);
}
}


class ScoreArray{
public static void main (String[] args) {
int[] score = new int[3];
score[0] = 90;
score[1] = 80;
score[2] = 100;

String[] name = {"菅原","村山","寺島"};
for(int i = 0; i < score.length; i++) {
System.out.println(name[i]+"さん:"+score[i]+"点");
}
System.out.println("受験者数:"+score.length+"名");
}
}

class Triangle{
public static void main (String[] args) {
int height = Integer.parseInt(args[0]);
int width = Integer.parseInt(args[1]);

int area = (width*height)/2;

System.out.println("高さ:"+height);
System.out.println("幅:"+width);
System.out.println("面積:"+area);
}
}

class Circle{
public static void main (String[] args) {
int radius = Integer.parseInt(args[0]);
double pi = 3.141592;
double area;

area = radius * radius * pi;
area = (int)(area*100);
area = area/100;

System.out.println("半径:"+radius);
System.out.println("面積:"+area);
}
}

class Loop{
public static void main (String[] args) {
int

8. まとめ

今回は実際にプログラミングすることを主とし、基本的な分岐文、繰り返し文を学習しました。

次回はオブジェクト指向のさらに発展した部分の知識を学習する予定です。