黑馬程式員--java基礎學習筆記3

來源:互聯網
上載者:User

標籤:黑馬程式員   java基礎編程   java   

黑馬程式員--java基礎學習筆記3        一、筆記內容概述:            比較子&邏輯運算子、位元運算符、移位元運算符、三元運算子、if語句、局部代碼塊、switch語句、while語句、do-while語句、for迴圈語句、迴圈結構的使用情境。        二、常用內容介紹:                1.>>>無符號右移,資料進行右移時,高位出現的空位,無論原來的最高位是什麼,空位都用0補。                2.^運算子的特點:                    true ^ true = false;                    true ^ false = true;                    false ^ true = true;                    true ^ true = false;                    ^ 符號的兩邊結果相同,結果就是false。                3.&和&&運算結果是一樣的,但是運算過程中有小區別:                    3>5 && 3<6      3>5 & 3<6                                      &:無論左邊的結果是什麼,右邊都參與運算。                    &&:當左邊為false時,右邊就不參與運算了,提高了運算效率。                4.if語句和switch語句的區別:                    if:                    a.對於具體的值進行判斷。                    b.對區間判斷。                    c.對運算結果是boolean類型的運算式進行判斷。                    switch:                    a.對具體的值進行判斷。                    b.值的個數通常都是固定的。                    對於幾個固定的值判斷,建議使用switch語句,因為switch語句會將具體的答案都載入進記憶體,效率相對高。不過一般情況下,都是用if語句,因為switch語句功能擴充性較差,且書寫麻煩(關鍵字較多),而if語句相對靈活,if語句常用語開發。                5.while與for的區別:                    while與for可以互換,區別在於for為了迴圈而定義的變數在for迴圈結束後就在記憶體中釋放,而while迴圈使用的變數在迴圈結束後還可以繼續使用。                6.for迴圈執行的順序:                      for(初始設定式;迴圈條件運算式;迴圈後的動作表達式)


        三、經典樣本及講解:

            1.分析下面移位元運算符合傳統運算的特點:

package com.date3;/** *事實上,經過多次調試,運行速度都差不多,只是理論上移位元運算符更高效一些。  *  */public class Demo2 {public static void main(String[] args){method1();}private static void method2() {long time1 = System.currentTimeMillis();int x = 0;for(int i=0;i<10000000;i++){x = 2 * 8;}long time2 = System.currentTimeMillis();System.out.print(x+"\t");System.out.println("傳統運算方式:"+(time2-time1));}/** * 採用移位元運算符處理 */private static void method1() {long time1 = System.currentTimeMillis();int x = 0;for(int i=0;i<10000000;i++){x = 2 << 3;}long time2 = System.currentTimeMillis();System.out.print(x+"\t");System.out.println("移位元運算方式"+(time2-time1));}}
            2.理解下面三種不同的交換值的方式:

package com.date3;/** *交換值a,b值的三種方式  */public class Demo3 {public static void main(String[] args){method3();}//方式一:採用中間值private static void method1(){int a = 3,b = 5;int c;c = a;a = b;b = c;System.out.println("a="+a+",b="+b);}//方式二:不採用中間值(不建議使用這種方法,可能會溢出)private static void method2(){int a = 3,b = 5;a = a + b;b = a - b;a = a - b;System.out.println("a="+a+",b="+b);}//方式三:採用異或運算子^   a^b^b = a;private static void method3(){int a = 3,b = 5;a = a ^ b;b = a ^ b;a = a ^ b;System.out.println("a="+a+",b="+b);}}
            3.理解局部代碼塊和if(true);{}方式的特點:

package com.date3;/** *由於if(true);語句後面加了分號,這個判斷會執行, *但是判斷後的結果不會對下面的局部代碼塊執行造成影響。 *後面的語句為局部代碼塊,它會自動載入運行,局部代碼塊可以用來釋放記憶體。  *switch語句選擇的類型只有四種:byte,short,int,char。 */public class Demo4 {public static void main(String[] args) {int x;if(true);{System.out.println("hello world!");x = 5;}System.out.println(x);}}




著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

黑馬程式員--java基礎學習筆記3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.