Java基础之运算符

来源:互联网 发布:舟山淘宝代运营诈骗案 编辑:程序博客网 时间:2024/06/01 10:09

1.运算符分类

我们所说的运算符主要分为六大类,分别为:

  • 算数运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 移位运算符
  • 三目运算符

2.各个运算符包含的内容及用法

2.1 算数运算符

算数运算符包括”+“,”-“,”*“,”/“,”%“。
+“,”-“,”*“这三个运算符在此就不必多说了,跟我们日常的用法完全一致,着重对”/“和”%“做一下说明:


2.1.1 “/”可以称为取整,例如:

int a = 10;int b = 3;int c = a / b;System.out.println(c);//输出的结果是3

只取做除之后的商。
但如果除数或被除数为浮点型数据,例如:

double a = 10.0;int b = 3;int c = (int)(a / b);System.out.println(c);//3

还有一种情况就是除数或被除数为浮点型数据,结果也为浮点型数据,例如:

double a  =10;int b =3;double c = a / b;System.out.println(c);//3.3333333333333335

经过上面的测试对”/“可以这样总结:

两个数用”/“相除,如果结果类型为int类型,则只取商值;如果是浮点类型,则取到的是小数。

2.1.2 “%“意为取余,例如:

int a = 10;int b = 3;int c = a % b;System.out.println(c);//1

如果结果为浮点型,则结果是1.0。对”%“可以这样总结:

两个数用”%“相除,不论除数和被除数数据类型为整型还是浮点型,其结果值是两数相除的余数值。

2.2 赋值运算符

赋值运算符包括:”=“,”+=“,”-=“,”*=“,”/=“,”%=“,”++“,”- -“。

  • =“:将”=“左侧的值赋给右侧,例如
int a = 10;

意思是将数值10赋值给变量a。

  • +=“:将”+“号左侧的值与”=“右侧的值相加后的结果值赋给”+“左侧的变量,例如
int a = 10;a += 5;Sysotem.out.println(a);//15

运算过程可以这样理解

a = a + 5;
  • -=“,”*=“,”/=“,”%=“,”+=“用法同上。
  • ++“:称为自加,既在变量自身值的基础上加1并赋值给变量本身,例如
int i = 1;i++;System.out.println(i);//2

结果是2;运算过程相当于:

i = i + 1;

++“运算符又分为前”++“和后”++“。

后”++“,先赋值再自加,例如

int i = 10;int j = i ++;System.out.println(j);//10System.out.println(i);//11

就是i先将10赋给j,然后自身再加1;

前”++“,先自加再赋值,例如

int i = 10;int j = ++ i;System.out.println(j);//11System.out.println(i);//11

就是i先加1,然后将加1后的结果赋给j。
前“- -”和后“- -”同上面一致,小伙伴们可以自己试试效果。

2.3 比较运算符

比较运算符是用于数据间的比较,如果比较结果是正确的,返回值为true,否则返回false。其运算符包括
>”,”>=“,”<“,”<=“,”==“,”!=“。

其中“>”,”>=“,”<“,”<=“与我们数学中的比较形式是相同的,在这里就不做太多解释了。在此主要对”==“,”!=“这两个运算符做详细的说明。

  • ==“:这个运算符要特别注意,在基本数据类型中使用时,等号两端比较的是值是否相等,例如
int a = 10;int b = 10;System.out.println(a == b);//输出结果为truechar ch = 'a';char ch1 = 'a';System.out.println(ch == ch1);//输出结果为trueboolean b = false;boolean b1 = false;System.out.println(b==b1);//输出结果为true

但是如果是String类型的数据进行值的比较,不能使用“==”,而应该使用String类提供的”equals()“方法来进行比较。

  • !=”:不等于,如果其两侧的值不同返回ture,否则返回false。

2.4 逻辑运算符

逻辑运算符主要用于对boolean类型的值进行判断,其主要分为位运算:“&”,“|”,“^”;逻辑运算:“&&”,“||”,“”。

  • 共同点:
  • &”和“&&”都称为与运算,分别称为按位与,逻辑与。他们两侧都为true是,最终返回true;例如
System.out.println(true & true);//输出结果trueSystem.out.println(true && true);//输出结果trueSystem.out.println(true & false);//输出结果falseSystem.out.println(false & false)//输出结果false;System.out.println(false & true);//输出结果falseSystem.out.println(true && false);//输出结果falseSystem.out.println(false && false);//输出结果falseSystem.out.println(false && true);//输出结果false

输出结果都为false。

与运算可以这样总结:全真为真,一假为假

  • |”,“||”称为或运算,分别称为按位或,逻辑或。他们两侧只要有一个为true,返回结果为true;只有都为假的时候,返回结果才为假。

    或可以这样总结:全假为假,一真为真

  • ^”称为异或,当它两侧同为true或者同为false时,返回结果是true,否则返回结果是false。

    异或可以这样总结:相同为真,不同为假

  • ”称为逻辑非,用来对boolean类型的值进行取反操作,例如

System.out.println(!true);//结果为falseSystem.out.println(!false);//结果为true
  • 不同点:
    • 按位运算可以对二进制数进行运算,而逻辑运算不可以;
    • 按位运算即使通过左侧数据能够得出最终结论也会再对右侧数据进行运算,而逻辑运算如果通过左侧数据能够得到最终结论,则不会再对右侧数据进行运算,例如
    true | false;//通过左侧的true几个得出结论true,但是按位运算还会对右侧的false再次进行运算,然后返回最终结果    true || false;//逻辑运算会通过左侧的true直接返回最终结果true

通过以上比较,小伙伴对位运算和逻辑运算有了一些了解了吧。通过不同点的比较我们一般使用逻辑运算而不常用位运算,这样有助于提高程序运行的效率。

2.5 移位运算符

移位运算符是对数进行运算的,对此在下用的太少,对其了解的也是非常少,在这里推荐一个详细讲解的博客,有兴趣的小伙伴可以去详细了解一下。

2.6 三目运算符

三目运算符又称为三元运算符,其格式为

判断条件?条件为真:条件为假

举个例子说明一下

System.out.println(3>2?"对啦":"不对");//输出结果是 对啦

在上个例子中,3>2是成立的,所以就输出了:之前的“对啦”;反之则会输出:后面的内容。

好啦,对Java的运算符就说到这里了,如果小伙伴发现在下书写有问题,请指正哦

原创粉丝点击