java.运算符
Posted youngleesin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.运算符相关的知识,希望对你有一定的参考价值。
算术运算符
+ 加 -减 *乘 /除 %取余
整数运算时,0不能作为除数,浮点运算时,0.0可以,但是结果无穷大
注意事项:
1、当两个整数进行除法运算时,结果只取整数部分,小数部分舍弃
2、当希望结果中保留小数部分,具体方法如下:
a.将其中一个操作数强转为double类型再做运算
b.将其中一个操作数乘以1.0提升为double类型再运算(推荐)
3、0不能作为除数,否则产生 算术异常:/by zero?。但是0.0可以作为除数但是结果无穷大,编程中尽量避免0和0.0作为除数
测试demo
public class TestAri
?????public static void main(String[] args)
?????????int a = 10;
?????????int b = 4;?????????
?????????//打印变量值
?????????System.out.println(a); //10
?????????System.out.println(b); //4?????????
?????????//相加
?????????System.out.println(a+b);? //14
?????????//相减
?????????System.out.println(a-b);? //6
?????????//相乘
?????????System.out.println(a*b);? //40
?????????//相除
?????????System.out.println(a/b);? //2
?????????//取余
?????????System.out.println(a%b);? //2
???????
?????????//整数相除,只取整数部分,小数舍弃
?????????System.out.println(5/2);? //2
?????????//将5先转为double类型
?????????System.out.println((double)5/2);? //2.5
?????????//将2转为double类型
?????????System.out.println(5/(double)2);? //2.5
?????????//先运算在转为都double类型
?????????System.out.println((double)(5/2));//2.0
?????????//先用double
?????????System.out.println(1.0 * 5/2);? //2.5
????????????????
?????????//0不能作为除数
//System.out.println(5/0); // by zero???????at day04.TestAri
?????????//0.0作为除数结果为无穷大
?????????System.out.println(5/0.0); //Infinity
?????????//0除以0.0结果为查无此数
?????????System.out.println(0/0.0); //NaN Not a Number
?????
字符串连接运算符
“+”可以实现字符串的连接。同时可以实现字符串与其他数据类型的相连
注意事项:
1、当+两边的操作数中只要有一个字符类型,则按照字符连接符类处理,结果依然是字符
2、当+两边的操作数都不是字符串时,则按照算术运算符来处理
测试demo
public class TestAri
?????public static void main(String[] args)
?????????//当+两边的操作数中只要有一个字符类型,则按照字符连接符类处理
?????????System.out.println(1+2+"4");
?????????System.out.println("4"+1+2);
?????????
?????????//当+两边的操作数都不是字符串时,则按照算术运算符来处理
?????????System.out.println(1+2);
?????
自增减运算符
+ 表示加法或连接 ++ 表示自增,也就是让自身的数值加1
- 表示减法 -- 表示自减,也就是让当前变量自身的数值减1
++(--)可分为前++(--)和 后++(--)
当++在前时先进行加1的操作,然后再进行其他运算
当++在后时前进行其他运算,然后再进行加1的操作
-- 同理,也就是无其他*或/等运算符参与时在前在后结果并无区别
测试demo
public class TestSelf
?????public static void main(String[] args)
?????????int a = 3;
????????
?????????System.out.println(a);
????????
?????????//当++在后时先进行其他运算,然后再进行加1的操作
?????????int b = a++;
????????
?????????// 先进行将a赋值给b的操作,再进行a自增1。所以打印b得到的是a赋值的结果
?????????System.out.println(a); //4
?????????System.out.println(b); //3
???????
?????????//当++在前时先加1,进行其他运算,所以得到的是+1+a等于5
?????????System.out.println(++a);
?????????//当++在后时先进行打印操作,然后再+1,所以这里也是输出5
?????????System.out.println(a++);
?????????//这里并无算术操作,是上一个输出操作后a进行自得到的6
?????????System.out.println(a);
?????????
?????????//算术测试
?????????System.out.println(a); //6
?????????//当++在后时先进行其他运算,然后再进行加1的操作
?????????System.out.println(a++ + ++a); //? 这里是先进行
++? + ++a的运算得8,然后再a + 8 =14
?????????System.out.println(a); //这里得到得就是上面先进性得 ++ + ++a得结果 8
?????
赋值运算符
赋值运算符将右边表达式得运算结果赋值给左边变量得运算符
1、简单赋值
= 表示赋值运算符,用于将=右边得数据赋值给=左边得变量,覆盖改变了原来得数值
2、复合赋值
= 、+= 、-= 、*= 、/= 、%=
测试demo
public class TestAssign
?????public static void main(String[] args) ?????????
?????????int a = 10;
?????????int b = 5;?????????
//简单赋值
?????????a = b;
?????????System.out.println(a); // 5
?????????
?????????//符合赋值 = 、+= 、-= 、*= 、/= 、%=
?????????a /= b;
?????????System.out.println(a); //此时上个运算已将b赋值给a,所以a /= b等于 5/5得1?????????
?????
比较运算符
比较运算符是用来判断两个表达式或值大小得关系运算符
> 表示是否大于
< 表示是否小于
== 表示是否等于
<= 表示是否小于等于
!= 表示是否不等于
>= 表示是否大于等于
关系运算符参与得表达式最终结果为boolean类型, True(真)和False(假)
测试demo
public class TestRelation
?????public static void main(String[] args)
?????????int a = 3;
?????????int b = 5;
?????????// >、 <、 ==、 <=、 !=、 >=
?????????System.out.println(a>b); //False
?????????System.out.println(a=b); //False
????????
?????
以上是关于java.运算符的主要内容,如果未能解决你的问题,请参考以下文章