java從0單排之複習與面試題回顧——02

第二章:java編程基礎

1.java的包,類,方法,參數和變量的名字,可由大小寫字母,數字,下劃線(_)和$符號組成,但標識符不能以數字開頭,不能是java中的保留關鍵字。
    (之所以笨小蔥在這裏寫下這個內容,主要是實際開發中我都是以字母來表示標識符的,所以有一次筆試中,突然考到這個知識點,記不太清了。當時主要是不確定是否能以$,_開頭

    QA: 下面哪些標識符合法的:
           A.indentifier      B.user_name     C._user     D.$AB2     E._2$     F._2234      G. 92.5     H.hello world   I.class   
   
2.java中的常量規則,以十進制表示時,第一位不能是0;以十六進制表示時,需以0x,或0X開頭;以八進制表示時必須以0開頭;長整型必須以L做結尾;float類型後面要加上f(F)。java中的字符佔用兩個字節,使用Unicode碼錶示的
    QA:下面那些整型常量是不正確的?
           A.0x8a     B.0X8a       C.0x12efg (十六進制沒有g)       D.0X9A        E.123        F.019若是十進制不能以0開頭,若是八進制沒有9        G.5.022e+23f     H..4f           I. 0f        J. 2e3f 

    QA:java中char能否存儲1個漢字?(這裏笨小蔥答錯了,我記得c中char是1個字節,不能存儲漢字。)
         89:java中的字符佔用兩個字節,16位,使用Unicode碼錶示的.而unicode碼存儲了漢字,所以可以表示漢字,佔2個字節,但是表示字母也只能存儲一個。

     
3.關於類型的自動提升,java定義了若干規則:
    第一,所有的byte,short,char的值將被提升到int
    第二,如果一個操作是long,結果就是long
    第三,如果一個操作是float,結果就是float
    第四,如果一個操作是double,結果就是double

    QA:short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯? 
        89:    short s1 = 1; s1 = s1 + 1; (s1+1運算結果是int型,需要強制轉換類型)  編譯報錯
                 short s1 = 1; s1 += 1;(可以正確編譯)  這裏+=會自動強制轉換爲s1的類型相當於等於:s1=(s1.type)s1+1;

4.函數的重載就是在同一個類中允許同時存在一個以上的同名函數,只要他們的參數個數或類型不同即可。(不需要關注函數返回類型

5.關於如何解決留言板分頁問題,和走馬燈問題。
    QA: 一共有x個學員,每個房間住6人,一個公式計算一下房間數?
        89:(x+5)/6           若x是總共的留言數,6是每頁顯示的留言數,結果就是總共多少頁         (如果學員和房間都有編號的話,這裏的結果也可以表示第x號學生,住在第幾號房間裏)
    
    QA:假設你要讓x的值在0至9之間循環變化,寫出代碼。
        89:   int x=-1;
                   while(true)
                    {
                        x=(x+1)%10;
                    }
      QA:  如何用程序求2的x次方問題                (移位不會改變變量本身的值,如a>>1.在單獨一行中含無意義)
        89:y=1<<x;


6.switch語句判斷條件可以接受int,byte,char,short型,不可以接受其他類型

7.數組申明時不能制定長度,如:int a[5];  編譯報錯
       正確聲明定義如下:int [] a=new int[5];        
                                      int  [] a=new int[]{1,2,3,4,5};
                                        int [] a={1,2,3,4,5};

   多維數組的聲明: int [][] a;   
                                a=new int[3][];
                              或者 int [][] a=new int[3][2];
    同樣不能再申明時出現 int [3][2] a=new int [3][2];

發佈了35 篇原創文章 · 獲贊 15 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章