Java語言基礎(回頭複習)

來源:互聯網
上載者:User

標籤:格式   原碼   相加   寫法   技術分享   bool   rgs   print   反碼   

 

/*    使用變數的時候要注意的問題:        A:範圍            變數定義在哪個大括弧內,它就在這個大括弧內有效。            並且,在同一個大括弧內不能同時定義同名的變數。                    B:初始化值            沒有初始化值的變數不能直接使用。            你只要在使用前給值就行,不一定非要在定義的時候立即給值。            推薦在定義的時候給值。                        定義變數的格式:                a:資料類型 變數名 = 初始化值;                b:資料類型 變數名;                  變數名 = 初始化值;                C:在一行上建議只定義一個變數            可以定義多個,但是不建議*/public class Text2 {    public static void main(String[] args) {        //定義變數        int x = 100;                //錯誤,不能有同名的        //int x = 200;                //定義變數必須給值        //int y;        //System.out.println(y);                int z;        z = 100;        System.out.println(z);                //在一行上定義多個變數        //int a = 10; int b = 20; int c  = 30;        //上面的寫法可以,但是不建議。        int a = 10;         int b = 20;         int c  = 30;                //int d, e;        //d = 40;        //e = 50;                //int f,int g; //錯誤        //int h; int i; //正確    }}
/*    +是一個運算子(我們等會講解)。做加法運算的。        一般來說,我們在運算的時候,要求參與運算的資料類型必須一致。        注意:        boolean類型不能轉換為其他的資料類型    預設轉換(從小到大的轉換)        A:byte,short,char—int—long—float—double        B:byte,short,char相互之間不轉換,他們參與運算首先轉換為int類型*/public class Text {    public static void main(String[] args) {        //直接輸出的方式做加法        //System.out.println(3 + 4);            //兩個int類型做加法        int x = 3;        int y = 4;        int z = x + y;        System.out.println(z);                //定義一個byte類型,一個int類型,做加法,他們參與運算首先轉換為int類型        byte a = 3;        int b = 4;        System.out.println(a + b);                //可能損失精度        //byte c =  a + b;,因為 b 為int整數型,從int到byte精度可能會降低,所以此處出錯        int c = a + b;        System.out.println(c);    }}
/*    強制轉換:        從大的資料類型到小的資料類型。                格式:            目標資料類型 變數 = (目標資料類型) (被轉換的資料);                    注意:            不要隨意的去使用強制轉換,因為它隱含了精度損失問題。*/public class Text {    public static void main(String[] args) {        byte a = 3;        int b = 4;                //int c = a + b;這個肯定沒有問題        //byte c = a + b; 這個是有問題的                //用強制類型轉換改進        byte c = (byte) (a + b);        System.out.println(c);    }}
/*    思考題1:請問下面這個有沒有問題        double d = 12.345;        float f = d;            思考題2:看看下面兩個定義有沒有區別呢?        float f1 = (float)12.345;        float f2 = 12.345f;            解析:f1其實是通過一個double類型轉換過來的。        而f2本身就是一個float類型。*/public class Text {    public static void main(String[] args) {        //把double賦值給float,加了強制類型轉換        double d = 12.345;        float f = (float)d;    }}
/*    面試題:        byte b1=3,b2=4,b;        b=b1+b2;        b=3+4;        哪句是編譯失敗的呢?為什麼呢?        解析:b = b1 + b2;  這個是有問題的。        因為變數相加,會首先看類型問題,最終把結果賦值的也會考慮類型問題。        常量相加,首先做加法,然後看結果是否在賦值的資料類型範圍內,如果不是,才報錯。*/public class Text {    public static void main(String[] args) {        //定義了三個byte類型的變數,b1,b2,b        //b1的值是3,b2的值是4,b沒有值        byte b1 = 3,b2 = 4,b;                //b = b1 + b2; //這個是型別提升,所有有問題                b = 3 + 4; //常量,先把結果計算出來,然後看是否在byte的範圍內,如果在就不報錯。    }}
/*    byte b = 130;有沒有問題?如果我想讓賦值正確,可以怎麼做?結果是多少呢?        練習:byte b = (byte)300;*/public class Text {    public static void main(String[] args) {        //因為byte的範圍是:-128到127。        //而130不在此範圍內,所以報錯。        //byte b = 130;                 //我們可以使用強制類型轉換        byte b = (byte) 130;                //結果是多少呢?        System.out.println(b);    }}/*    分析過程:        我們要想知道結果是什麼,就應該知道是如何進行計算的。        而我們又知道電腦中資料的運算都是補碼進行的。        而要得到補碼,首先要計算出資料的二進位。                A:擷取130這個資料的二進位。            00000000 00000000 00000000 10000010            這是130的原碼,也是反碼,還是補碼。        B:做截取操作,截成byte類型的了。            10000010             這個結果是補碼。        C:已知補碼求原碼。                    符號位        數值位            補碼:    1            0000010                        反碼:    1            0000001                        原碼:    1            1111110*/

/*    看程式寫結果        通過字元和一個整數相加,我們要知道ASCII碼錶。        通過看完這張表以後,我們要記住三個值:            ‘a‘        97            ‘A‘        65            ‘0‘        48*/public class Text {    public static void main(String[] args) {        //直接輸出一個字元        System.out.println(‘a‘); //輸出結果為  a        //輸出一個字元和一個整數做加法        System.out.println(‘a‘+1); //輸出結果為 98    }}

 

Java語言基礎(回頭複習)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.