第02章:計算をやってみよう
Javaの加減乗除
加算:足し算(+)
減算:引き算(-)
乗算:掛け算(×)
除算:割り算(÷)
算數での記號 → Javaの記號
+ → +
- → -
× → *
÷ → /
算數の式 → Javaの算式
3+2 → 3 + 2
5-8 → 5 - 8
3×4 → 3 * 4
7÷3 → 7 / 3
Java Program
Calc1.java(加減乗除を行うプログラム)
----------
public class Calc1 {
public static void main(String[] args) {
System.out.println("加算の結果は" + (3 + 2) + "です。");
System.out.println("減算の結果は" + (5 - 8) + "です。");
System.out.println("乗算の結果は" + (3 * 4) + "です。");
System.out.println("除算の結果は" + (7 / 3) + "です。");
}
}
----------
畫面に
javac Calc1.java
java Calc1
加算の結果は5です。
減算の結果は-3です。
乗算の結果は12です。
除算の結果は2です。
----------
整數の演算
演算 算數 JAVA
-- ----------- --------
加算 整數+整數=整數 整數+整數=整數
減算 整數-整數=整數 整數-整數=整數
乗算 整數×整數=整數 整數×整數=整數
除算 整數÷整數=整數か小數 整數÷整數=整數(*)
-- ----------- --------
*Javaの整數除算は割り切れなかった小數部分は切り捨てられる
數式と優先順位
。+ や - よりも、* や / のほうを先に行う
。同じ優先順位を持った演算子は左から順番に計算
12 + 34 + 56 + 78 → ((12 + 34) + 56) + 78
。代入演算子は、右から順番に計算
a = b = c = d → a = (b = (c = d))
Calc2.java(複雑な計算)
----------
public class Calc2 {
public static void main(String[] args) {
System.out.println(1 + 2 * 3 - 4 / 2);
}
}
----------
畫面に
javac Calc2.java
java Calc2
5
----------
整數で表すことのできる範囲
型名 最小値 最大値 解説
--- ---------- --------- --------
byte -128 127 符號付き8ビット
short -32768 32767 符號付き16ビット
int -2147483648 2147483647 符號付き32ビット
long -9223372036854775808 922332036854775807 符號付き64ビット
char 0 65535 符號なし16ビット
--- ---------- --------- --------
その他の計算
演算子 例
------ --------
ビット演算子 & | ^ ~
論理演算子 ! && ||
関係演算子 == != < > <= >=
シフト演算子 >> << >>>
------ --------
Calc1a.java(printfメソッドの例)
----------
public class Calc1a {
public static void main(String[] args) {
System.out.printf("加算の結果は%dです。%n", 3 + 2");
System.out.printf("減算の結果は%dです。%n", 5 + 8");
System.out.printf("乗算の結果は%dです。%n", 3 * 4");
System.out.printf("除算の結果は%dです。%n", 7 / 3");
}
}
----------
畫面に
javac Calc1a.java
java Calc1a
加算の結果は5です。
減算の結果は-3です。
乗算の結果は12です。
除算の結果は2です。
----------
練習問題2-2
CalcTable1.java(計算プログラム)
----------
public class CalcTable1 {
public static void main(String[] args) {
System.out.println("0 × 0 = " + (0 * 0));
System.out.println("1 × 1 = " + (1 * 1));
System.out.println("2 × 2 = " + (2 * 2));
System.out.println("3 × 3 = " + (3 * 3));
System.out.println("4 × 4 = " + (4 * 4));
System.out.println("5 × 5 = " + (5 * 5));
System.out.println("6 × 6 = " + (6 * 6));
System.out.println("7 × 7 = " + (7 * 7));
System.out.println("8 × 8 = " + (8 * 8));
System.out.println("9 × 9 = " + (9 * 9));
System.out.println("10 × 10 = " + (10 * 10));
}
}
----------
畫面に
javac CalcTable1.java
java CalcTable
0
1
4
9
16
25
36
49
64
81
100
----------
CalcTable2.java(計算プログラム)
----------
public class CalcTable2 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.println(i + " × " + i + " = " + (i * i));
}
}
}
----------
畫面に
javac CalcTable2.java
java CalcTable2
0 × 0 = 0
1 × 1 = 1
2 × 2 = 4
3 × 3 = 9
4 × 4 = 16
5 × 5 = 25
6 × 6 = 36
7 × 7 = 49
8 × 8 = 64
9 × 9 = 81
10 × 10 = 100
----------
CalcTable3.java (計算プログラム、printfメソッドを使った)
----------
public class CalcTable3 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.printf("%d × %d = %d%n", i, i, i * i);
}
}
}
----------
畫面に
javac CalcTable3.java
java CalcTable3
0 × 0 = 0
1 × 1 = 1
2 × 2 = 4
3 × 3 = 9
4 × 4 = 16
5 × 5 = 25
6 × 6 = 36
7 × 7 = 49
8 × 8 = 64
9 × 9 = 81
10 × 10 = 100
----------
練習問題2-3
Daikei1.java(臺形の面積を求めるプログラム)
----------
public class Daikei1 {
public static void main(String[] args) {
System.out.println((2 + 3) * 4 / 2);
}
}
----------
畫面に
javac Daikei1.java
java Daikei1
10
----------
Daikei2.java(臺形の面積を求めるプログラム、第8章で學ぶメソッドで)
----------
public class Daikei2 {
public static void main(String[] args) {
System.out.println(daikei(2, 3, 4));
}
public static int daikei(int a, int b, int h) {
return (a + b) * h / 2;
}
}
----------
畫面に
javac Daikei2.java
java Daikei2
10
----------
練習問題2-4
CalcBig.java(オーバーフロー)
----------
public class CalcBig {
public static void main(String[] args) {
System.out.println(10000L * 10000L);
}
}
----------
畫面に
javac CalcBig.java
java CalcBig
100000000
----------
學んだこと
。計算
。Java言語の式の表現
。演算子の優先順位
。+が數の計算だけではなく、文字列の連結に使える
Javaの加減乗除
加算:足し算(+)
減算:引き算(-)
乗算:掛け算(×)
除算:割り算(÷)
算數での記號 → Javaの記號
+ → +
- → -
× → *
÷ → /
算數の式 → Javaの算式
3+2 → 3 + 2
5-8 → 5 - 8
3×4 → 3 * 4
7÷3 → 7 / 3
Java Program
Calc1.java(加減乗除を行うプログラム)
----------
public class Calc1 {
public static void main(String[] args) {
System.out.println("加算の結果は" + (3 + 2) + "です。");
System.out.println("減算の結果は" + (5 - 8) + "です。");
System.out.println("乗算の結果は" + (3 * 4) + "です。");
System.out.println("除算の結果は" + (7 / 3) + "です。");
}
}
----------
畫面に
javac Calc1.java
java Calc1
加算の結果は5です。
減算の結果は-3です。
乗算の結果は12です。
除算の結果は2です。
----------
整數の演算
演算 算數 JAVA
-- ----------- --------
加算 整數+整數=整數 整數+整數=整數
減算 整數-整數=整數 整數-整數=整數
乗算 整數×整數=整數 整數×整數=整數
除算 整數÷整數=整數か小數 整數÷整數=整數(*)
-- ----------- --------
*Javaの整數除算は割り切れなかった小數部分は切り捨てられる
數式と優先順位
。+ や - よりも、* や / のほうを先に行う
。同じ優先順位を持った演算子は左から順番に計算
12 + 34 + 56 + 78 → ((12 + 34) + 56) + 78
。代入演算子は、右から順番に計算
a = b = c = d → a = (b = (c = d))
Calc2.java(複雑な計算)
----------
public class Calc2 {
public static void main(String[] args) {
System.out.println(1 + 2 * 3 - 4 / 2);
}
}
----------
畫面に
javac Calc2.java
java Calc2
5
----------
整數で表すことのできる範囲
型名 最小値 最大値 解説
--- ---------- --------- --------
byte -128 127 符號付き8ビット
short -32768 32767 符號付き16ビット
int -2147483648 2147483647 符號付き32ビット
long -9223372036854775808 922332036854775807 符號付き64ビット
char 0 65535 符號なし16ビット
--- ---------- --------- --------
その他の計算
演算子 例
------ --------
ビット演算子 & | ^ ~
論理演算子 ! && ||
関係演算子 == != < > <= >=
シフト演算子 >> << >>>
------ --------
Calc1a.java(printfメソッドの例)
----------
public class Calc1a {
public static void main(String[] args) {
System.out.printf("加算の結果は%dです。%n", 3 + 2");
System.out.printf("減算の結果は%dです。%n", 5 + 8");
System.out.printf("乗算の結果は%dです。%n", 3 * 4");
System.out.printf("除算の結果は%dです。%n", 7 / 3");
}
}
----------
畫面に
javac Calc1a.java
java Calc1a
加算の結果は5です。
減算の結果は-3です。
乗算の結果は12です。
除算の結果は2です。
----------
練習問題2-2
CalcTable1.java(計算プログラム)
----------
public class CalcTable1 {
public static void main(String[] args) {
System.out.println("0 × 0 = " + (0 * 0));
System.out.println("1 × 1 = " + (1 * 1));
System.out.println("2 × 2 = " + (2 * 2));
System.out.println("3 × 3 = " + (3 * 3));
System.out.println("4 × 4 = " + (4 * 4));
System.out.println("5 × 5 = " + (5 * 5));
System.out.println("6 × 6 = " + (6 * 6));
System.out.println("7 × 7 = " + (7 * 7));
System.out.println("8 × 8 = " + (8 * 8));
System.out.println("9 × 9 = " + (9 * 9));
System.out.println("10 × 10 = " + (10 * 10));
}
}
----------
畫面に
javac CalcTable1.java
java CalcTable
0
1
4
9
16
25
36
49
64
81
100
----------
CalcTable2.java(計算プログラム)
----------
public class CalcTable2 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.println(i + " × " + i + " = " + (i * i));
}
}
}
----------
畫面に
javac CalcTable2.java
java CalcTable2
0 × 0 = 0
1 × 1 = 1
2 × 2 = 4
3 × 3 = 9
4 × 4 = 16
5 × 5 = 25
6 × 6 = 36
7 × 7 = 49
8 × 8 = 64
9 × 9 = 81
10 × 10 = 100
----------
CalcTable3.java (計算プログラム、printfメソッドを使った)
----------
public class CalcTable3 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.printf("%d × %d = %d%n", i, i, i * i);
}
}
}
----------
畫面に
javac CalcTable3.java
java CalcTable3
0 × 0 = 0
1 × 1 = 1
2 × 2 = 4
3 × 3 = 9
4 × 4 = 16
5 × 5 = 25
6 × 6 = 36
7 × 7 = 49
8 × 8 = 64
9 × 9 = 81
10 × 10 = 100
----------
練習問題2-3
Daikei1.java(臺形の面積を求めるプログラム)
----------
public class Daikei1 {
public static void main(String[] args) {
System.out.println((2 + 3) * 4 / 2);
}
}
----------
畫面に
javac Daikei1.java
java Daikei1
10
----------
Daikei2.java(臺形の面積を求めるプログラム、第8章で學ぶメソッドで)
----------
public class Daikei2 {
public static void main(String[] args) {
System.out.println(daikei(2, 3, 4));
}
public static int daikei(int a, int b, int h) {
return (a + b) * h / 2;
}
}
----------
畫面に
javac Daikei2.java
java Daikei2
10
----------
練習問題2-4
CalcBig.java(オーバーフロー)
----------
public class CalcBig {
public static void main(String[] args) {
System.out.println(10000L * 10000L);
}
}
----------
畫面に
javac CalcBig.java
java CalcBig
100000000
----------
學んだこと
。計算
。Java言語の式の表現
。演算子の優先順位
。+が數の計算だけではなく、文字列の連結に使える