■プログラム
public /*これもコメントです*/ class Report3_sample1 { public static void main(String args[]) { 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以上です"); } } } |
■実行結果
コメント 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以上です |
■考察
表記法 | 特徴 |
---|---|
// これはコメント |
"//"からその行を改行するまでがコメント部分となります。 |
表記法 | 特徴 |
---|---|
/*これはコメント*/ /*これは 3行にわたる */長いコメント |
"/*"で始まり"*/"で終わるコメントです。複数行に渡って書く事が出来ます。 |
表記法 | 特徴 |
---|---|
/** これはJavaの ドキュメンテーション コメントです。 */ |
"/**"で始まり"*/"で終わるコメントです。 このコメント形式は、javadoc というドキュメンテーションツールの為のものです。 ドキュメンテーションコメントが記述されたソースを javadoc に読み込ませると、API 文書形式の HTML 文書が自動的に出力されます。 |
public/*コメント*/static void main (String [] args){
のように単語の間に記述したり
System.out/*コメント*/.println("コメントのテスト");
のようにメソッドの式の中でも記述できます。ビックリ!
しかし、
Sys/*コメント*/tem.out.println("コメントのテスト");
のように単語を分裂させるような記述は出来ません。残念!
/*1つ目のコメント/*2つ目のコメント*/ ←ここでコメント終了と判断 */ ←エラーになる このように複数行コメントを入れ子状にして使うことも出来ません。
コード | 意味 |
---|---|
\b | バックスペース |
\n | 改行 |
\r | キャリッジリターン |
\f | フォームフィード |
\t | 水平タブ |
\" | 二重引用符 |
\' | 一重引用符 |
\0 | null値 |
\\ | バックスラッシュ |
\N | 八進定数(N = 0〜7) |
\NN | 八進定数(N = 0〜7) |
\MNN | 八進定数(M = 0〜3、N = 0〜7) |
\uxxxx | Unicode文字(xxxxは4桁の16進定数) |
演算子 | 説明 |
---|---|
+ | 加算 |
- | 減算(単項マイナス) |
* | 乗算 |
/ | 除算 |
% | 剰余 |
+= | 加算代入 |
-= | 減算代入 |
*= | 乗算代入 |
/= | 除算代入 |
%= | 剰余代入 |
++ | インクリメント |
-- | デクリメント |
10 - 2 * 5 |
(10 - 2) * 5 |
answer = count - 100; |
i = i + 6; |
i += 6 |
for(initialization; test; increment) statement; |
if (expression) statement 1; else statement 2; |
■プログラム2
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定数 |
■考察
教科書P.12~17型 | 分類 | ビット数 | 値 |
---|---|---|---|
char | 文字(整数) | 16 | 16ビットUnicodeキャラクタデータ(0 〜65535) |
boolean | 真偽値 | 1 | true,false |
byte | 符号付整数 | 8 | -27(-128)〜 27-1(127) |
short | 16 | -215(-32768)〜215-1(32767) | |
int | 32 | -231(-2147483648)~231-1(2147483647) | |
long | 64 | -263(-9223372036854775808)〜 263-1(9223372036854775807) | |
float | 浮動小数点数 | 32 | ±3.40282347E+38 〜 ±1.40239846E-45 |
double | 64 | ±1.79769313486231570E+308 〜±4.94065645841246544E-324 |
long l; l = 10000000000L;←みたいな |
int i8 = 015; //10進数の13を 8進数で表した。 int i16 = 0x15; //10進数の21を16進数で表した。 |
type varName; |
varName =value; |
System.out.println("文字列"); |
String s = "文字列代入"; System.out.println(s); 実行結果 文字列代入 |
System.out.println("二重引用符/" "); 実行結果 二重引用符" |
■プログラム3
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 |
■考察
教科書P.101~104演算子 | 意味 | 例 |
---|---|---|
== | 等しい | i == j |
!= | 等しくない | i != j |
> | より大きい | i > j |
< | より小さい | i < j |
>= | より大きいか等しい | i >= j |
<= | より小さいか等しい | i <= j |
演算子 | 動作 | 説明 |
---|---|---|
& | 論理積 | AND。二つの項が真のときにだけ 結果が真となる論理演算 |
| | 論理和 | OR。二つの項が偽のときにだけ 結果が偽となる論理演算 |
^ | 排他的論理和 | Exuclusive OR。二つの 項が異なるときにだけ結果が 真となる論理演算 |
! | 否定 | NOT。項の真偽が逆になる論理演算 |
& | 論理積(ショートカット) | |
|| | 論理和(ショートカット) |
p | q | p &q | p | q | p ^ q | !p |
---|---|---|---|---|---|
偽 | 偽 | 偽 | 偽 | 真 | 偽 |
偽 | 真 | 偽 | 真 | 真 | 真 |
真 | 偽 | 偽 | 真 | 真 | 偽 |
真 | 真 | 真 | 真 | 偽 | 偽 |
a>0 & c>a |
a>0 && c>a |
■反省・感想
・今回のレポートはなかなか頑張りました。かなり時間がかかりました。