Report#3

戻る

 講義資料を参考にJavaの基礎的な文法について、教科書と対応させながら解説・考
察せよ。

1.Test01.java 2.Test02.java 3.Test06.java

1.Test01.java

プログラム
01. public /*これもコメントです*/ class Test01 { // Test01.java 02. public static void main(String args[]) { // mainの記述 03. System.out.println("コメント"); 04. cmnt(); // cmntスレッドの呼び出し 05. System.out.println("\n\n文字列出力"); 06. smp1(); 07. System.out.println("\n\n変数宣言と数値出力"); 08. smp2(); 09. System.out.println("\n\n繰り返し処理"); 10. smp3(); 11. System.out.println("\n\n条件処理"); 12. smp4(); 13. } 14. 15. public static void cmnt() { // mainの記述 16. System.out.println("My first Java."); // 文字列出力する 17. } 18. 19. public static void smp1() { 20. System.out.print("AAAAA"); 21. System.out.print("BBBBB\nCCCCC\n"); 22. System.out.println("DDDDD"); 23. System.out.println("EEEEE\nFFFFF\n\nGGGGG"); 24. } 25. 26. public static void smp2() { 27. int a, b, sum; 28. 29. a = 100; 30. b = 200; 31. sum = a + b; 32. System.out.print("a="); // 文字列だけ出力 33. System.out.println(a); // 数値だけ出力 34. System.out.println("b=" + b); // 文字列と数値を出力 35. System.out.println("a+b=" + sum); // 結果を出力 36. System.out.println("a+b=" + (a+b)); // 直接計算させる 37. } 38. 39. public static void smp3() { 40. int i, sum; 41. 42. for (i=1; i<=5; i++) 43. System.out.println("i=" + i); 44. 45. sum = 0; 46. for (i=1; i<=5; i++) { 47. sum = sum + i; 48. System.out.println("sum=" + sum); 49. } 50. } 51. 52. public static void smp4() { 53. int i; 54. 55. for (i=1; i<=5; i++) { 56. System.out.print("i=" + i); 57. if (i < 3) 58. System.out.println(" 3未満です"); 59. else 60. System.out.println(" 3以上です"); 61. } 62. } 63. }
実行結果
コメント My first Java. 文字列出力 AAAAABBBBB CCCCC DDDDD EEEEE FFFFF GGGGG 変数宣言と真値出力 a=100 b=200 a+b=300 a+b=300 繰り返し処理 i=1 i=2 i=3 i=4 i=5 sum=1 sum=3 sum=6 sum=10 sum=15 条件処理 i=1 3未満です i=2 3未満です i=3 3以上です i=4 3以上です i=5 3以上です
 /*〜*/は複数行コメントで、〜の部分がコメントとして解釈される。  //から始まるのは単一行コメントで、以降の文字から行末尾までコメントとして解釈される。  for (i=1; i<=5; i++)は、iが5になるまで+1し続ける。  sum = sum + i;の+は、算術演算子であるが、System.out.println("sum=" + sum);の+は、連結演算子である。連結演
算子は、2つの文字列を連結する演算子で、引用符で囲まれた文字列を使用できる場所であればどこでも使用できる。

2.Test02.java

プログラム
01. public class Test02 { // Test02.java 02. public static void main(String args[]) { 03. char ch; 04. boolean bdt; 05. int idt; 06. long ldt; 07. float fdt; 08. double ddt; 09. String ss; 10. final int CNST1 = 1234; // final定数 11. 12. ch = 'A'; // 半角文字 13. System.out.println("文字=" + ch + " code=" + (int)ch); 14. ch = '亜'; // 全角文字 15. System.out.println("文字=" + ch + " code=" + (int)ch); 16. 17. 18. bdt = true; 19. System.out.println("bdt = " + bdt); 20. 21. idt = 1234567890; 22. System.out.println("idt = " + idt); 23. 24. ldt = 1234567890123456789L; // Lはlong値を示す 25. System.out.println("ldt = " + ldt); 26. 27. fdt = 123.456F; // Fはfloat値を示す 28. System.out.println("fdt = " + fdt); 29. 30. ddt = 123.456789012345; 31. System.out.println("ddt = " + ddt); 32. 33. idt = 022; // 8進数の22 34. System.out.println("8進22 = " + idt); 35. 36. idt = 0x22; // 16進数の22 37. System.out.println("16進22 = " + idt); 38. 39. ddt = 5.67e4; // 指数表現の56700 40. System.out.println("指数 = " + ddt); 41. 42. ch = '\n'; // エスケープ文字 43. System.out.println("改行文字コード = " + (int)ch); 44. 45. ss = "AAAA\tBBBB"; //文字列定数(エスケープ文字を含む) 46. System.out.println("ss = " + ss); 47. 48. System.out.println("CNST1 = " + CNST1); 49. } 50. }
実行結果
文字=A code=65 文字=亜 code=20124 bdt = true idt = 1234567890 ldt = 1234567890123456789 fdt = 123.456 ddt = 123.456789012345 8進22 = 18 16進22 = 34 指数 = 56700.0 改行文字コード = 10 ss = AAAA BBBB CNST1 = 1234
 charは、16ビットUnicodeのデータ型である。  booleanは、真偽値を表すデータ型である。boolean型は、true(真)またはfalse(偽)のどちらかの値を持つ。  intは、32ビット符号付き整数を表すデータ型である。  longは、64ビット符号付き整数のデータ型である。  floatは、32ビット符号付き浮動小数点数のデータ型である。  doubleは、64ビット符号付き浮動小数点数のデータ型である。  final int CNST1 = 1234;のfinalは、定数として使える変数を表す、変数の修飾子である。

3.Test06.java

プログラム
01. public class Test06 { // Test06.java 02. public static void main(String args[]) { 03. System.out.println("算術演算子"); 04. comp1(); 05. System.out.println("\n\n関係演算子"); 06. comp2(); 07. System.out.println("\n\n論理演算子"); 08. comp3(); 09. System.out.println("\n\nインクリメント/デクリメント演算子"); 10. comp4(); 11. } 12. 13. public static void comp1() { 14. int a, b, c; 15. double f, g, h; 16. 17. a = 100; System.out.println("a = " + a); 18. b = 30; System.out.println("b = " + b); 19. c = a + b; System.out.println("a+b = " + c); // 加算 20. c = a - b; System.out.println("a-b = " + c); // 減算 21. c = a * b; System.out.println("a*b = " + c); // 乗算 22. c = a / b; System.out.println("a/b = " + c); // 整数除算 23. c = a % b; System.out.println("a%b = " + c); // 整数剰余 24. 25. f = 90.0; System.out.println("f = " + f); 26. g = 40.0; System.out.println("g = " + g); 27. h = f / g; System.out.println("f/g = " + f/g); // 浮動小数点数除算 28. } 29. 30. public static void comp2() { 31. int a; 32. for (a=1; a<=5; a++) { 33. System.out.println("--------" + a); 34. if (a < 2) System.out.println("2未満"); 35. if (a >= 4) System.out.println("4以上"); 36. if (a == 3) System.out.println("3である"); 37. if (a != 3) System.out.println("3ではない"); 38. } 39. } 40. 41. public static void comp3() { 42. int a; 43. 44. for (a=1; a<=5; a++) { 45. System.out.println("--------" + a); 46. if (a>=2 && a<=4) 47. System.out.println("2以上かつ4以下"); 48. if (a<2 || a>4) 49. System.out.println("2未満または4より大"); 50. if (!(a==1 || a==3)) 51. System.out.println("1または3、ではない"); 52. } 53. } 54. 55. public static void comp4() { 56. int dt[] = {100, 200, 300}; // 配列を確保 57. int n; 58. 59. // ++演算子を使わないときの記述 60. n = 0; 61. System.out.println(dt[n]); // dt[0]を表示 62. n = n +1; 63. System.out.println(dt[n]); // dt[1]を表示 64. n = n +1; 65. System.out.println(dt[n]); // dt[2]を表示 66. 67. // ++演算子を使ったときの記述 68. n = 0; 69. System.out.println(dt[n++]); // dt[0]を表示 70. System.out.println(dt[n++]); // dt[1]を表示 71. System.out.println(dt[n++]); // dt[2]を表示 72. 73. // --演算子を使う 74. n = 5; 75. while (--n >= 0) { // n回繰り返す 76. System.out.println("n=" + n); 77. } 78. } 79. }
実行結果
算術演算子 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
 int dt[] = {100, 200, 300};は、32ビット符号付き整数配列dt[] = {100, 200, 300}を定義する。