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
*
* }
*/
}
}