JDK8运算符

JDK8运算符,第1张

JDK8运算符 运算符 Java语言支持如下运算符:

算术运算符:+,-,*,/,%,++,--

赋值运算符:=

关系运算符:>,<,>=,<=,==,!=,instanceof

逻辑运算符:&&,||,!

==========会上面的就差不多了============

位运算符:&,|,^,~,>>,<<,>>>

条件运算符:?:

扩展赋值运算符:+=,-=,*=,/=



二元运算符:

(两个数字进行运算就叫二元运算符)

//二元运算符(需要两个数字才行)
//Ctrl + D : 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
//输出发现 : 前三个正常,但是第四个输出等于 0 ,
//分析 : abcd都是int类型,在10/20时会得到0.5
//int类型是整形,只能有整数,所以0.5取整=0,
//也可以进行强制类型转换,转换为double,就可以得到0.5,
//如下 :
System.out.println((double) a/b);
System.out.println("===============================");

运算数据类型转换

long a = 123123123123123L;
int b = 123;
short c = 10;
byte d = 8;
​
System.out.println(a+b+c+d);
System.out.println(b+c+d);
System.out.println(c+d);
//输出发现:第一个仍然是Long类型,
//        第二个变成了Int类型,
//        第三个变成了Int类型,
//原因:有Long类型的赋值,其他在和该Long类型变量进行运算时,默认运算结果类型也为Long
//     运算时有一个类型是Long,那么结果类型也是Long
//     如果没有Long,那么其结果都为Int,无论是否有Int类型,其结果都为Int
//System.out.println((String) (c+d));
//如果按上面的来输出,会发现无法转换为 String 类型,
//报错显示:不能把 Int 类型转换为 String 类型,侧面说明了这个(c+d)就是 Int类型
//而c和d没有一个是 Int类型,说明没有Long,输出全部都是Int,有Long,输出全部都是Long
//小知识:cast :转换
关系运算符:
//关系运算符:>,<,>=,<=,==,!=,instanceof
// 关系运算符返回的结果只有:  (true)正确,(false)错误     用布尔值来表示
​
​
int a = 10;
int b = 20;
​
System.out.println(a>b);
System.out.println(a 


一元运算符:

(只有一个数字的运算)

 //++    --   自增  自减 ,一元运算符(只需要一个数就足够)
        int a = 3;
​
        int b = a++;   // a++ <==> a = a + 1
        
​
        int c = ++a;   // ++a <==> a = a + 1
        
​
        //意思一样,但是执行+1的时机不同
​
        System.out.println(a);//输出了5
        System.out.println(b);//输出了3
        System.out.println(c);//输出了5
​
        //面试题:a+++++b
        //a++   加上   ++b。
​
        //幂运算:2^3=8,但是Java里没有 ^ 这种表示方法,需要用到一个数学类
        double pow = Math.pow(2, 3);//输入Math,然后输个 . ,然后会点出很多,比如abs就是绝对值,max就是最大数等等
//乘方所对应的类就是pow
        System.out.println(pow);
        //输出了8.0,即2^3=8。

逻辑运算符:
//与(and):+(&&)     或(or):+(||)     非(取反):+!(&&)
boolean a = true;
boolean b = false;
​
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果就是真(两个变量都是假,结果才为假)
System.out.println("!a && b:"+!(a&&b));//逻辑非运算:真变假,假变真(取反)
System.out.println("========================================");
System.out.println("========================================");
​
​
//短路运算:
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//c = 5,c没有变成6,说明没有执行c++。

位运算符:

特点:效率高!!!!

​
//面试题:

System.out.println(2<<3);
//此时发现2左移三位等于16

//位运算的好处:效率高!
//位运算的好处:效率高!
//位运算的好处:效率高!
//因为位运算是和二进制打交道的,可以用来做很多精巧快速的东西
拓展赋值运算符:(偷懒运算符)
int a = 10;
int b = 20;
a+=b;  //a = a + b;
a-=b;  //a = a - b;
   System.out.println(a);
   //也叫偷懒运算符
// =====================================================
​
   //字符串连接符:  +   , String
   System.out.println(a+b);
   System.out.println(""+a+b);
​
   System.out.println(a+b+"");
   //如果在前面,那么后面会拼接,如果字符串在后面,那么他依旧会运算。
   //所以 + 号除了加减,还有连接的作用
三元运算符:
//三元运算符:
//a?b:c;
//意思是若a==b,则结果为b,若a不等于b,则结果为c,类似:
// if(a==b);
//sout("b");
 // x?y:z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5716163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存