Java程式設計第二章作業

Mr_Fattycat發表於2020-10-22

1 問答題:

1.Java包含哪些資料型別?請舉例說明

基本資料型別(primitive type)包括:
整數型別:byte(8位),short(16位),int(32位),long(64位(都是有符號型別)
浮點型別:float,double
字元型別:char(16位,使用Unicode字符集)
布林型別:boolean(C++ 的布林型別是bool)
引用型別(reference type)包括:
class(類)
interface(介面)
陣列

2.Java基本資料型別轉換包含哪兩類?請舉例說明

自動型別轉換:byte、short、char型別被提升到int型別,整型,實型,字元型資料可以混合運算。運算中,不同型別的資料先轉化為同一型別,然後進行運算,轉換從低階到高階。
例如:
Type methodA(byte x, double y) {
return (short)x / y * 2;
}
Type的型別將為double。

強制型別轉換:高階資料要轉換成低階資料,需用到強制型別轉換,否則發生type mismatch編譯錯誤。
例如:

int i;
byte b=(byte)i; /*把int型變數i強制轉換為byte型*/

3.為什麼需要包裝類?

實現不同資料型別的轉化 (通過包裝類的靜態方法)
如將字串轉化為整型資料: int a = Integer.parseInt(“123”);
如將整型資料轉化為字串: String s = String.valueOf(123);

獲取相應資料型別的範圍資訊 (通過包裝類的靜態屬性)
如整型最大最小值: Integer.MAX_VALUE, Integer.MIN_VALUE

4.int與Integer有什麼區別,它們之間的相互轉化是怎樣的?

int為普通資料型別,而Interger為其對應的包裝類。
int轉Integer:int a = 5;
Integer A = new Integer(a);或
Integer A = Integer.valueOf(a);

Integer轉int:Integer A = new Integer(5);
int a = A.intValue();

5.邏輯運算子&和&&的區別是什麼?邏輯運算子&與位運算子&的區別是什麼?請分別舉例說明

邏輯運算子&在執行操作時,運算子左右兩邊的表示式首先被運算執行,再對兩表示式的結果進行與、或運算。
而邏輯運算子 && 如果從左邊的表示式中得到運算元能確定運算結果,則不再對右邊的表示式進行運算。
例如:

public class Test{
    public static void main(String[] args){
        int a = 5;
        boolean b = false;
        if ((b==true)&&(a+=5)==10){
            System.out.println("相等,a="+a);
        }else{
System.out.println("不相等,a="+a);
}
}

輸出結果:

不相等,a=5

而把&&改成&後
輸出結果:

不相等,a=10

6. Java語言中可以採用什麼語句跳出多重迴圈?請舉例說明

break lab; (跳出多重迴圈的外層迴圈)
break lab語句用在迴圈語句中,必須在外迴圈入口語句的前方寫上lab標號,可以使程式流程退出標號所指明的外迴圈。

     lab:
            for(int i =0; i<2; i++) {
                 for(int j=0; j<10; j++) {
                      if (j >1)  { 
                         break lab; 
                      }
                     System.out.println(break");
                 }
            }

輸出結果:

break
break

continue lab;(跳出外層的本次迴圈,繼續外層下一次迴圈)
當程式中有巢狀的多層迴圈時,為從內迴圈跳到外迴圈,可使用帶標號的continue lab語句。此時應在外迴圈的入口語句前方加上標號。例如:

     lab:   for(int i =0; i<2; i++) {
                      for(int j=0; j<10; j++) {
                            if (j >1)  { 
                                 continue lab; 
                            }
                           System.out.println("continue");
                      }
                     System.out.println("************");
                 }

輸出結果:

continue
continue
continue
continue

相關文章