講義資料を参考にJavaの基礎的な文法について、教科書と対応させながら解説・考察せよ。 |
public /*これもコメントです*/ class Test01 { // Test01.java public static void main(String args[]) { // mainの記述 System.out.println("コメント"); cmnt(); // cmntスレッドの呼び出し System.out.println("¥n¥n文字列出力"); smp1(); System.out.println("¥n¥n変数宣言と数値出力"); smp2(); System.out.println("¥n¥n繰り返し処理"); smp3(); System.out.println("¥n¥n条件処理"); smp4(); } public static void cmnt() { // mainの記述 System.out.println("My first Java."); // 文字列出力する } public static void smp1() { System.out.print("AAAAA"); System.out.print("BBBBB¥nCCCCC¥n"); System.out.println("DDDDD"); System.out.println("EEEEE¥nFFFFF¥n¥nGGGGG"); } public static void smp2() { int a, b, sum; a = 100; b = 200; sum = a + b; System.out.print("a="); // 文字列だけ出力 System.out.println(a); // 数値だけ出力 System.out.println("b=" + b); // 文字列と数値を出力 System.out.println("a+b=" + sum); // 結果を出力 System.out.println("a+b=" + (a+b)); // 直接計算させる } public static void smp3() { int i, sum; for (i=1; i<=5; i++) System.out.println("i=" + i); sum = 0; for (i=1; i<=5; i++) { sum = sum + i; System.out.println("sum=" + sum); } } public static void smp4() { int i; for (i=1; i<=5; i++) { System.out.print("i=" + i); if (i < 3) System.out.println(" 3未満です"); else System.out.println(" 3以上です"); } } } |
|
|
コード | 意味 |
\b | バックスペース |
\n | 改行 |
\r | キャリッジリターン |
\f | フォームフィード |
\t | 水平タブ |
\" | 二重引用符 |
\' | 一重引用符 |
\0 | null文字 |
\\ | バックスラッシュ |
\N | 8進定数(N=0〜7) |
\NN | 8進定数(N=0〜7) |
\MNN | 8進定数(M=0〜3、N=0〜7) |
\uxxxx | Unicode文字(xxxxは4桁の16進定数) |
public class Test02 { // Test02.java public static void main(String args[]) { char ch; boolean bdt; int idt; long ldt; float fdt; double ddt; String ss; final int CNST1 = 1234; // final定数 ch = 'A'; // 半角文字 System.out.println("文字=" + ch + " code=" + (int)ch); ch = '亜'; // 全角文字 System.out.println("文字=" + ch + " code=" + (int)ch); bdt = true; System.out.println("bdt = " + bdt); idt = 1234567890; System.out.println("idt = " + idt); ldt = 1234567890123456789L; // Lはlong値を示す System.out.println("ldt = " + ldt); fdt = 123.456F; // Fはfloat値を示す System.out.println("fdt = " + fdt); ddt = 123.456789012345; System.out.println("ddt = " + ddt); idt = 022; // 8進数の22 System.out.println("8進22 = " + idt); idt = 0x22; // 16進数の22 System.out.println("16進22 = " + idt); ddt = 5.67e4; // 指数表現の56700 System.out.println("指数 = " + ddt); ch = '¥n'; // エスケープ文字 System.out.println("改行文字コード = " + (int)ch); ss = "AAAA¥tBBBB"; // 文字列定数(エスケープ文字を含む) System.out.println("ss = " + ss); System.out.println("CNST1 = " + CNST1); } } |
文字=A code=65 <= 半角文字 文字=亜 code=20124 <= 全角文字 bdt = true <= 論理定数 idt = 1234567890 <= int型 ldt = 1234567890123456789 <= Lを付与したlong値定数 fdt = 123.456 <= Fを付与したfloat値定数 ddt = 123.456789012345 <= double型 8進22 = 18 <= 8進数の22 16進22 = 34 <= 16進数の22 指数 = 56700.0 <= 5.67e4 改行文字コード = 10 <= エスケープ文字¥n ss = AAAA BBBB <= ¥t(タブ)を含む文字列 CNST1 = 1234 <= final定数 |
|
型 | 説明 |
char | 16ビットUnichodeキャラクタデータ |
boolean | 真偽値 |
byte | 8ビット符号付き整数 |
short | 16ビット符号付き整数 |
int | 32ビット符号付き整数 |
long | 64ビット符号付き整数 |
float | 32ビット符号付き浮動小数点 |
double | 64ビット符号付き浮動小数点 |
public class Test06 { // Test06.java public static void main(String args[]) { System.out.println("算術演算子"); comp1(); System.out.println("¥n¥n関係演算子"); comp2(); System.out.println("¥n¥n論理演算子"); comp3(); System.out.println("¥n¥nインクリメント/デクリメント演算子"); comp4(); } public static void comp1() { int a, b, c; double f, g, h; a = 100; System.out.println("a = " + a); b = 30; System.out.println("b = " + b); c = a + b; System.out.println("a+b = " + c); // 加算 c = a - b; System.out.println("a-b = " + c); // 減算 c = a * b; System.out.println("a*b = " + c); // 乗算 c = a / b; System.out.println("a/b = " + c); // 整数除算 c = a % b; System.out.println("a%b = " + c); // 整数剰余 f = 90.0; System.out.println("f = " + f); g = 40.0; System.out.println("g = " + g); h = f / g; System.out.println("f/g = " + f/g); // 浮動小数点数除算 } public static void comp2() { int a; for (a=1; a<=5; a++) { System.out.println("--------" + a); if (a < 2) System.out.println("2未満"); if (a >= 4) System.out.println("4以上"); if (a == 3) System.out.println("3である"); if (a != 3) System.out.println("3ではない"); } } public static void comp3() { int a; for (a=1; a<=5; a++) { System.out.println("--------" + a); if (a>=2 && a<=4) System.out.println("2以上かつ4以下"); if (a<2 || a>4) System.out.println("2未満または4より大"); if (!(a==1 || a==3)) System.out.println("1または3、ではない"); } } public static void comp4() { int dt[] = {100, 200, 300}; // 配列を確保 int n; // ++演算子を使わないときの記述 n = 0; System.out.println(dt[n]); // dt[0]を表示 n = n +1; System.out.println(dt[n]); // dt[1]を表示 n = n +1; System.out.println(dt[n]); // dt[2]を表示 // ++演算子を使ったときの記述 n = 0; System.out.println(dt[n++]); // dt[0]を表示 System.out.println(dt[n++]); // dt[1]を表示 System.out.println(dt[n++]); // dt[2]を表示 // --演算子を使う n = 5; while (--n >= 0) { // n回繰り返す System.out.println("n=" + n); } } } |
算術演算子 a = 100 b = 30 a+b = 130 a-b = 70 a*b = 3000 a/b = 3 a%b = 10 f = 90.0 g = 40.0 f/g = 2.25 関係演算子 --------1 2未満 3ではない --------2 3ではない --------3 3である --------4 4以上 3ではない --------5 4以上 3ではない 論理演算子 --------1 2未満または4より大 --------2 2以上かつ4以下 1または3、ではない --------3 2以上かつ4以下 --------4 2以上かつ4以下 1または3、ではない --------5 2未満または4より大 1または3、ではない インクリメント/デクリメント演算子 100 200 300 100 200 300 n=4 n=3 n=2 n=1 n=0 |
|
演算子 | 説明 |
+ | 加算 |
- | 減算(単項マイナス) |
* | 乗算 |
/ | 除算 |
% | 剰余 |
+= | 加算代入 |
-= | 減算代入 |
*= | 乗算代入 |
/= | 除算代入 |
%= | 剰余代入 |
++ | インクリメント |
-- | デクリメント |
演算子 | 意味 |
== | 等しい |
!= | 等しくない |
> | より大きい |
< | より小さい |
>= | より大きいか等しい |
<= | より大きいか等しい |
演算子 | 動作 | 説明 |
& | 論理積 | AND。2つの項が真のときにだけ結果が真となる論理演算 |
| | 論理和 | OR。2つの項が偽のときにだけ結果が偽となる論理演算 |
^ | 排他的論理和 | Excusive OR。2つの項が異なるときにだけ結果が真となる論理演算 |
! | 否定 | Not。項の真偽が逆になる論理演算 |
&& | 論理積(ショートカット) | |
|| | 論理和(ショートカット) | |
== | 等しい | |
!= | 等しくない |
ジョゼフ=オニール著 独習Java第3版 (翔永社) |
今回は解析・考察する内容が非常に多かった。これだけの量(これから習う事も含めて)を全部使えるようになるには、何度も繰り返す必要があると思う。これからも頑張っていきたい。 |