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.运算符的主要内容,如果未能解决你的问题,请参考以下文章

Java基础—Java流程控制

java逻辑运算符有哪些

java中的位运算符及其用法。

Java 基本语法---Java运算符

Java 基础之java运算符

java位移运算符有啥意义