1. 程式人生 > >Java習題2講解(1)

Java習題2講解(1)

1.問答題

  1. 什麼叫識別符號?識別符號的規則是什麼?false是否可以作為識別符號?
  2. 什麼叫關鍵字?true 和 false 是否是關鍵字?請說出6個關鍵字。
  3. Java的基本資料型別都是什麼?
  4. float 型常量和double型常量在表示上有什麼區別?
  5. 怎樣獲取一維陣列的長度,怎樣獲取二維陣列中一維陣列的個數?

問答題答案解析:

1.用來標識類名、變數名、方法名、型別名、陣列名、檔名的有效字元序列成為識別符號。識別符號由字母,下劃線、美元符號和數字組成第一個字元不能是數字,false 不是識別符號,雖然false不是關鍵字,但它是Boolean型別的取值之一,有特定的意義。
2.關鍵字就是Java語言中已經被賦予特定意義的一些單詞,不可以把關鍵字作為名字來用。true 和 false 都不是關鍵字。其他的關鍵字舉例:class (類) implements(實現介面) interface(介面類) enum (列舉)extends(繼承)abstract(抽象類或抽象方法)
3.boolean,char,byte,short,int,long,float,double
4.float常量必須用F或f為字尾。double常量用D或d為字尾

。但double常量允許省略字尾。
5.一維陣列名.length 二維陣列名.length

二、選擇題

(1)下列哪項字元序列可以作為識別符號?
A.true B.default c._int D.good-class
(2)下列哪三項是正確的float變數的宣告?
A.float foo=-1;
B. float foo=1.0
C. float foo=42e1;
D.float foo=2.02f
E.float foo=3.03d;
F.float foo=0x0123;
(3)下列哪一項是正確的?
A. char 型字元在Unicode 表中的位置範圍是0-32767。
B. char 型字元在Unicode 表中的位置範圍是0-65535。
C.char 型字元在Unicode 表中的位置範圍是0-65536。
D.char 型字元在Unicode 表中的位置範圍是-32768~32767。
(4)以下哪兩項是正確的char 型變數宣告?
A.char ch=”R”;
B.char ch =’\’;
C.char ch =’ABCD’;
D.char ch = “ABCD”;
E.char ch =’\ucafe’;
F.char ch =’\u10100’;
(5)下列程式中哪些【程式碼】是錯誤的?

Java
public class E{
    public static void main(String args[]){
        int x=8;
        byte b =127;   //【程式碼1】
        b=x;           //【程式碼2】
        x=12L;         //【程式碼3】
        long y=8.0;    //【程式碼4】
        float z=6.89;  //【程式碼5】
    }
}

(6)對於int a[] = new int [3];下列哪個敘述是錯誤的?
A. A.length的值是3
B.a[1]的值是1
C.a[0]的值是0
D. a[a.length-1]的值等於a[2]的值

選擇題答案解析:

1.答案:C 根據識別符號的命名規則,A和B為關鍵字無法作為識別符號,D含有“-”是非法的。
2.答案:ADF B的1.0為double型變數,賦值給float變數需要強制型別轉換:float foo=(double)1.0或者是加字尾f。C也是同理。而E的3.03d本身就是不存在的寫法。F是16進位制寫法是可以的。
3.答案:B char是兩個位元組的,在c語言中是-32768~32767,Unicode表是從0開始到65535,要注意在Java中是沒有unsigned型別的。
4.答案:BF 首先給char字元變數賦值要用單引號,其次只能接受一個字元,雙引號為String字串型別,F為Unicode碼的正確表示方法
5.【程式碼2】【程式碼3】【程式碼4】【程式碼5】都是錯的。 程式碼2把int變數賦值給byte變數,大轉小,需要強制型別轉換。程式碼3同理long 轉int,程式碼4不能把浮點型變數賦值給整型變數,程式碼5需要有後綴f否則預設是double型別
6.答案B Java裡宣告陣列的語法和C是有一些區別的,C裡我們可以直接宣告int a[10];而在Java裡我們需要先宣告陣列int a[],再用new關鍵字給陣列分配元素a=new int[3],這是因為陣列是引用型別的,陣列名就是首個元素的地址也就是引用(物件)建立陣列後預設元素的值都為0。可以使用陣列名.length返回陣列的長度。