第一回Java試験問題解答
javac Sample.java
とします.
- Sample.classというバイトコードができます.
- Javaインタプリタと言います.
- Javaアプレットと言います.
- appletviewerコマンドを使います.
- Javaサーブレットと言います.
public static void main(String arg[]){}
と書きます.
System.out.print("Hello");
と書きます.
- gotoとconstの二つです.
- サイズは16ビット,保持できる値はUnicode文字です.
- byte型,short型,int型,long型です.
- クラスと配列です.
- 加算演算子を使います.
- if〜else文と,switch文です.
- for文,while文,do〜while文です.
- throw文(try〜catch文も.)
- new演算子と
int[] a;とint a[];です.
- a.lengthです.
- java.lang.Stringクラスです.
- 0です.
- if(num%100==0)です.
- if(year%4==0&&year%100!=0||year%400==0)です.
- 300です.System.out.println(y++);とは,yを出力したあと,yに1をた
します.
- 9です.aに5をだいにゅうして,a+3した値8をaに代入して,aに1をたし
た値9をxに代入します.
- 0です.a/bの値3をaに代入したので,,a%bの値は0になります.
- 9です.ここでは,iが3になったらfor文をぬけますが,iが3のとき,j
の値も3になるので,i*jは9になります.
- 10です.i=2なので,i>0よりiに-1をたした値1を出力します.i=1なの
で,i>0よりiに-1をたした値0を出力します.このとき,
System.out.print(i);としているので,改行しません.i=0なので,while文か
らぬけて終了します.
- 156です.10000を2進数で表すと,10011100010000になります.これを,
for文より,i=0,i=1,i=2,i=3計6ビット右にシフトすると,10011100になり
ます.これを10進数になおすと,156になります.
- 12です.iが1のとき,if文より++numは1なので,割り切れるので,numに1
が足されます.これは,i=2,3,4,5,6,7,8,9,10のときも成り立つので,i=10
のときはnumも10なのでnumに1が足され,11になります.結果,++numは12に
なります.
- 12です.if文で,a++が10か10でないときa++を行うのですが,a==9なので,
a++は10になり,a++ == 10がなりたつのでa++してa=11になり,これはa++
!= 10がなりたつのでa++してa==12になります.実際,このブール型論理和演
算子のきちんとした意味はまだわかりません.
講義資料プログラムの考察
class CircleC { // クラス
double pai = 3.14; // データ
double circle(int r) { // メソッド
return pai * r * r;
}
}
class Demo { // クラス
public static void main(String args[]) { // メソッド
double area;;
CircleC obj; // オブジェクト
obj = new CircleC();
area = obj.circle(10);
System.out.println("area = " + area);
}
}
上のプログラムで,インスタンスフィールドは,
double pai = 3.14; , double area;
です.インスタンスメソッドは,
double circle(int r){}
です.クラスフィールド,クラスメソッドはありません.
四則演算の計算プログラムでは,インスタンスフィールドは,
int a,b,wa,sa,seki,sho;
です.インスタンスメソッドは,
int add() , int substract() , int multiply() , int divide()
です.
クラスフィールド,クラスメソッドとインスタンスフィールド,インスタンス
メソッドとの違いは,static修飾子があるかないかで判別します.クラスフィー
ルド,クラスメソッドなら,static修飾子を宣言します.