01
|
*javacについて
javacツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、
バイトコードのクラスファイルにコンパイルする。
|
02
| ソースコードのファイル名は .java 拡張子、クラスのファイル名は .class拡張子を持たなければならない。
〜.javaという名前のソースファイルをコンパイルすると、〜.classという名前の拡張子ができる。
|
03
|
*javaインタプリタとjavaコンパイラ
・コンパイラ(compiler)
ソースコードを機械語や中間コードにいったん翻訳する。
それから、翻訳後のコードを実行する。
・インタプリタ(interpreter)
ソースコードを機械語や中間コードに通訳しながら実行する。
|
04
|
*javaアプレット
アプレットとは、ブラウザ上で実行されるJavaプログラミングのこと。
アプレットの用途には、アニメーションやBGM、ユーザとの対話型インターフェイスの実現など、さまざまなものがある。
(以下、レポート#2でやったので省略する。)
|
05
|
*appletviewer
appletviewer コマンドは urls に指定されたドキュメントあるいはリソースと接続して、
そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示する。
|
06
|
*サーブレットについて
サーブレット(Servle)tは、主にWebアプリケーションでの使用を想定し、Webサーバと連携して
クライアントと情報のやりとりを行いながら、処理を行っていくのが特徴。
|
07
|
メインメソッドは、
public static void main()[]{};
と定義します。
|
08
|
"Hello"のみ出力するするには、
System.out.print("Hello")
とする。
*このときplintlnにすると、改行もしてしまうので注意。(ってか、もう遅い。。)
|
09
|
*const,gotoについて
Java言語には、const,gotoは含まれていない!
予約語には、
・原始型およびその値を表す予約語(例 byte,char,…)
・クラス、オブジェクト、パッケージに関連する予約語(例 class,interface,…)
・クラス、メンバーの記述に用いられる修飾子の予約語(例 public,static,…)
・制御構造に関連する予約語(例 for,while,…)
・例外処理に関連する予約語(例 catch,throw,…)
がある。
以上の 48語の他に const, goto の 2語は、使用されないが予約はされている。
したがってプログラマーが独自の用途に使用することはできない。
|
10
|
*char型のサイズと保持できる値
char→16ビット、Unicode文字
●表現範囲(¥u0000〜¥uFFFF)
|
11
|
*データ型として整数を保持できる型
byte→8ビット符号付き整数
●表現範囲(-128〜127)
short→16ビット符号付き整数
●表現範囲(-32768〜32767)
int→32ビット符号付き整数
●表現範囲(-2147483648〜214748647)
long→64ビット符号付き整数
●表現範囲(-9223372036854775808〜9223372036854775807)
|
12
|
*参照型
クラスと配列を扱う変数の型のことを参照型と呼ぶ。
「参照」という言葉は、データの置かれているアドレスを意味している。
|
13
|
*文字連結演算子
文字列は+演算子で連結すつることができる。
+演算子は通常は数値加算を行うが、どちらかの要素が文字列の場合、文字列連結が行われる。
その際、数字要素は文字列表現に変換される。
|
14
|
*フロー分岐制御分
if文→2方向分岐
switch文→多方向分岐
(以下、レポート#3でやったので省略する。)
|
15
|
*反復処理制御分
for文→指定回数反復
while文→前判定型不定回数反復
do文→後判定型不定回数反復
|
16
|
*例外処理制御分
プログラムは実行時ひいろいろなエラーを発生させる。またエラーではないが、何かの対処を必要とする状況も発生する。
・エラー例:存在しないファイルをオープンしようとした。
・非エラー例:ファイルから正常入力中にデータが終了した。
この両者の状況が発生したらそれぞれに適切な対処が必要となる。
このようなプログラム実行時に発生する特殊状況をJavaは「例外処理」という機能で検出し処理する。
例外処理で検出するのは「エラー発生」と「状況変化」。
throw文→例外を発生させる。
|
17
|
*配列生成
new演算子はクラスのインスタンスを生成します。
|
18
|
*int型の配列a宣言方法
int型の配列a宣言方法には
int[] a;
int a[];
がある。
|
19
|
配列の要素数を取得するには.lengthを使う。
|
20
|
*concatメソッド
concatのメソッドはjava.lang.Stringです。
"文字列".concat("文字列")
指定した 2 つ以上の文字列を連結し、連結した文字列を格納した文字列の値を返す。
|
21
|
int[]=a{};の要素数は0になる。
|
22
|
int型変数numが100で割り切れるかどうかを判断する制御分は、
if((num%100)==0)); //もしnumが100で割って余りが0になればという意味。
|
23
|
int型変数yearが、閏年かどうか判断する制御文は
if((((year%4)==0)&&((year%100)!=0))||year%400==0);
//yearが4で割れて、かつ100では割り切れない。また、400では割り切れる。
|
24
|
int x,y;
x=100; x+=1;x--; y=200 +x; //xは100,100に1をたしてxは101,101-1でxは再び100。y=200+300
System.out.println(y++); //y++は後加算なので301になる前の値の300が表示される。
実行結果:300
|
25
|
int a=0,x=0;
a = 5;a +=3; x = ++a; //aの値は5+3で8になり、8+1=9になる。
System.out.println(x); //よって、9が表示される。
実行結果:9
|
26-1
|
int a=9,b=3;
a /=b; //a=9/3で3になる。
System.out.println(a%b); //3/3の値で0あまるので0が表示される。
実行結果:0
|
26-2
|
int i,j;
for(i=0,j=0; i<3; i++) ++j; //iは1づつ増加し、jも1づつ増加してi=3,j=3
System.out.println(i*j); //i*jで、3*3=9になる
実行結果:9
|
27
|
int i=2;
while(i-- > 0)System.out.print(i); //iを1づつ減らして、iが0より大きい限りiを表示していく。
//よって、10と表示される。
実行結果:10
|
28
|
int num=10000; //10000はbit表示で表すと10011100010000
for(int i=0; i<4;i++) num >>= i; //iは0から3まで1づつ増加していく。
//この時、1づつ増えるたびにnumを左にビットシフトしていく。
//まず、1ビット左シフトで1001110001000
//次に、2ビット左シフトで10011100010
//最後に、3ビット左シフトで10011100
//よって、10011100となり、10進数で表すと156となる。
System.out.println(num);
実行結果:156
|
29
|
int num=0;
for(int i=1;i<=10;i++){if(++num % i ==0) num++;} //for文のなかでiが10になるまで{}を繰り返す。
//もし、numに1加えたものをiで割ったあまりが0ならnumに1を加える
System.out.println(++num); //最後に11に1をたして12と表示される。
実行結果:12
|
30
|
int a=9;
if(a++ !=10 | a++ ==10) a++ //まず、a(=9)と10が違うか調べたあとに、aに1を加え、
a(=10)を同じか比べたあと、aに1を加える。
//ここで、左と右のどちらかが真ならaに1を加え、結果、12が表示される。
System.out.println(a);
実行結果:12
|