java中的运算符(java中的运算符按功能可以分为)

  本篇文章为你整理了java中的运算符(java中的运算符按功能可以分为)的详细内容,包含有java中的运算符优先级 java中的运算符按功能可以分为 java中的运算符既能用作逻辑运算也能作为运算 java中的运算符重载 java中的运算符,希望能帮助你了解 java中的运算符。

  
算术运算符
 

  +(加) -(减) *(乘) /(除) %(取余) ++(自增)--(自减)

  

  注意:/(除):两个整数相除,其结果一定是整数,小数位计算机自动略去

  

  例:

  

int num1 = 15;

 

  int num2 = 4;

  1. int result = num1/num2;

   system.out.println(result); // 3

  2. int result2 =num1/num2*num2;

   system.out.println(result2); // 12

  3. double result3 = num1/num2;

   system.out.println(result3); // 3.0

  4. double result4 =num1/num2+0.0;

   system.out.println(result4); //3.0

  5. double result5 =num1/(num2+0.0)

   system.out.println(result5 ); //3.75

 

  

 

 

  %: 取模运算

  

  被模数 % 模数 = 结果

  

  注意:结果正负与被模数正负相同

  

  例如:

  

int m1 = -15;

 

  int n1 =4;

  System.out.println(m1%n1); //-3

  int m2 = 15;

  int n2 =-4;

  System.out.println(m2%n2); //3

  

 

  

 

 

  

  ++(自增) --(自减)

  

  自增,自减的运算原理是一样的这边以++为例

  

  注意:++(自增1)--(自减1)不会改变原数据类型,后续开发中,这种方式效率更高,不然进行+1操作,还得进行数据类型强转

  

  先看例子:

  

  

1. ++在前

 

  int num = 4;

  int num1 =++num;

  System.out.println(num);

  System.out.println(num1);

  // num: 5 num1: 5

  2. ++在后

  int num2 = 4;

  int num3 =num2++;

  System.out.println(num2);

  System.out.println(num3);

  // num2: 5 num3: 4

  

 

  

 

 

  解析:

  

  等号在这边为赋值,将等式右边的值赋值给左边

  

  来看++在前,首先num的值先进行了+1运算,将num的值改变成5,然后将结果赋值给num1所以,例子++在前的 num 与 num1的值都为5

  

  然后++在后,首先num2的值赋值给num3,由于num2还未执行++操作,因此num3的值为num2的初始值4,随后num自己进行+1操作,将num2的值改变成5

  

  结论:

  ++在前,先自增1在进行运算,例如例子中的赋值运算

  ++在后,先运算,后自增1

  

  --在前,先自减1在进行运算

  --在后,先运算,后自减1

  

  赋值运算符

  
运算符号:= ,+=,-= ,*=, /=,%=

  

  += :

  number+=2 等价于:number=number+2

  

  -= ,*=,/=,%=类似

  

  

  比较运算符

  

  == , !=, , , = , =, instanceof

  

  比较运算符只有一种结果:true 或者 false

  

  例如:

  

int num = 4;

 

  int num4 =5;

  System.out.println(num==num4); //false

  System.out.println(num num4); //false

  System.out.println(num num4); // true

  System.out.println(num =num4); // false

  System.out.println(num =num4); //true

  System.out.println(num!=num4); //true

  

 

  

 

 

  
instanceof:用来测试一个对象是否为一个类的实例,后续在面向对象模块会涉及到
逻辑运算符

   (与)(或) !(非)^(异或)
(与)、 :两边都为true,结果才为true
(或)、:两边都为false,结果才为false
!(非):取反
^(异或):两边相同为false
重点:
(与)、 的区别:
:会对所有条件进行判断 :不会对所有条件进行判断,只要当条件出现false的情况,就不会继续判断,直接输出为false
(或)、 的区别
:会对所有条件进行判断
:不会对所有条件进行判断,只要当条件出现true的情况,就不会继续判断,直接输出true
在开发中,使用 跟 ,好处就是提高代码执行效率
位移运算符
位移运算符是对整数的二进制进行运算,无符号右移( )和 有符号右移左移( , ) ,在一些原码中经常可以看到一个数进行位移运算,其实有个巧妙的方法:
左移: 左移几位就乘以2的几次方 , 右移: 右移几位就除以2的几次方
计算小技巧:
左移不用说,左移几位乘以2的几次方,结果正负取决于要操作数的正负
例如:
 

  

 int num2 = -22;

 

   int num3 = 22;

   System.out.println(num2 2); //-22*2^2= -88

   System.out.println(num3 2); //22*2^2= 88

  

 

  
右移 (这边先不看无符号右移) :
当右移时,右移几位除以2的几次方,刚好能整除,商就是最终值若不能整除,这边得考虑想要位移的数是正数还是负数
若为正数:结果向下取整,也就是取小数点前的数字若为负数:结果向上取整,小数点前的数字+1
结果的正负也取决于要操作数的正负
例如:

  

 int num2 = -22;

 

   int num3 = 22;

   System.out.println(num2 2); // -6

   System.out.println(num3 2); // 5

  

 

  
解析:
-22 右移两位,-22*(2^2) =-5.5向上取整,结果符号与-22相同,所以结果为-6
22 右移两位,22*(2^2)=5.5向下取整,结果符号与22相同,所以结果为5
现在来看无符号右移:( )
无符号:最终位移操作结果都为正数
首先当要操作的数为正数时,跟 (右移)一样向下取整
若要操作的数为负数时,这边的计算方法对无符号右移就不适用了,就有一个新的概念,原码,反码,补吗
原码:原始二进制表示,最高位为符号位,对于正数来说最高位为0,负数为1
反码:正数的反码就是原码,负数的反码,符号位不变,其余位取反(0变1,1变0)
补码:正数的补码就是原码,负数的补码为反码+1
无符号右移:最高位补0
看个例子:
-10无符号位移4位

  

  

  

  
三元运算符
结构:(条件表达式)?表达式1:表达式2
当条件表达式为true时,则执行表达式1 否则表达式2
例如:

  

int x= 10;

 

  int y =5;

  System.out.println(x y?"大于":"小于"); //大于

  

 

  

 

 

  以上就是java中的运算符(java中的运算符按功能可以分为)的详细内容,想要了解更多 java中的运算符的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: