JAVA基礎(3)-運算子

來源:互聯網
上載者:User

標籤:情況   term   相同   技術   拼接   有一個   賦值運算子   csdn   log   

運算子

    再用運算子進行運算操作時有兩個原則:
          1、不同類型的資料做運算時,一定會先轉換成較大範圍類型後再進行運算。
          2、byte,short,char這些類型運算時,一定會先轉成int類型後再進行運算,結果int類型
          一定要注意封閉式運算。

下表中具有最高優先順序的運算子在的表的最上面,最低優先順序的在表的底部。

算術運算子

          +-*/%++--

     編程中的+,-,*和我們平時用到的幾乎沒什麼區別,這裡就不介紹了

     / :除號
        情況1:
              參與的類型都是整型時,做取整運算,即商n餘m, 結果為n,2/3----商0餘2。結果為0(也就是運算結果只保留整數位)
        情況2:
              只要有一個浮點數參與,就會做類似精確運算(在除2時會是精確運算)。
     %:取餘運算子號(也叫模數運算子號)
              做除法運算時,商n餘m,結果為m.

         情況1:參與運算都是整數時,餘數是精確值
         情況2: 有浮點數參與時,餘數不一定是精確值。

     注意:
     取餘運算一般被用來判斷 某一個數能否被另外一個數整除。

     被除數為正,取餘結果一定為正
     被除數為負,取餘結果一定為負。
    ++ / --:自增自減運算子
        符號要與變數一起使用。表示變數自動+1,或自動-1;
        列:++a/a++/--a/a--;
               ++a/a++:是a=a+1的簡寫
               --a/a--:是a=a-1的簡寫

     情況1: 即與變數在一起,不與其他任何符號連用時
            (單獨使用)
        ++a
        a++
        --a
        a--
        此時,變數一定會+1或-1;

     情況2:自增/自減運算與其他符號連用時
           需要考慮運算式的值。
       ++a/a++/--a/a--整體看成運算式

           口訣:
           符號在前,先運算再賦值
           符號在後,先賦值在運算

        解析:符號在前時,變數先自增/自減,新值賦值給運算式
              符號在後時,先把變數的值賦值給運算式,然後變數再自增/自減

關係運算子

     >,>=,<,<=,==,!=    它們所表達的意思與數學中的用法一致,用來判斷條件是否成立。一般都用在分支結構或迴圈結構中使用

邏輯運算子

     當有兩個條件以上進行判斷是否成立時,需要使用邏輯運算子。即與,或,非 (&&,||,!)

     數學中,判斷a是否大於1並且小於3時,寫法如下:1<a<3   java語言中,沒有上述寫法,需要使用&&寫法如下:a>1&&a<3或a<3&&a>1

     &&(與):用於判斷兩個條件是否同時成立。(全真為真,一假則假)
     ||(或):用於判斷是否有條件成立。(一真即真,全假則假)
     !(非):用於條件的否定。(非真即假,非假即真)

    邏輯運算子又稱之為短路運算子,當使用&&或者||時,第一個條件能確定結果時,就不會執行第二個條件,這種行為可視為短路現象。(單個符號的 &(與)  |(或) 沒有短路現象。)

賦值運算子

     =:賦值運算,給前面的變數賦值。

     擴充:

              +=,-=,*=,/=,%=
             a+=1相當於 a = a + 1
             a-=b相當於 a = a - b;
             a*=b相當於 a = a * b;
             a/=b相當於 a = a / b;
             a%=b相當於 a = a % b;

字串拼接符號

     +: 當+前後,只要有一個是字串類型,就做拼接操作,拼接後的結果是字串類型。

練習代碼:

public static void main(String[] args) {                  int a = 1;          int b = 2;          String str = "3";          String result = a+b+str;          System.out.println(result);//"33"          result = str+a+b;          System.out.println(result);//"312"          result = a+str+b;          System.out.println(result);//"132"          System.out.println(1+2+a+str+b+3);//"4323"          System.out.println(1+2+a+"3"+a*b+str);//"4323"    }
三目運算子

       變數類型 變數= 條件運算式?值1:值2;
       變數類型:需要與值1或值2的類型相同。如果值1與值2的類型不相同,則要可以自動轉換。

練習代碼:

public static void main(String[] args){        /*            找出num1 = 3,num2 = 5最大值        */        int num1 = 3,num2 = 5;        int numMax = num1>num2? num1:num2;                /*           int a = 5,b = 10,c = 3;           找出max,mid,min        */        int a = 5,b = 10,c = 3;                int min = a<b? (a<c? a:c):(b<c? b:c);        int max = a>b? (a>c? a:c):(b>c? b:c);        int mid = a>b? (b>c? b:(a>c? c:a)):(a>c? a:(b>c? c:b));                System.out.println("最小值:"+min);        System.out.println("最大值:"+max);        System.out.println("中間值:"+mid);            }

 

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.