三元運算符運算(Day02)
運算符:用來對常量或者變量連接的符號,稱為運算符。
表達式:用運算符連接起來的整個式子成為表達式。比如:a+10,10+20
運算符有以下五種:
1、算術運算符
2、賦值運算符
3、關系運算符
4、邏輯運算符
5、三元運算符
算術運算符:+ - * /
解釋:就是連接常量變量做基本的數學運算
/ (除號):如果兩個整數相除,得到的結果就是一個整數,取整數部分。
?規律:如果兩個整數相除,左邊的數小于右邊的數,那么得到的結果就是0。
只要有一邊是一個小數,那么得到的結果就是小數。
注意點:
浮點類型(小數類型):在進行運算的時候有可能丟失精度。(后期可以處理精度丟失的問題)
取余(取模):%
解釋:一般用于兩個整數的運算,用來判斷兩個整數是否能夠整除
得到的結果是:兩個整數相除,取余數部分
規律:如果符號左邊的數小于右邊的數,那么得到的結果就是左邊的數。
用處:判斷兩個數是否能夠整除
public class Demo05SuanShuYunSuanFu {public static void main(String[] args) {//+ 加號int a = 10;int b = 20;System.out.println(10 + 30);System.out.println(a + b);System.out.println(a + 100);//- 減號System.out.println(10 - 30);System.out.println(a - b);System.out.println(a - 100);//* 乘號System.out.println(10 * 30);System.out.println(a * b);System.out.println(a * 100);System.out.println("================");// / 除號:如果兩個整數相除,得到的結果就是一個整數,取整數部分System.out.println(3/5);//0System.out.println(5/3);//1//要想得到的數是小數,只要有一邊的數是小數,那么得到的結果就是小數System.out.println(3.0/5);//0.6System.out.println(3/5.0);//0.6System.out.println(5.0/3);//1.6666666666666667 //取余 (取模)%System.out.println(3%5);System.out.println(5%8);} }
package cn.heima.java; /*** +的多種用法* 1、數字相加* 2、字符相加:拿字符在計算機底層儲存對應的數據值來參與運算的* 3、字符串相加:這里的+其實不是加法,而是字符串連接符;* 字符串和其他類型的數據作拼接,結果是字符串類型的。*/ public class Demo06Perator {public static void main(String[] args) {//1、整數的加法int a = 10;int b = 20;System.out.println(a+b);System.out.println("--------------");//2、字符參與加法操作char c = '0';char c2= 'a';System.out.println(a+c);//10+48=58System.out.println(a+c2);//10+97=107System.out.println(c+c2);//48+97=145System.out.println("---------------");//3、字符串參與加法操作System.out.println("hello"+a);//hello10System.out.println("hello"+a+b);//"hello"+10="hello10",然后在和b進行拼接System.out.println(a+b+"hello");//從左到右依次計算,先求和,再連接 } }
++,--運算
package cn.heima.java; /*** ++,--運算符:對變量做加1或者減1操作* ++,--既可以寫在變量的后面也可以寫在變量的前面* 單獨使用:* ++,--無論時寫在變量的前面還是后面,結果是一樣的* 和其他操作混合使用:* 如果++,--寫在變量的后面,先拿變量本來的值參與操作,結束后變量做++,--* 如果++,--寫在變量的前面,先把變量做++,--,再用改變后的值參與操作*/ public class Demo07Operator {public static void main(String[] args) {int a = 10;System.out.println("a:" + a);//a:10//單獨使用 // ++a; // System.out.println("a:"+ a);//a:11 // a++; // System.out.println("a:" + a);//a:12//參與操作使用//int b = a++;int b = ++a;System.out.println("a:" + a);System.out.println("b" + b);//11 } }
賦值運算符:
package cn.heima.java; /*** 基本的賦值運算符:=* 擴展的賦值運算符:+=、-=、*=、/=、%=* 把左邊和右邊的結果賦值給左邊* 注意:左邊不能是常量* 隱含了一個強制類型轉換*/ public class Demo08Operator {public static void main(String[] args) {//把10賦值給int類型的變量aint a = 10;//+=把左邊和右邊的數據進行運算,最后賦值給左邊,左邊的只能時變量a += 10; //相當于a = a + 10System.out.println("a:" + a);//20System.out.println("---------------");short s = 10;//s += 20;//相當于s = s + 20;s = (short)(s + 20);System.out.println("s:" + s);int i = 10;i *= 10;System.out.println("i=" + i);int b = 20;b /= 10;//2 相當于b = b / 10System.out.println("b=" + b);int c = 6;c %= 7;//c = c % 7 System.out.println(c);} }
關系運算符:
package cn.heima.java; /*** 關系運算符* ==,!=,>,<,>=,<=* 關系運算符的結果都是boolean型,也就是要么時true,要么是false* 注意事項:運算符"=="不能誤寫成"="**/ public class Demo09Operator {public static void main(String[] args) {int a = 10;int b = 20;int c = 10;System.out.println(a == b);System.out.println(a == c);System.out.println("--------------");System.out.println(a != b);System.out.println(a != c);System.out.println("--------------");System.out.println(a > b);System.out.println(a > c);System.out.println("--------------");System.out.println(a >= b);System.out.println(a >= c);int x = 3;int y = 4;System.out.println(x == y);System.out.println(x = y);//把y賦值給x,把x的值輸出 //4boolean bb = (x == y);System.out.println(bb);//報錯:Type mismatch: cannot convert from int to boolean// boolean cc = (x = y);//類型不匹配:不能從int轉換為booleanint cc = (x = y);System.out.println(cc);} }
邏輯運算符:
package cn.heima.java; /*** 邏輯運算符:* 作用:邏輯運算符用于連接布爾型表達式* 在Java中不可以寫成3<x<6,應該寫成 x>3 && x<6* 基本使用:&(與),|(或),^(異或),!(非)* 與(&):有false則false* 或(|):有true則true* 異或(^):相同則false,不同則true* 非(!):true則false,false則true**/ public class Demo10Operator {public static void main(String[] args) {int a = 10;int b = 20;int c = 30;System.out.println((a>b)&(a>c));//false & falseSystem.out.println((a<b)&(a>c));//true & falseSystem.out.println((a>b)&(a<c));//false & trueSystem.out.println((a<b)&(a<c));//true & trueSystem.out.println("-----------------------------");System.out.println((a>b) | (a>c));//false & falseSystem.out.println((a<b) | (a>c));//true & falseSystem.out.println((a>b) | (a<c));//false & trueSystem.out.println((a<b) | (a<c));//true & trueSystem.out.println("==============================");System.out.println((a>b) ^ (a>c));// false ^ falseSystem.out.println((a<b) ^ (a>c)); // true ^ falseSystem.out.println((a>b) ^ (a<c)); // false ^ trueSystem.out.println((a<b) ^ (a<c)); // true ^ trueSystem.out.println("---------------");System.out.println((a>b)); // falseSystem.out.println(!(a>b)); // !falseSystem.out.println(!!(a>b)); // !!false } }
三元運算符練習:
package cn.heima.java; /*** 三元運算符* 基本使用:* 格式:(關系表達式)?表達式1:表達式2;* 如果條件為true,運算后的結果是表達式1;* 如果條件為false,運算后的結果是表達式2;* 示例:獲取兩個數中大數* int x = 3,y = 4,z;* z=(x>y)?x:y; //z變量存儲的就是兩個數的大數**/ public class Demo11Operator {public static void main(String[] args) {int a = 10;int b = 20;int c = (a>b) ? a : b;System.out.println("c="+ c); /** 練習:比較兩個數據是否相同*/int aa = 20;int bb = 20;boolean flag = (aa==bb)?true : false;//boolean flag1 = (a == b); //false 正確答案應該是true System.out.println(flag);/** 獲取三個整數的最大值*///定義三個int類型的變量int x = 10;int y = 20;int z = 30;//先比較兩個整數的大值int temp = ((x > y)? x:y);int max = ((temp > z)?temp:z);System.out.println("max:"+ max);} }
?
posted on 2018-11-22 19:43?Haidrens 閱讀(...) 評論(...) 編輯 收藏