您的位置 首页 java

JAVA网络架构入门3—运算符1

Java运算符有7种:基本运算符、自增自减运算符、关系运算符、逻辑运算符、扩展赋值运算符、三元运算符、 字符串 拼接符。

1.基本 运算符 包含+ – * / %(取余)

 System.out.println(5 % 2)//输出1
System.out.println(1 % 2)//输出1
System.out.println(2 % 3)//输出2
System.out.println(3 % 3)//输出0  

2.自增自减运算符:作用于变量。

自增:在变量自身基础上增加1, 自增符号: ++

自减:在变量自身基础上减少1, 自减符号: —

单独元运算时,符号在变量前后都一样,都执行自增自减操作

 int a = 5;
a++;//a为6
++a;//a为7  

参与运算时(当然包含赋值运算),符号在变量前后是不一样的

符号在前,先自增自减,再参与其他运算

符号在后,先参与其他运算,再自增自减

    int a = 2;
        int b = 2;
        int c = a++;
        int d = ++b;
        System.out.println(c);
        System.out.println(a);
        System.out.println(b);
        System.out.println(d);  

输出结果为

 "C:\Program Files\Java\jdk1.8.0_291\bin\java.exe" "-javaagent:E:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=14497:E:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_291\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\rt.jar;E:\JSDVN\JSDVN2210\VN2210\out\production\VN2210" day03.OperationDemo01
2
3
3
3  

还有一道经典的面试题目如下:

 int a = 1;
a = a++;
System.out.printIn(a);  

请问输出a的值如何,正确答案是1。实际上,上文说的符号在前在后,变量先做什么后做什么,只是一个我们分析自增自减运算符结果的方法,是代码运行的大概流程。实际上,是这样的:

 int a =1;
a = a++;
/**先将变量的内容赋值给临时变量:temp = a;
     再将变量进行自增操作:             a = a++;  
     将临时变量赋值给a:                    a = temp;
     */  

实际上,和之前的代码:int c = a++; c的值仍然是a,是一样,与我们总结的两条规则完全一致,是不冲突的。

同理:

         int b = 1;
        b = ++b;
        /**符号在前:
         *         (1)将b变量进行自增操作     b = b+1;
         *         (2)将b赋值给临时变量      temp = b;
         *         (3)将临时变量赋值给b      b = temp;
         */        System.out.println(b);//2  

3.关系运算符

关系运算符指的是: 大于 > 小于 < 大于等于 >= 小于等于<= 等于== 不等于!=

关系运算符的结果一定的boolean 要么成立 true 要么 不成立 false

 int a =100; 
int b = 99;
boolean  result1 = a > b;
System.out.println(result1);//输出true
boolean result2 = a < ++b;
System.out.println(result2);//输出false  

文章来源:智云一二三科技

文章标题:JAVA网络架构入门3—运算符1

文章地址:https://www.zhihuclub.com/186070.shtml

关于作者: 智云科技

热门文章

网站地图