三元运算符运算(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 阅读(...) 评论(...) 编辑 收藏