第一章 Java基本语言------3

第五节 运算符

(1)算术运算符

这里面需要注意:1.整除(/) :这个整除就是5/3=1……2.   我们舍弃余数2,取整数1.

                             2.取余(%):这个取余就是5%3=1……2. 我们舍弃整数1,取余数2.

                             3-1.i++:这个是先输出,在运算。运算:i + 1 = ?

                             3-2.++i:这个是先运算,在输出。运算:i + 1 =?

                             3.i++和++i的区别在于,前者在输出语句的结果为1,后者在输出语句的结                                  果为2。

                             4.i- -和- -i他俩 和 i++跟++i的区分一模一样,了解++,- -就理解了。

                                                           3-1

                                                         3-2 

(2) 赋值运算符

 1.+=:int a=5;

            a+=2;     //这个就相当于 a = 5+2 =7.  注意 a = 7   这个“=”叫做赋值号,是给a赋予了                               一个值为7

2.-=:int a=5;

           a-=2;      //这个就相当于 a = 5-2 =3.  注意 a = 3   这个“=”叫做赋值号,是给a赋予了                               一个值为3

3.*=:  int a=5;

           a*=2;      //这个就相当于 a = 5*2 =10.  注意 a = 10   这个“=”叫做赋值号,是给a赋了                               一个值为10

4./=:  int a=5;

           a/=2;      //这个就相当于 a = 5/2 =2……1  注意 a = 2   这个“=”叫做赋值号,是给a赋                               了一个值为2

5.%=:  int a=5;

           a%=2;    //这个就相当于 a = 5%2 =2……1  注意 a = 1   这个“=”叫做赋值号,是给a赋                             了一个值为1

6.=:这个叫赋值号     a=3    给a赋了一个值为3.

(3)比较运算符(关系运算符)

注意:

            1.基本类型的变量、值不能和引用类型的变量、值使用 == 进行比较;boolean 类型的变量、值不能 与其他任意类型的变量、值使用 == 进行比较;如果两个引用类型之间没有父子继承关系,那么它 们的变量也不能使用 == 进行比较。

           2.== 和 != 可以应用于基本数据类型和引用类型。当用于引用类型比较时,比较的是两个引用是否指 向同一个对象,但当时实际开发过程多数情况下,只是比较对象的内容是否相当,不需要比较是否 为同一个对象。

          3.比较运算符输出结果只有两个:trun和false

(4)逻辑运算符

 1.短路:只要前面的输出结果为false,那么就不会输出后面的结果了。

 2.逻辑:就算前面的输出结果为false,也要输出后面的输出结果。

补充:^  异或   用法:a^b    说明:真假=真   真真=假   假假=假 (输出结果两个不同为真,两个相同为假,)  这个游戏逻辑判断可能会使用到。

(5)位运算符(需要会二进制)

(1)& 按位进行与运算   (AND) 

       位与运算符为 & ,其运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位 同时为 1,那么计算结果才为 1,否则为 0。因此,任何数与 0 进行按位与运算,其结果都为 0。 

            5&12

(2)| 按位进行或运算   (OR)     

         位或运算符为 | ,其运算规则是:参与运算的数字,低位对齐,高位不足的补零。如果对应的二进制位 只要有一个为 1,那么结果就为 1;如果对应的二进制位都为 0,结果才为 0。 下面是一个使用位或运算符的表达式。

              11|7

(3)^ 按位进行异或运算(XOR)   

          位异或运算符为 ^ ,其运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制 位相同(同时为 0 或同时为 1)时,结果为 0;如果对应的二进制位不相同,结果则为 1。

            11^7

(4)~ 按位进行取反运算(NOT)    

         位取反运算符为 ~ ,其运算规则是:只对一个操作数进行运算,将操作数二进制中的 1 改为 0,0 改为 1。

          ~10

 需要注意:虽然~10的取反二进制为11111111 11110101,十进制为65525,但是但是它输出是-11!!!  因为二进制前面有个符号位:1为负,0为正;  而二进制10取反为-11

(5)位移运算符

          位移运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。表 2 列出了 Java 语言中的 两个位移运算符,它们都属于双目运算符。 

①.左位移运算符

     左移位运算符为 « ,其运算规则是:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍 弃),低位的空位补零。

                     例如,将整数 11 向左位移 1 位的过程如图所示

     从图  中可以看到,原来数的所有二进制位都向左移动 1 位。原来位于左边的最高位 0 被移出舍弃,再 向尾部追加 0 补位。最终到的结果是 22,相当于原来数的 2 倍。 

②.右位移运算符

      右位移运算符为 » ,其运算规则是:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍 弃),高位的空位补零。

      例如,将整数 11 向右位移 1 位的过程如图所示。

     从图中可以看到,原来数的所有二进制位都向右移动 1 位。原来位于右边的最低位 1 被移出舍弃,再 向最高位追加 0 补位。最终到的结果是 5,相当于原数整除 2 的结果。

(6)三元运算符

语法格式:关系表达式 ? 表达式1 : 表达式2;

解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行表达式2。

 完结了!!可以去动动脑给自己出出题做做实验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮球zzzzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值