前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础语法(三)——运算符

Java基础语法(三)——运算符

作者头像
RAIN7
发布2021-08-11 16:33:04
4060
发布2021-08-11 16:33:04
举报

Java基础语法(三)——运算符

本次内容介绍大纲

在这里插入图片描述
在这里插入图片描述

一、算术运算符

1.基本四则运算符

符号

作用

说明

+

两数相加

-

两数相减

*

两数相乘

/

两数相除

%

取余

得到的是两数相除后的余数

四则规则较为简单.

我们通过下面一组代码来熟悉 四则运算符的操作.

(1)练习

代码一

代码语言:javascript
复制
public static void main(String[] args) {
        System.out.println(5/2);
        System.out.println(5+2);
        System.out.println(5-2);
        System.out.println(5*2);
    }

我们根据运算的规则得出编译的结果为 2 ,7 ,3 ,10

编译结果:

在这里插入图片描述
在这里插入图片描述

代码二

代码语言:javascript
复制
 public static void main(String[] args) {
        System.out.println(5/2);
        System.out.println((float)5/2);
        System.out.println(5/(float)2);
        System.out.println((float)(5/2));

    }

编译结果

在这里插入图片描述
在这里插入图片描述

  第一次打印的是 5/2,两个int 类型相除,得到的还是 int 类型的,所以得到的结果为 2.

  第二次打印的是(float)5/2,将int 类型的5强制类型转换为 5.0,所以得到了2.5的结果.

  第三次打印同二.

  第四次打印先5/2,得到结果2,再将整形2 转换为 浮点型 2.0.

代码三: 负数的取模

代码语言:javascript
复制
public static void main(String[] args) {
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);
    }

这是带有负数的取模运算,那么编译的结果是什么呢?

编译结果:

在这里插入图片描述
在这里插入图片描述

10 / 3 = 3…1.

10 / -3 = -3…1.

-10 / 3 = -3…-1.

-10 / -3 = 3…-1 .

所以余数就为 1、 1、 -1、 -1.

(2)注意事项

(1)注意: 0不能做除数 代码如下:

在这里插入图片描述
在这里插入图片描述

编译结果:

在这里插入图片描述
在这里插入图片描述

  当0作为 除数时 ,编译过程会报错,显示为算术异常,0不能作为除数.

(2)%表示取余,不仅仅可以对 int 求模,也能对 double 求模

代码:

代码语言:javascript
复制
 public static void main(String[] args) {
        System.out.println(11.5%2.0);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

  而在c语言中不能对小数进行取余操作,在Java中可以对小数取余

2.复合运算符

符号

例子

+=

a+=2---->a=a+2

-=

a-=2----> a= a-2

*=

a =2–> a=a2

/=

a/=2---->a=a/2

%=

a%=2---->a=a%2

代码如下:

代码语言:javascript
复制
public static void main(String[] args) {
        int a = 10;
        a += 2;// a = a+2
        System.out.println(a);

        short b=6;
        b +=2;//  b= b+2
        System.out.println(b);
    }

编译结果如下:

在这里插入图片描述
在这里插入图片描述

我们知道,a+=2,相当于 a = a+2, b+=2,相当于 b = b+2.

当我们用 b = b+2,来代替 b+=2.

在这里插入图片描述
在这里插入图片描述

改正后的代码:

在这里插入图片描述
在这里插入图片描述

所以我们得出了一个结论:

复合运算符: += -= *= /= 都会帮我们进行一次强制类型转换.

3.自增自减操作符

符号

作用

++

前置++:先++后赋值、后置++:先赋值后++

- -

前置–:先–后赋值、后置–:先赋值后–

代码一:

代码语言:javascript
复制
 public static void main(String[] args) {
        int a=10;
        a++;
        System.out.println(a);

        int b=10;
        ++b;
        System.out.println(b);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

得出结论:

在这里插入图片描述
在这里插入图片描述

代码二

代码语言:javascript
复制
 public static void main(String[] args) {
        int a=10;
       int b=++a;
      
        System.out.println(b);

        int c=10;
        int d=c++;
        System.out.println(d);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

得出结论:

在这里插入图片描述
在这里插入图片描述

二、关系运算符

关系运算符主要有六个:

符号

作用

==

判断表达式相等,区别于"="赋值

!=

判断两个表达式是否不相等

<

判断第一个表达式是否小于第二个表达式

>

判断第一个表达式是否大于第二个表达式

<=

判断第一个表达式是否小于等于第二个表达式

>=

判断第一个表达式是否大于等于第二个表达式

练习

代码如下:

代码语言:javascript
复制
 public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a==b);
        System.out.println(a!=b);
        System.out.println(a<b);
        System.out.println(a>b);
        System.out.println(a<=b);
        System.out.println(a>=b);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

根据上述代码编译的实现,我们的得知 关系运算符的使用规则:

在这里插入图片描述
在这里插入图片描述

三、逻辑操作符

符号

名称

&&

逻辑与

||

逻辑或

逻辑非

1.逻辑与&&

代码:

代码语言:javascript
复制
 public static void main(String[] args) {
        int a=10;
        int b=20;
        int c=30;
        System.out.println(a<b && b<c);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

根据上述代码编译的实现,我们的得知 && 的使用规则:

在这里插入图片描述
在这里插入图片描述

2.逻辑或 ||

代码如下:

代码语言:javascript
复制
public static void main(String[] args) {
        int a=10;
        int b=20;
        int c=30;
        System.out.println(a<b || b<c);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

根据上述代码编译的实现,我们的得知 || 的使用规则:

在这里插入图片描述
在这里插入图片描述

3.逻辑非!

代码:

代码语言:javascript
复制
   public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(!(a>b));
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

根据上述代码编译的实现,我们的得知 !的使用规则:

在这里插入图片描述
在这里插入图片描述

4.短路求值

&& 和 || 遵守短路求值的规则由代码来举例:

在这里插入图片描述
在这里插入图片描述

我们知道 0不可以作为除数出现。否则编辑器会进行报错处理。

我们来看编译结果:

在这里插入图片描述
在这里插入图片描述

正常运行,没有报错,这是为什么呢?

得出的结论:

在这里插入图片描述
在这里插入图片描述

四、位运算符

符号

名称

使用

&

按位与

两个二进制位都为1,对应位为1

|

按位或

两个二进制位都为0,对应位为0

~

按位非

二进制中0变为1,1变为0

^

按位异或

二进制相同为0,二进制相异为1

1.按位与&

具体使用

在这里插入图片描述
在这里插入图片描述

代码如下:

代码语言:javascript
复制
  public static void main(String[] args) {
        int a=13;
        int b=5;
        System.out.println(a&b);
    }

编译结果如下:

在这里插入图片描述
在这里插入图片描述

2.按位或 |

具体使用:运算方式类似于按位与&

  使用规则:如果两个二进制位都是0,则结果为0,否则结果为1.

注意:

  当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算

3.按位异或 ^

  使用规则: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

4.按位取反 ~

  使用规则:如果该位为 0 则转为 1, 如果该位为 1 则转为 0

五、移位操作符

符号

名称

使用

<<

左移操作符

最左侧位不要了,最右侧补0

>>

右移操作符

最右侧位不要了,最左侧补符号位

>>>

无符号右移操作符

最右侧位不要了,最左侧补0

1.左移操作符<<

使用:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
 public static void main(String[] args) {
        int a = 10;
        System.out.println( a << 1);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

原来的二进制对应的是10

左移后得到的是 20

所以我们最后可以得到结论:

在这里插入图片描述
在这里插入图片描述

2.右移操作符 >>

使用

在这里插入图片描述
在这里插入图片描述

代码展示:

代码语言:javascript
复制
public static void main(String[] args) {
        int a = 10;
        System.out.println( a >> 1);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

原来二进制数字对应的数字是10

向右移动1位 对应的数字是 5

所以我们得到结论:

在这里插入图片描述
在这里插入图片描述

3.无符号右移 >>>

  与右移操作符类似,但不同的是右移操作符最右侧位舍去,左侧补上符号位(正数补0,负数补1)

  但是>>> 无符号右移的使用规则是 ,最右侧位舍去,左侧只补0.

4.总结

在这里插入图片描述
在这里插入图片描述

五、条件运算符

条件运算符(三目操作符)表达形式

  表达式1 ? 表达式2 : 表达式3

  当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.

  也是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法.

代码中的使用:

代码语言:javascript
复制
  public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a>b?a:b);
    }

编译结果:

在这里插入图片描述
在这里插入图片描述

六、关键字

  这里我们先只做简单了解即可,后期我们会详细学到。

在这里插入图片描述
在这里插入图片描述

  好了,今天Java基础语法运算符的知识就分享到这里,希望大家能够多多练习,巩固知识。谢谢大家的关注与欣赏!!!

谢谢欣赏!!!

Java基础语法(四)——程序逻辑控制已更新,欢迎大家来关注哦!!

完!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java基础语法(三)——运算符
  • 一、算术运算符
    • 1.基本四则运算符
      • (1)练习
        • (2)注意事项
          • 2.复合运算符
            • 3.自增自减操作符
            • 二、关系运算符
            • 三、逻辑操作符
              • 1.逻辑与&&
                • 2.逻辑或 ||
                  • 3.逻辑非!
                    • 4.短路求值
                    • 四、位运算符
                      • 1.按位与&
                        • 2.按位或 |
                          • 3.按位异或 ^
                            • 4.按位取反 ~
                            • 五、移位操作符
                              • 1.左移操作符<<
                                • 2.右移操作符 >>
                                  • 3.无符号右移 >>>
                                    • 4.总结
                                    • 五、条件运算符
                                    • 六、关键字
                                    • 完!
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档