第 3 回: 変数, 入力を伴うプログラム, if, switch, for, while 文

変数

Var.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
public class Var{
    public static void main(String[] args){
	int x = 10;
	int y = 20;
	System.out.println( "x + y = " + (x + y) );
	
	char a = 100;
	char b = 200;
	System.out.println( "a + b = " + (a + b) );

	byte minus = -128;
	byte plus = 127;
	System.out.println( "minus + plus = " + (minus + plus) );

	double f1 = 3.1415926;
	double f2 = 2.34345;
	System.out.println( "f1 + f2 = " + (f1 + f2) );
    }
}

Var.java の実行結果は:

[wtopia koji]$ java Var
x + y = 30
a + b = 300
minus + plus = -1
f1 + f2 = 5.4850426

入力をともなうプログラム

WhatYourName.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import java.io.*;

public class WhatYourName{
    public static void main(String[] args){
	System.out.println("What Your Name : ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String line = reader.readLine();
	    System.out.println(line + "さん, こんにちは");
	}catch(IOException e){
	    System.out.println(e);
	}
    }
}

WhatYourName.java の実行結果は:

[wtopia koji]$ java WhatYourName
What Your Name :
ヒヒ
ヒヒさん, こんにちは

WhatYourAge.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.io.*;

public class WhatYourAge{
    public static void main(String[] args){
	System.out.println("何歳ですか? : ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String line = reader.readLine();
	    int age = Integer.parseInt(line);
	    System.out.println(age + "歳です.");
	}catch(IOException e){
	    System.out.println(e);
	}catch(NumberFormatException e){
	    System.out.println("正しくないです");
	}
    }
}

WhatYourAge.java の実行結果は:

[wtopia koji]$ java WhatYourAge
何歳ですか? :
28
28歳です.
[wtopia koji]$ java WhatYourAge
何歳ですか? :
age?
正しくないです

if 文

もし, ... ならば,:

if(条件式){
  条件が成り立つ場合の処理 (条件式が true のときの処理)
}

注意: 条件式は, boolean 型, true または, false

Stno.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.io.*;

public class Stno{
    public static void main(String[] args){
	System.out.println("学籍番号の先頭 2 桁をいれてください: ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String no = reader.readLine();
	    int nen = Integer.parseInt(no);
	    System.out.println(no + "ですね.");

	    if(nen == 8){
		System.out.println("3 年生ですね.");
	    }
	}catch(IOException e){
	    System.out.println(e);
	}
    }
}

Stno.java の実行結果は:

[wtopia koji]$ java Stno
学籍番号の先頭 2 桁をいれてください:
08
08ですね.
3 年生ですね.
[wtopia koji]$ java Stno
学籍番号の先頭 2 桁をいれてください:
09
09ですね.

もし, ... ならば, ... さもなくば.:

if(条件式){
  条件が成り立つ場合の処理 A (条件式が true の時の処理 A)
}else{
  条件が成り立たなかった場合の処理 B (条件式が false の時の処理 B)
}

if 文の連鎖:

if(条件式 1){
  条件式 1 が true のときの処理
}else if(条件式 2){
  条件式 1 が false,
  条件式 2 が true のときの処理
}else{
  条件式 1 が false
  条件式 2 が false のときの処理
}

Stno2.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.*;

public class Stno2{
    public static void main(String[] args){
	System.out.println("学籍の 2 桁をいれてください: ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String no = reader.readLine();
	    int nen = Integer.parseInt(no);
	    System.out.println(no + "ですね.");
	    
	    if(nen == 7){
		System.out.println("4 年生ですね.");
	    }
	    else if(nen == 8){
		System.out.println("3 年生ですね.");
	    }
	    else if(nen == 9){
		System.out.println("2 年生ですね.");
	    }
	    else if(nen == 10){
		System.out.println("1 年生ですね.");
	    }
	    else{
		System.out.println("過年度の卒業生ですね.");
	    }
	}catch(IOException e){
	    System.out.println(e);
	}
    }
}

Stno2.java の実行結果は:

[wtopia koji]$ java Stno2
学籍の 2 桁をいれてください:
10
10ですね.
1 年生ですね.
[wtopia koji]$ java Stno2
学籍の 2 桁をいれてください:
08
08ですね.
3 年生ですね.
[wtopia koji]$ java Stno2
学籍の 2 桁をいれてください:
03
03ですね.
過年度の卒業生ですね.

switch 文

switch 文のテンプレト:

switch(式){
  case 定数式1:
    処理 1;
    break;
  case 定数式2:
    処理 2;
    break;
  default:
    break;
}

Stno_Switch.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.*;

public class Stno_Switch{
    public static void main(String[] args){
	System.out.println("学籍番号の先頭 2 桁をいれてください: ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String no = reader.readLine();
	    int nen = Integer.parseInt(no);
	    System.out.println(no + "ですね.");
	    switch(nen){
	    case 7:
		System.out.println("4 年生ですね.");
		break;
	    case 8:
		System.out.println("3 年生ですね.");
		break;
	    case 9:
		System.out.println("2 年生ですね.");
		break;
	    case 10:
		System.out.println("1 年生ですね.");
		break;
	    default:
		System.out.println("過年度の卒業生ですね.");
		break;
	    }
	}catch(IOException e){
	    System.out.println(e);
	}
    }
}

Stno_Switch.java の実行結果は:

[wtopia koji]$ java Stno_Switch
学籍番号の先頭 2 桁をいれてください:
10
10ですね.
1 年生ですね.
[wtopia koji]$ java Stno_Switch
学籍番号の先頭 2 桁をいれてください:
02
02ですね.
過年度の卒業生ですね.

for 文

for 文のテンプレート:

for(初期化; 条件式; 次の一歩){
  繰り返す処理
}

Printn.java

1
2
3
4
5
6
7
8
public class Printn{
    public static void main(String[] args){
	for(int i = 0; i < 3; i++){
	    System.out.println(i);
	}
	System.out.println("end");
    }
}

Printn.java の実行結果は:

[wtopia koji]$ java Printn
0
1
2
end

Printn3.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.io.*;

public class Printn3{
    public static void main(String[] args){
	System.out.println("何回まで?: ");
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	try{
	    String no = reader.readLine();
	    int n = Integer.parseInt(no);
	    System.out.println(no + "ですね.");
	    for(int i = 0; i < n; i++){
		System.out.println(i);
	    }
	    System.out.println("end");
	}catch(IOException e){
	    System.out.println(e);
	}
    }
}

Printn3.java の実行結果は:

[wtopia koji]$ java Printn3
何回まで?:
10
10ですね.
0
1
2
3
4
5
6
7
8
9
end

while 文

while 文のテンプレート:

while(条件式){
  繰り返す処理
}

Printn2.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
public class Printn2{
    public static void main(String[] args){
	int i = 0;
	while(i < 3){
	    System.out.println(i);
	    i++;
	}
	System.out.println("end");
    }
}

Printn2.java の実行結果は:

[wtopia koji]$ java Printn2
0
1
2
end