A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

本帖最后由 小蜀哥哥 于 2018-3-1 16:43 编辑

《跟我学Java——基础篇03》




前言:
     本篇内容继续讲解Java的基础语法,主要是介绍运算符部分的内容。

1.      运算符:
             在数学里,我们也学过一些运算符,比如加减乘除等等,Java里也有运算符,有些和数学里的运算符类似,有些有自己的特点,接下来咱们就一起来学习Java中的运算符吧。
             在Java中,将常量和变量连接起来做运算的符号就是运算符。我们根据它的分类来一一学习它们。

             算术运算符:
                          i.常见的算数运算符有:+   -  *  /  % ++  --
                          ii.先来看我们熟悉的加减乘除:

                           加减乘对应的符号分别是:+,-,*
                          其运算规则和数学里一样,这里不再赘述

                          除号对应的符号是:/
                                        其运算规则和数学中的区别是:整数相除的结果一定会是整数
                          例如:
                          int num = 10 / 4;
                          System.out.println(num);//结果会是2,而不是2.5

                          %:取余(也叫做取模)
                          是一个取除法运算中余数的符号

                          例如:
                          int num1 = 10 % 4;
                          System.out.println(num1);
                           //10除以4,其余数会是2,所以nun1的结果就是2

                          int num2 = 3 / 2;
                          System.out.println(num2);
                          //3除以2,其余数会是1,所以nun2的结果就是1

                          int num3 = 3 / 3;
                          System.out.println(num3);
                          //3除以3,刚好整除,其余数会是0,所以nun3的结果就是0

                          ++  --
                          ++符号的作用就是使变量值+1
                          例如:
                          int num = 10;
                          num++; //效果等同于 num = num + 1;
                          System.out.println(num); // 结果是11

                          int num2 = 10;
                          ++num2;
                          //++既可以放在变量前也可以放在变量后,单独使用的时候没有区别
                          System.out.println(num2); // 结果也是11

                          - -
                          类似于++,- -符号的作用是使变量值-1
                          例如:
                          int num = 10;
                          num--; //效果等同于 num = num - 1;
                          System.out.println(num); // 结果是9
                          ++ 和- - 这两种运算还能和其他运算一起使用,这个时候符号放在变量前面和后面是有区别的

                          i. 我们以++为例说明:
                          ++在前,先变量+1,再进行其他运算
                          ++在后,先进行其他运算,再变量+1
                          例如:
                          int num = 10;
                           int a = num++; //先将num赋值给a,再变量num+1
                          int b = ++num; //先变量num+1,再将num赋值给b

                          System.out.println(a); // 结果是10
                          System.out.println(b); // 结果是12

             赋值运算符:
                          =号,就是赋值运算符
                          例如:
                         int num; //定义了一个int类型的变量num
                         num = 10; //10赋值给num = 号就是赋值号



                          还有一些扩展的赋值运算符:
                          +=  -=  *=  /= ………
                          例如:
                          int num = 10;
                          num += 20; //其结果相当于 num = num + 20;
                          System.out.println(num); // 结果是30

                          int num2 = 10;
                          num *= 20; //其结果相当于 num = num * 20;
                          System.out.println(num); // 结果是200

             比较运算符:(也叫关系运算符)
                          用于比较两个数值的关系,其结果会是布尔类型
                          常见的比较运算符:
                          <小于
                          <= 小于等于
                          > :大于
                          >= :大于等于
                          == :等于
                          !=:不等于
                          例如:
                          int num1 = 10;
                          int num2 = 20;
                          int num3 = 20;
                          boolean b1 = num1 > num2;//false
                          boolean b2 = num1 < num2; //true
                          boolean b3 = num2 >= num3; //true
                          boolean b4 = num1 >= num2; //false
                          boolean b5 = num1 != num2; //true
                          boolean b6 = num2 == num3; //true

             逻辑运算符:
                          用于连接结果为布尔类型的表达式
                          有时候我们需要表示一个数的范围,一个比较表达式不足以描述
                          例如:想描述a的大小在0到10之间:
                                       i.  java中不允许这样写:0<= a <= 10
                                       ii.  应该写成:a >= 0 并且 a <= 10

                          上例中的”并且”就可以用我们的逻辑运算符来做到

                          常见的逻辑运算符:
                          &:与符号,有false则false
                           例如:
                           System.out.println(false & true); // 结果是false
                           System.out.println(true & false); // 结果是false
                           System.out.println(true & true); // 结果是true
                           System.out.println(false& false); // 结果是false

                          |:或符号,有true则true
                           System.out.println(false | true); // 结果是false
                           System.out.println(true | false); // 结果是false
                           System.out.println(true | true); // 结果是true
                           System.out.println(false| false); // 结果是false

                          !:非符号,取反
                           boolean b = true;
                           System.out.println(!b); // 结果是false
                           System.out.println(!!b); // 结果是true

                          ^:异或符号,相同则false,不同则true
                           System.out.println(false ^ true); // 结果是true
                           System.out.println(true ^ false); // 结果是true
                           System.out.println(true ^ true); // 结果是false
                           System.out.println(false^ false); // 结果是false

                          &&:短路与
                                       i.其运算结果与&相同
                                      ii.区别:当左边的表达式结果为false,最终结果为false,右边不参与运算
                          ||:短路或
                                      i.其运算结果与|相同
                                      ii.区别:当左边的表达式结果为true,最终结果为true,右边不参与运算

             三元运算符:
                          格式:(关系表达式)?表达式1 : 表达式2
                          运算规则:首先运算关系表达式的结果,
                          如果是true,则三元运算符的结果是表达式1,
                          如果是false,则三元运算符的结果是表达式2
                          例如:
                           int a = 10;
                           int b = 20;
                           int num =( a>b )? 10 : 20;
                           //先算出a > b的结果是false,所以取表达式2作为结果,所以num的值为20

                          注意:
                                       i.、三元运算符的表达式数据类型必须与接收的类型一致。
                                       ii.  上例中,接收的变量num类型是int,所以可以接收数值20或者10。



6 个回复

倒序浏览
顶!
回复 使用道具 举报
成都校区的导师都是这么皮的么
回复 使用道具 举报
i19920412 来自手机 中级黑马 2018-3-1 16:47:06
板凳
赞一个,可以的
回复 使用道具 举报
这个太详细了,java基础有深入了一波
回复 使用道具 举报
很深入,java基础有多明白了许多
回复 使用道具 举报
这个java运算符讲得很详细很深入,谢谢分享 学到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马