1. 程式人生 > >java運算子

java運算子

運算子

package com.qingfeng.test;

public class demo5 { /* * 運算子: * a:功能來分 * 1.算數運算子 + - * / * 2.賦值運算子 = *= -= += %= * 3.關係運算符 < > <= >= != == * 4.邏輯運算子 && || ! * 5.位運算子 ~(按位取反) ^(按位異或) &(按位於) |(按位或) * 6.移位運算子 >>右移一位/2 <<左移一位*2 * b:運算元素個數 * 1.一元運算子 * 2.二元運算子 * 3.三元運算子 * */ public static void main(String [] args){ // * a:功能來分 // * 1.算數運算子 + - * / % ++ – System.out.println(3+4); System.out.println(3*-2); System.out.println(-3/2);//-1 System.out.println(3%2);//1 System.out.println(3%-2);//1 System.out.println(-3%-2);//-1//被餘數為正數結果就為正數 為負數結果就為負數 System.out.println(-3%2);//-1//被餘數為正數結果就為正數 為負數結果就為負數 //++(自加) –(自減) //++在前(先自身運算在參與整體運算) ++在後(現參與運算,在自身運算) int a = 2, b,c=3,d; b=a++; d=++c; System.out.println(“b:”+b +” c:” +d);

// * 2.賦值運算子 = *= -= += %= //都是將右邊的值賦值給左邊 int f = 4; //定義的變數必須先賦值 後運算 f+=3;//(f= f+3)

//練習一
/*
 * 
 */
int n=5,m=1,u=3,o=0;
o = n++ - --m + (u++ - n++);
 System.out.println(o);
 System.out.println(n);
 System.out.println(u);
 System.out.println(m);

// * 3.關係運算符 < > <= >= != ==

// * 4.邏輯運算子 &&(全真則真 一假則假) // ||(全假則假 一真則真) // ! (真則假 假則真) //短路 與 當多個&&相連 從左往右運算 遇到一個false就會停止運算 所謂停止運算就是程式碼停止運算,如果後面有其他邏輯運算子則終止到下個運算子 //短路 或 當多個||相連 從左往右運算 遇到一個true就會停止運算 //注意 結果只有true or false 參與運算的元素也只能是true or false // * 5.位運算子 ~(按位取反) ^(按位異或) &(按位於) |(按位或)

 //~ 1為0  0為1 
 //^ 相同則0 不同則1
 //& 全1則1 有0 則0
 //| 全0則0 有1則1
 /***
  * 11和7 
  * 1011 11
  * 0111  7
  * 
  * 0011  &
  * 1111  |
  * 1100  ^
  * 0100   11~
  * 
  * 
  * 交換兩個數的值  x=3  y=4;
  * a.藉助第三方變數
  * b.使用異或(運算效率高 直接操作的是二進位制)
  * x= x^y; 0111
  * y=x^y;  0011
  * x=x^y;  0100
  * 0011  3
  * 0100  4
  * 
  */

// * 6.移位運算子 >>右移一位/2 <<左移一位*2 /* * 先右移在左移不一定得到原來的數 反之同理 無符號右移>>> * 0101>>0010 * 0101<<1010 */

 /***
  *  * b:運算元素個數
     * 1.一元運算子
     * ++ -- +(正) -(負) ! ~
     * 2.二元運算子
     * + - * / % 
     * 3.三元運算子
     * 表示式一 >表示式二?值一:值二   前面表示式如果成立 則整體的值為值一 否則為值二
     * 表示式:由變數和常量以及運算子組成的式子
     * 空語句 ;
  */
    ;;;;;;//不報錯
}

}

4.流程控制語句 package com.qingfeng.test;

public class Demo6 { /* * 流程控制語句 * */ public static void main(String[] args) { /* * 分支語句 * 例項:判斷當前月份是幾月? * 春季 3.4.5 * 夏季 6.7.8 * 秋季9.10.11 * 冬季 12.1.2 * 分支語句 */ int num = 3; if (num==3||num == 4||num == 5) { System.out.println(“春季”); }else if(num==6||num == 7|| num == 8){ System.out.println(“夏季”);

    }else if(num==9||num == 10|| num == 11){
        System.out.println("秋季");
    }else{
        System.out.println("冬季");

    }
    /*
     * if使用注意點
     *  如果if後面沒有{} 預設只能跟一條語句
     *  if後面可以直接跟空語句
     */

    /*
     * 例項二 根據學院的成績判斷他狀態
     * switch(a/10){
     * case 1:
     * System.out.println("不及格");
     * break;//結束switch 沒有break 有出現switch的穿透性
     * switch(字串 (在jdk1.8開始使用) 列舉型)
     * case 後面如果跟多條語句最好跟  {}
     * 分至少用 if 分之多用switch
     * 
     * }
     */
}

}