/*
* 作成日: 2004/11/11
*/
/**
* Test06
*
* @author j04021
*/
プログラム | 実行結果 |
---|---|
public class Report03 { public static void main(String[] args) { System.out.println("・コメント"); public static void Cmnt() { // mainの記述 sum = 0; for (i=1; i<=5; i++) { ch = 'J'; // 半角文字 idt = 1234567890; ldt = 1234567890123456789L; // Lはlong値を示す fdt = 123.456F; // Fはfloat値を示す ddt = 123.456789012345; idt = 022; // 8進数の22 idt = 0x22; // 16進数の22 ddt = 5.67e4; // 指数表現の56700 ch = '\n'; // エスケープ文字 ss = "AAAA\tBBBB"; // 文字列定数(エスケープ文字を含む) System.out.println("CNST1 = " + CNST1); a = 100; System.out.println("a = " + a); f = 90.0; System.out.println("f = " + f); for (a=1; a<=5; a++) { public static void Inde() { // ++演算子を使わないときの記述 // ++演算子を使ったときの記述 // --演算子を使う } |
・コメント
・文字列出力 HHHHH "IIIII" ・変数宣言と数値出力
・繰り返し処理
・条件処理
・データ型
・算術演算子
・関係演算子
・論理演算子
・インクリメント/デクリメント演算子 |
コメント ( PP.28~30 )
javaプログラムのコメントには、以下の3つがある。
記述 | 名前 | 意味 |
---|---|---|
// コメント | 単一行コメント | このマーク以降の行の文字がコメントとして扱われる。 このコメントを使って1行のコードを一時的に削除する事も出来る。 |
/* |
複数行コメント | 単一行コメントとは違い、複数行にわたってコメントアウトする事が出来る。 こちらも任意のコードを一時的に削除するために用いられる。 |
/** コメント */ |
ドキュメンテーションコメント | ドキュメンテーションコメントの利点はJavadocなどのツールを使ってソースファイルからコメントを抜き出す事が出来る。 |
コメントとは自分や他の人のためにソース内に書き込むメモのようなものです。コメントはプログラマのために存在し、
そのコードの機能や使用方法を思い出す事ができるように、意味や目的などを記します。
printメソッド | 出力結果 | 意味 |
---|---|---|
print(" AAAAA ") | AAAAA(改行無し) | 出力したい文字列を「" "」で挟む。 |
println(" AAAAA ") | AAAAA(改行あり) | printと同様。また文字列出力のあとに改行する。 |
print(" AAA\nAA ") | AAA AA |
「\」はバックスラッシュコードという。「\n」は改行。 |
print("AAA" + "AA") | AAAAA | 2つに分けて書く必要がある場合は「+」で繋げる。 |
print("\"AAA\"" + "AA" ) | "AAA"AA | 「\"」で「"」を表示できる。 |
バックスラッシュコード(P.98)
コード | 意味 |
---|---|
\b | バックスペース |
\n | 改行 |
\r | キャリッジリターン |
\f | フォームフィールド |
\t | 水平タブ |
\" | 二重引用符 |
\' | 一重引用符 |
\0 | null値 |
\\ | バックスラッシュ |
\N | 8進数定数( N = 0 ~ 7 ) |
\NN | 8進数定数( N = 0 ~ 7 ) |
\MNN | 8進数定数( N = 0 ~ 3 , N = 0 ~ 7 ) |
\uxxxx | Unicode文字(xxxxは4桁の16進数定数) |
なお、バックスラッシュコードは文字定数です。
そのため、文字変数に代入する時は次のように一重引用符で囲まれなければなりません。
char ch; ch = ' \t ' ; // chにタブ文字を代入する |
変数とは、名前の付いたメモリ位置の事で、変数には何らかの値を格納する事ができます。
型 | 説明 | 分類 |
---|---|---|
byte | 8ビット符号付き整数 | 符号付整数型 |
short | 16ビット符号付き整数 | |
int | 32ビット符号付き整数 | |
long | 64ビット符号付き整数 | |
char | 16ビットUnicodeキャラクタデータ | 文字(整数型) |
float | 32ビット符号付き浮動小数点 | 浮動小数点数型 |
double | 64ビット符号付き浮動小数点 | |
boolean | 真偽値 | 論理値型 |
変数と同じように定数にもデータ型がある。整数の定数はデフォルトでint型、 小数点数の定数のデフォルトはdouble型になっている。
整数でlong型の定数を明確に示す場合は数値の末尾にLかlを、小数点数でdouble型の定数を明確に示す場合は数値の末尾にDかdをつける。
ただし、byte型とshort型は明確に示 す方法はない。
int a = 123; //int型の定数 long b = 123L; //long型の定数 double c = 123.0; //double型の定数 float d = 123.0f; //float型の定数 double e = 1.23e3; //1.23×10の3乗 byte f = 0X1a; //16進数の定数 |
変数の修飾子
変数宣言の直前に指定できる修飾子は7種類あります。その機能を簡単にまとめ ると次のようになります。
キーワード | 説明 |
---|---|
final | 定数として使える変数 |
private | 同じクラスのコードからしかアクセスできない変数 |
protected | サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数 |
public | ほかのクラスからアクセスできる変数 |
static | インスタンス変数ではない変数 |
transient | クラスの永続的な状態の一部ではない変数 |
volatile | 不意に値が変更される事がある変数 |
繰り返し処理
for文について
for文は for(1,2,3){}の構造となっており1が初期値の式、2が繰り返しの条件式、3が繰り返し後の変化の式となっています。
そして、ループしていく中で実行されるのが{}の中の命令です。
while文について
while文は while(1) 文1の構造になっていて1がループするための条件式になっており、条件を満たしていれば
文1が繰り返し実行され続けますが、条件を満たさないと文1は実行されません。
・・演算子
算術演算子(P.21)
演算子 | 説明 |
---|---|
+ | 加算 |
− | 減算(単項マイナス) |
* | 乗算 |
/ | 除算 |
% | 乗除 |
+= | 加算代入 |
−= | 減算代入 |
*= | 乗算代入 |
/= | 除算代入 |
%= | 乗除代入 |
++ | インクリメント |
−− | デクリメント |
これらの演算子には真偽値のオペランドを使用する事ができません。また - には2つの意味があり第一の用途は減算演算子です。
第二の用途は数値の符号を逆にするための単項演算子のマイナスです。
* / % の各演算子は + と - よりも演算する優先度が高くなります。
+ や - を先に優先してやるには小括弧を使用して評価順序を変更する事です。
例…
100 - 50 * 2 = 0 | 括弧無し |
(100 - 50) * 2 = 100 | 括弧有り |
関係演算子(P.85)
演算子 | 意味 | 例 | 例の意味 |
---|---|---|---|
== | 等しい | i == j | i と j は等しい |
!= | 等しくない | i != j | i は j と等しくない |
> | より大きい | i > j | i は j より大きい |
< | より小さい | i < j | i は j より小さい |
>= | より大きいか等しい | i >= j | i は j 以上 |
<= | より小さいか等しい | i <= j | i は j 以下 |
*注…これらの演算子では2つの不等号の間にスペースを入れてはいけない。
論理演算子(P.100)
演算子 | 動作 | 例 | 例の説明 |
---|---|---|---|
& | 論理積 | a & b | AND。2つの項が真の時のみ結果が真となる論理演算 |
| | 論理和 | a | b |
OR。2つの項が偽の時のみ結果が偽となる論理演算 |
^ | 排他的論理和 | a ^ b | Exclusive OR。2つの項が異なる時のみ結果が真となる論理演算 |
! | 否定 | a ! b | NOT。項の真偽が逆になる論理演算 |
&& | 論理積(ショートカット) | a && b | a が偽なら、b は実行しない |
| | | 論理和(ショートカット) | a | | b | 〃 |
論理積の場合両方のオペランドが真の場合のみ真となるので最初(左)のオペランドが偽と判った時点で結果が決まります。
そのためいちいち2つオペランドを評価しなくても良いわけです。
これは論理和でも同じような事が言えます。これにより論理積と論理和の関係する状況でショートカット演算子を使うと
効率的なコードが生成でき無駄が省かれるという事になります。
p | q | p & q | p | q | p ^ q | ! p |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
高い
低い |
! |
> >= < <= | |
== != | |
& | |
^ | |
| | |
&& | |
| | |
関係演算子と論理演算子では共に算術演算子よりも低い優位順位となります。
例
5 + a > b - 10 |
は下のものと等価となります。
(5 + a) > (b - 10) |
・感想
今回はHTMLで初めて表を作ってみた。 思っていたよりもややこしくて大変だった。
正直、これに力を入れすぎて、本来力を入れるべき考察がお粗末な物になってしまった気がします。
テストも近いという事で、もっと早くから取りかかればよかったです。
参考文献
・独習Java第2版
ジョセフ・オニール 著