Java基礎--基本數據類型與常用運算符

基本數據類型
Java有8中基本數據類型:byte short  float int  long  double boolean  char
 整數類型:byte short int long 
 浮點型:float double 
 字符型:char
 布爾型:boolean
數值類型
 byte       1個字節     8位二進制數
 short      2個字節     16位二進制數
 float      4個字節     32位二進制數
 int        4個字節     32位二進制數 
 long       8個字節     64位二進制數
 double     8個字節     64位二進制數
非數值類型 
 boolean    1/8個字節   1位二進制數
 char       2個字節     8位二進制數
數值類型裝換
 自動類型轉換
   自動類型轉換隻能由低向高位轉換,反之則不行。浮點型可以對數值進行更加精準的描述,所以任何整型都可以自動轉換爲浮點型。
   自動類型轉換值使用於數值類型不包括boolean、char 
   數值類型自動轉換的關係如下:byte->short->int->long->float->double
 強制類型轉換

double num = 10.6;
int num1 = (int)num;

運算符
 賦值運算符

 int a = 1;
 int b = 2;
 System.out.println("交換之前a=" + a + "  b=" + b);
 int c = a;
 a = b;
 b = c;
 System.out.println("交換之後a=" + a + "  b=" + b);


 基本算術運算符
  +、-、*、/、%、++、--
   

    int a = 10;
    int b = 2;
    System.out.println("a+b=" + (a + b));//求出變量A和變量B相加之和
    System.out.println("a-b=" + (a - b));//求兩數之差
    System.out.println("a*b=" + (a * b));//求兩數之積
    System.out.println("a/b=" + (a / b));//求兩數之商
    System.out.println("a%b=" + (a % b));//求餘數
    System.out.println("a++=" + (a++));//求出變量A+1,需要注意的是++在後是先用在加1
    System.out.println("++a=" + (++a));//求出變量A+1,需要注意的是++在前是先加1再使用
    System.out.println("a--=" + (a--));//求出變量A-1,需要注意的是--在後是先用在減1
    System.out.println("--a=" + (--a));//求出變量A-1,需要注意的是--在前是先減1再使用


 整合小案例
 

   //取當前變量的對應的位數及位數之和
    int num = 678;
    int hundreds = num/100;
    System.out.println("百位數字是:"+hundreds);
    int tens = num%100/10;
    System.out.println("十位數字是:"+tens);
    int ones = num%10;
    System.out.println("個位數字是:"+ones);
    int sum = hundreds+tens+ones;
    System.out.println(num+"各位數字之和是:"+sum);

複合算術運算符
   +=、-=、*=、/=、%=

    int a=100;
    System.out.println(a+=10);
    System.out.println(a-=10);
    System.out.println(a*=10);
    System.out.println(a/=10);
    System.out.println(a%=10);


 關係運算符
   ==、!=、>、<、>=、<=
   關係只能用作數值類型的比較,判斷條件的時候使用

int a=20;
int b=10;
if(a>b){
   System.out.println("a>b");
}

if(b<a){
 System.out.println("b<a");
}

if(b!=a){
 System.out.println("b!=a");
}


 邏輯運算符
    &、|、&&、||、!
   邏輯運算符只能用於 boolean 類型的數據運算,判斷boolean數據之間的邏輯關係,包括與、或、非這3種關係。
   &與&&的區別

    int a=100;
    int b=10;
    if ((a == b) && (1 / 0 == 0)) {
        System.out.println("1");
    }else{
        System.out.println("執行不報錯");
    }

執行結果是不報錯 因爲條件一不成立 後面的一個條件被短路了 直接就進入else中了

    int a=100;
    int b=10;
    if ((a == b) & (1 / 0 == 0)) {
        System.out.println("1");
    }else{
        System.out.println("執行不報錯");}
    }

 直接報錯/by zero 由此瞭解到&運算符判斷的是所有的條件。
  |與||的區別

    int a = 100;
    int b = 100;
    if ((a == b) || (1 / 0 == 0)) {
        System.out.println("1");
    } else {
        System.out.println("執行不報錯");
    }

執行結果爲1 ||運算符第一個條件達到條件就成立

    int a = 100;
    int b = 100;
    if ((a == b) | (1 / 0 == 0)) {
        System.out.println("1");
    } else {
        System.out.println("執行不報錯");
    }


    直接報錯/by zero 由此瞭解到|運算符也是判斷所有的條件。
  !的使用
   

       boolean c=true;
        if(c){
            System.out.println("true");
        }else{
            System.out.println("false");
        }
//輸出爲true

 

        boolean c=true;
        if(!c){
            System.out.println("true");
        }else{
            System.out.println("false");
        }

//    輸出爲false


 條件運算符
   條件運算符也叫三元運算符,可以完成給變量賦值的操作,根據不同的條件給同⼀個變量賦不同的值,
 基本語法:
 

     String name="張三";
     System.out.println("張三".equals(name)?"姓名匹配":"姓名不匹配");

位運算符
十進制和二進制的轉換。
 十進制轉二進制:目標數除以二,如果能除盡,則該位計作零,如果除不盡,則該位計作一,再對
  商繼續除以二,以此類推,直到商爲零,然後將每一位的結果進反序組合就是對應的二進制結果,
  位預算符包括:&(按位與)、|(按位或)、^(按位異或)、<<(左移)、>>(右移)
    &算符每一位的數值一一對應,若都爲1,則該位計作1,否則計作0

/**
*結果輸出0    20的二進制是10100
*             8的二進制位 1000 
*                       00000
*/   
 System.out.println(20&8);  


    |算符每一位的數值一一對應,只要有1個爲1,該位計作1,否則計作0。
  

/**
*結果輸出28   20的二進制是10100                                              
*            8的二進制位  1000 
*                       11100  
*0*2的零次方+0*2的一次方+1*2的二次方+1*2的三次方+1*2的四次方
*0+0+4+8+16=28 
*/  
System.out.println(20|8);   


    ^算符每一位的數值一一對應,相同計作0,不同計作1。                                                          

/**
*結果輸出28   20的二進制是10100                                              
*              8的二進制位  1000 
*                         11100  
*0*2的零次方+0*2的一次方+1*2的二次方+1*2的三次方+1*2的四次方
*0+0+4+8+16=28 
*/
System.out.println(20^8);  
    //<<算符
    System.out.println(20<<8); //結果輸出5120   結果就是20*258   
    //>>算符
    System.out.println(20>>8); //結果輸出0      結果就是20/258  

如有整理的不足之處,多多指點!!
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章