Java基础教程——Java运算符

举报
布小禅 发表于 2021/11/06 11:47:56 2021/11/06
【摘要】 Java运算符

六、Java运算符

想必各位都对这个并不陌生,什么+ - * / 的,大家都在数学中见过,但是还是有些不一样的地方的,那么跟着我来认识一下我们在Java中经常会见到的以后的熟人吧

运算符也有挺多类别,如常见的算术运算符,赋值运算符,逻辑运算符等,Java中有六种运算符:算术运算符,关系运算符,位运算符,赋值运算符,逻辑运算符,其他运算符

1. 算术运算符

顾名思义,是用来进行运算的,有+,-,*,/,++,--,%
+ 的作用是进行加法运算,这个应该上过小学的人都知道,那么来看看Java中是如何使用的吧

public class Te0{
 public static void main(String[] args){
  System.out.println("1 + 1 =  " +(1+1));
 }
}
//输出的结果是 : 1 + 1 =  2
//2是运算结果,1+1=是字符串,不进行运算

- 的作用是进行减法运算,下面看代码演示

public class Te1{
 public static void main(String[] args){
  System.out.println("1 - 1 =  " +(1-1));
 }
}
//输出的结果是 : 1 - 1 =  0,0是运算结果,1 - 1 = 是字符串,不进行运算

* 进行乘法运算,下面看代码演示

public class Te2{
 public static void main(String[] args){
  System.out.println("2 * 3 =  " +(2*3));
 }
}
//输出的结果是 :2 * 3 =  6,6是运算结果,2 * 3 =  是字符串,不进行运算

/ 进行除法运算 5/4的结果默认是 1

public class Te3{
 public static void main(String[] args){
  System.out.println("5 / 4 =  "+(5/4));
 }
}
//输出的结果是 :5 / 4 =  1,1是运算结果,5 / 4 =  是字符串,不进行运算

之所以5/4的结果是1,是因为,这些数字是默认为整型的运算结果自然也是整型 % 是取余运算符,意思就是,拿到余数

public class Te4{
 public static void main(String[] args){
  System.out.println("3 % 2 =  "+(3%2));
 }
}
//输出的结果是 :3 % 2 =  1,1是运算结果,3 % 2 =  是字符串,不进行运算

++ 自增运算符,自己给自己加1 --(两个减号),自减运算符,单目运算符,只能适用于变量

public class Te5{
    public static void main(String[] args){
        int a = 1;  //想使用单目,必须有变量
        a++; //等效于a=a+1,但是输出的话,输出的是后面的a,而不是前面的
        System.out.println(a);
        //结果是2
        /*
        可能还是很不理解,那么久来看看这个例子吧
        现在你叫张三,我给你个代号是a
        a++就是,我对你说:张三,以后你叫李四,我先喊你的名字,然后告诉你,你名字被我改成李四了
        ++a就是,我直接在你档案改了你的名字,所以我喊你,应该喊李四,而不是张三
        a--,--a同理
         */
    }
}

3.关系运算符

顾名思义,就是计算你们两个的关系的,关系运算符有:== 、!=、>、<、<=、>= 这里的都是英文符号,需要注意的是,关系运算符都是二目运算符,返回的都是布尔类型的数据true/false

  1. ==和数学中的=一样用法,比如,你看到别人这样写:1 = 2,你就下意识的知道,这是错的,同理,你在Java中写出1 == 2,计算机也是知道这是错的,他会告诉你:false
  2. != 不等于,和数学中的是一样的,比如你看到1 2,你会说,这是对的,同样的,你给电脑看1!=2,电脑也会告诉你,这是对的,true。
  3. 下面的大于小于,大于等于,小于等于,都和数学组的一样,想必上过小学的人,都不会理解不了吧——笑

4. 位运算符

位运算符主要针对的是二进制数据,并只适用于int ,short ,byte,long,char五种类型。 位运算符有,&、|、<<、>>、<<<、^、~

  1. & 如果相对应位都是1,则结果为1,否则为0
  2. | 如果相对应位都是 0,则结果为 0,否则为 1
  3. ^ 如果相对应位值相同,则结果为0,否则为1
  4. 〜 按位取反运算符翻转操作数的每一位,即0变成1,1变成0
  5. << 按位左移运算符。左操作数按位左移右操作数指定的位数
  6. >> 按位右移运算符。左操作数按位右移右操作数指定的位数
  7. >>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 这个计算是要有二进制来使用,我是没怎么用过。。所以理解的不够深入,尽请谅解

5. 逻辑运算符

既然有运算符,那么怎么能没有与或非呢,三种运算符:&&、 ||、 !

  1. &&,这个就是与,也就是和逻辑,两个都必须满足,举个例子:我有女朋友和你有女朋友,那么,皆大欢喜。只要我没有女朋友或者你没有女朋友,就不说皆大欢喜,如果我俩都有,那就是皆大欢喜
  2. ||,这个是或,通用上面的例子,不过这次是只要我们俩其中一个有女朋友就是皆大欢喜
  3. !,这个是非,通用上面的例子,这次是我们俩都没有女朋友,就皆大欢喜(?怎么哪里怪怪的)

6. 赋值运算符

估计很多人都疑惑,为什么==是数学中的=,那么Java中的=是什么意思的呢?当当当当,就是这个赋值运算符了。当然,赋值运算符也是挺多的,不止一个=:=、+=、-=、*=、/=、(%)、<<=、>>=、&=、|=、^=,这里需要注意的是,这些赋值运算符都是双目运算符

  1. = 定义变量的时候,就要用这个,看下面的代码
    int a = 1;
    这句话的意思就是,将1的值给a,类型是int。这句话被执行后,a会在内存中分配一块整型的内存,然后将1的值,放入其中,举个例子,你是张三,我是李四,我们有一个秘密行动,你的代号是_007,我的代号是_008,那么用代码写出来就是:
    String _007 = "张三";
    String _008 = "李四";
  2. += 加等,顾名思义,写个例子就明白了:
    int a = 1;
    a += 1;//这个的意思就是a = a+1
  3. 剩下的也是如此,就不一一赘述了。。。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。