Java运算符的使用
文章目录前言一、算数运算符二、赋值运算符三、比较(关系)运算符四、逻辑运算符五、三目(条件)运算符六、连接运算符总结
前言
之前我们介绍了什么是变量以及变量的八大基本数据类型,这节我们将要介绍Java中的运算符有哪些,所谓运算符就是对Java的变量进行运算的,同数学一样,Java也有加减乘除等运算,通过算术运算符来表示除此之外还有赋值运算符、比较运算符、逻辑运算符、三目运算符,下面我们就来具体的看一看
一、算数运算符
算数运算符可以从数学运算的角度来理解,就是简单的加减乘除等运算
需要的注意问题:
1.如何计算获得小数
我们正常进行1/2,7/2,3/2类似于这种小数计算时如果直接使用
System.out.println(1/2); System.out.println(7/2); System.out.println(3/2); //输出结果为0,3,1
这样的方式是无法获得想要的结果的,需要在运算的数字中至少有一个数字加上小数点,例如:
System.out.println(1.0/2); System.out.println(7/2.0); System.out.println(3.0/2.0); //输出结果为0.5,3.5,1.5
2.自加自减的问题
这个问题大家在初学运算符的时候应该已经初步了解过,简单来说就是,++/–出现在变量前,先加,后使用,出现在变量后,先使用后加。 例如:
int a = 1; System.out.println("++a等于:" + ++a); System.out.println("现在a等于:" + a); //结果为++a等于:2,现在a等于:2。也就是先将a + 1,然后输出a int b = 1; System.out.println("b++等于:" + b++); System.out.println("现在b等于" + b ); //结果为b++等于:1,现在b等于:2。也就是先将b输出,然后b + 1 int c = 2,d = 3; c = d++; System.out.println("c等于:" + c); System.out.println("现在d的值是:" + d); //结果为c等于:3,现在d的值是:4,也就是先将d的值赋给c,然后d再+1二、赋值运算符
需要的注意问题:
1.使用扩展赋值运算符永远不会改变运算结果的类型
例如:
byte i = 10; i += 10000; System.out.println(i); //结果为26
其实在我们使用扩展赋值运算符的时候,会自动进行强制类型转换,例如i += 10000相当于i = (byte)(i + 10000),int类型的数字被我们强转为byte类型,精度有损失,所以输出26
如果i是byte类型,那么i = i + 10 就会报错
byte i = 10; i = i + 10;//相当于byte类型和int类型相加 System.out.println(i); //报错三、比较(关系)运算符
需要的注意问题:
1.比较运算符的运算结果是布尔类型,也就是结果只有两种可能要么是true,要么是false
2.注意区分赋值符号=和等于符号==,这种问题到了后面也是很常见,一开始就要严格要求自己
与数学中集合学的那一套类似,且的话就是有一个不成立那么就不成立,或的话就是有一个成立那么就成立
需要的注意问题:
1.逻辑与(或)与短路与(或)的区别
他们的主要区别在于是否执行的问题
短路与(或)在发现有一个值为假(真),那么会直接结束该表达式的运算,后面的表达式将不会去执行,并且是按照从左向右的顺序执行的,也就是如果假(真)的值在后面,那么前面的表达式也会照样执行,
逻辑与(或)即使发现有值为假(真),也会接着运行完后面的表达式
以短路与和逻辑与为例:
//逻辑与 int num1 = 1,num2 = 1; boolean bo2 = (0 < num1++)&(2 > num2++); System.out.println(bo2); System.out.println("num1为:" + num1); System.out.println("num2为:" + num2); //输出结果为:false,num1为:2,num2为:2 //逻辑与纵使前面的表达式值为false,后面的num2++也会执行
//短路与 int num1 = 1,num2 = 1; boolean bo2 = (0 < num1++)&(2 > num2++); System.out.println(bo2); System.out.println("num1为:" + num1); System.out.println("num2为:" + num2); //输出结果为:false,num1为:2,num2为:1 //短路与当判断前面表达式的值为false时,直接输出表达式的值为false,后面的num2++跳过执行
2.异或的理解
异或目前只要记住一句话值不同则为true,值相同则为false
boolean bo = (5 > 3)^(5 > 3); System.out.println(bo); //值为false五、三目(条件)运算符
三目运算符其实很容易理解,符合前面给的表达式,则取第一个值,不符合则取第二个值
格式:(关系表达式)?表达式1:表达式2
//先看关系表达式值为true还是false,这里1 < 2明显满 //足,值为true,所以三目表达式返回第一个值4,也就是int a = 4; int a = 1 < 2?4:2 System.out.println(a); //结果为4六、连接运算符
连接运算符用于println中字符串的连接,作用是将两个字符串连接成为一个字符串,举例即可说明
System.out.println("我" + "爱" + "学习" + "你呢" + "?"); //结果为:我爱学习你呢?总结
本节主要介绍了运算符的使用及其要注意的问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)