首頁  >  文章  >  Java  >  java中的運算子與類型轉換的實例教程

java中的運算子與類型轉換的實例教程

零下一度
零下一度原創
2017-06-25 10:39:001169瀏覽

型別轉換: 

    從小到大的排序自動型別轉換(隱式轉換)
  小的資料型別與大的資料型別運算的時候,結果會自動轉換大的型別
  byte char short -->int -->long -->float -->double
  注意事項:byte char short 相互之間不轉換他們參與運算首先轉換為int類型

格式:範圍大的資料型別變數= 範圍小的資料型別值


強制型別轉換(顯示轉換)
  可以忍受精確度缺失的情況下可以把大類型的數據強制轉換成小類型的資料
格式:範圍小的資料型別  變數 =   (範圍較小的資料型別) 範圍大的資料型別

運算子的概念:  

  對常數和變數進行運算的符號稱為運算子

表達式的概念:

  用運算子把常數連接起來符合java語法的式子就可以稱為表達式

#  常用的運算子:算術運算子 賦值運算子 關係運算子 邏輯運算子 三元運算子


算術運算子: + - * / % ++ --
在java中兩個int型資料進行除法運算得到的結果也是int 直接砍掉小數點

程式碼示範:
public static void main(String[] args) {

  int a = 10;
  int b = 20;

  System.out.println(a + b); // 30
  System.out.println(a - b); // -10
  System.out.println(a * b);// 200
  System.out.println(a / b);// 0
  System.out.println(1/2.0);///0.5
  System.out.println(1/3);//0
  System.out.println(2/3);//0
  System.out.println("======= ====================");
  // 當字串與數字中間使用+的時候表示連結 最終得到一個新的字串
int d = 10;
  System.out.println("嘿嘿"+10);//嘿嘿10
  System.out.println("嘿嘿"+10+10);//嘿嘿1010
System.out.println("嘿嘿"+(10+10));//嘿嘿20
  System.out.println(10+10+"嘿嘿");//20嘿嘿

  System .out.println("===========================");
  System.out.println(10%3); // 求餘取餘數(取模)  
  System.out.println(7%2);// 1
  System.out.println("============= =========");
  // 'a' ---> 97   'b'---> 98
  // 'A' ---> 65
  // '0'--->  48
  System.out.println('a' + 10);// 107
  System.out.println('A' + 107
  System.out.println('A' + 10)##// 75
  System.out.println('0' + 10);// 58
  System.out.println((char)('a' + 1));//b

# }

++運算子:


  當++ 運算子單獨使用的時候無論++符號在變數的左邊或右邊都表示對這個變數自增1
  當++運算子配合使用的時候, 如果++符號在變數的左邊, 強調的是先改變(自增1)再配合,

  如果在變數的右邊,強調先配合再改變(自增1)

-- 運算子:

當-- 單獨使用的時候無論--在變數的左邊或右邊, 都表示對這個變數進行自減1
當-- 配合的使用的時候, 如果-- 在變數的左邊, 強調的是先改變(自減1) 再配合,
##如果在變數的右邊,強調先配合再改變(自減1)
程式碼示範:
public static void main(String[] args) {

#     int b = 10;
       int b = 10;
    System.out.println(b++);//10
    Syst. ==================");
    int c = 20;
    System.out.println(--c);// 19
       。 ;// 29
}


賦值運算子:


基本的賦值運算子:=
擴充的賦值運算子:+=  -=  *= /=  %=
把左邊和右邊的結果賦值給左邊
注意:左邊不能是常數
隱含了一個強制型別轉換
好處:更有效率
程式碼示範:
public static void main(String[] args) {

  int a = 10;
  a+=2; // a = a + (2)  --- > a = 10 + (2) ---> a = 12
  System.out.println(a);// 12

  int b = 20;
  b-=2; // b = b - (2)  ---> 18
  System.out.println(b);//18

  short c = 10;
  //c = (short)(c + 10); // short#   //c = (short)(c + 10); // short = int ---> short = int
  c+=10;
  System.out.println(c);//20

# }

 


# 關係運算子:

==(等於) !=(不等於) >(大於) <(小於) >=(大於等於) <=(小於等於)
關係運算子的都是boolean型 要嘛就是true 或是false
程式碼示範:
public static void main(String[] args) {
// TODO Auto-generated method stub
  int a = 10;
  int b = 20;
  int c = 10;

  System.out.println( a == b);// false
 System.out.println( a == b);// false
  System。 == c);//  true
  System.out.println("======================");
  System.out. println( a != b);// true
  System.out.println( a != c);//  false
  System.out.println("============= ===========");
  System.out.println( a >= b);// false
  System.out.println( a >= c);/ / true
  System.out.println("======================");
  System.out.println( a <= b);// true
  System.out.println( a <= c);//  true  
  System.out.println("================= =======");
  System.out.println( a > b); // false
  System.out.println( a > c);// false
  System .out.println("======================");
  System.out.println( a < b);// true
  System.out.println( a < c);// false
  System.out.println("======================" );

}

 


邏輯運算子:


邏輯運算子用於連接布林表達式最終的結果值為布林型
在java中不可以寫成33&&x<6
與: & 運算規則:  如果兩邊有一邊為false那整個表達式的結果就為false , 只有兩邊同時為true 結果才為true
或: | 運算規則:  如果兩邊有一個為true那整個表達式的結果就為true , 只有兩邊同時為false ,結果才為false
非: ! 運算規則: 真變假 假變真
異或:  ^  運算規則:  兩邊相同為false,不同為true
程式碼示範:

public static void main(String[] args) {


  System .out.println(true & true ); // T
  System.out.println(false & true );// F
  System.out.println(true & false );// F            .out.println(false & false );// F
  System.out.println("=========================") ;
  System.out.println(true | true ); // T
  System.out.println(false | true );// T
  System.out.println(true | false );/true | false );/true | false ); / T
  System.out.println(false | false );// F
  System.out.println("======================= ====");
  System.out.println(!true);// F
  System.out.println(!false);// T
  System.out.println("= ========================");
  System.out.println(true ^ true ); // F
  System.out. println(false ^ true );// T
  System.out.println(true ^ false );// T
  System.out.println(false ^ false );// F

}

短路與: &&
短路或: ||
好處:效率更高
短路與:  &&
  基本的運算規則跟& 相似, 差別在於, 如果左邊為false,右邊不執行,直接把結果false
短路或: ||
  基本運算規則跟| 相似, 差別在於, 如果左邊為true ,右邊不執行, 直接把結果true回傳
三元表達式:
表達式1 ?  結果1 : 結果2

執行流程:
先去計算表達式1的結果
如果結果為真則回傳結果1 , 否則返回結果2
程式碼示範:(取得兩個數中大數。 )
(int x=3,y=4,z;z = (x>y)?x:y;//z變數儲存的是兩個數的大數。)
public class Demo09Operator {
public static void main(String[] args) {
    int a = 10;
    int b = 20;
     int b = 20;
     System.out.println("c:" + c);
  }
}

(比較兩個資料是否相同)
public class Demo10Operator {
public static void main(String[] args) {
// 定義兩個int型別的變數
    int a = 10;
    int b = 20;

    boolean flag = (a == b) ? true : false;
   /// lean flag///c> out.println(flag);
  }
}

(取得三個整數中的最大值)

public class Demo11Operator {
public static void main(String[] args ) {
// 定義三個int型別的變數
    int a = 10;
    int b = 30;
    int c = 20;
#     int c = 20;

#20;整數的大值

    int temp = ((a > b) ? a : b);
    int max = ((temp > c) ? temp : c);##  int em. ("max:" + max);
  }

}
#

以上是java中的運算子與類型轉換的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn