首页 > 代码库 > 运算符的那些事
运算符的那些事
运算符的分类有哪些?
1.算数运算符。2.逻辑运算符。3.自增,自减运算符。4.关系运算符。5.赋值运算符。6.三元运算符。
1.算数运算符
算数运算符就是一些+ - * / % 运算符,前四种我们都熟悉。可能%我们会陌生些,这个运算符的作用就是取余数的。
例如:
int a=5;
int b=3;
int c=a%b;
System.out.println(c);
这样的输出结果就是2;这就是%的运算方法。
2.逻辑运算符
逻辑运算符有 || && !
if(条件一||条件二){//条件一和条件二无论哪个条件成立会输出下面那就话。只有在条件一和条件二同时为假的情况下才不会执行输出语句。
System.out.println("这是逻辑运算符与(||)");
}
if(条件一&&条件二){
System.out.println("这是逻辑运算符and(&&)");//只有在条件一和条件二都为真的时候才会输出,只要有一方为假这就话就不会执行。
}
if(!true){
System.out.println("这是逻辑运算符非(!)");//这种情况下这句话是不会输出的,因为当条件是true时如果加上!就变成了false了。所以这句话永远不可能输出。
}
当然逻辑运算符还有 & |
& 运算符和&&运算符类似 但是&&运算符有一个弊端那就是当第一个条件为false时,那么就不会计算第二个条件了也就是说只要前一个条件为false时下一个条件就不会再进行判断了。
但是& 符号就不一样了,无论第一个条件是否为false都会执行或者判断第二个条件。
例如:
if(x==33 & ++y>0)
y会增长
3.自增,自减运算符
++a;是先加再赋值,就类似于
a=a+1;
b=a;
--a;与之类似,先减再赋值。
a=a-1;
b=a;
a++;是先赋值再加;类似于
b=a;
a=a+1;
a--;是先赋值再减,类似于
b=a;
a=a-1;
4.关系运算符。
关系运算符包括有>,<,!=,<=,>=,==
关系运算符就比较简单了,两个对象的关系是什么利用关系运算符就可以知道,而且关系运算符的运算结果只有true或者false。
5.赋值运算符。
相信赋值运算符就更容易理解了。
a+=b;
a-=b;
a=b;
前两种可能会陌生些,但是却很容易理解
a+=b;
就是相当于:a=a+b;
而a-=b;相信就更容易理解了那就是a=a-b;
至于最后一种相信只要不傻就会明白是把b的值赋值给a;
在这里一定要分清楚a=b;和a==b;之间的区别。
a=b是赋值,a==b是判断a和b是否相等。
6.三元运算符。
最后就是三元运算符了那就是
?:
相信大家看到这个东西都会很奇怪这个是怎么运算的但是有时候计算机就是这么神奇
举一个简单的下例子
例如:
int a=3;
int b=3;
System.out.println(a==b?a+b:b-a);
在这种情况下就会输出6;也就是a+b;
int a=3;
int b=4;
System.out.println(a==b?a+b:b-a);
但是在这种情况下就会输出1,也就是b-a;
三元运算符原理:
条件表达式1?表达式二:表达式三
首先当然是判断条件表达式1了;如果条件表达式1为true那就是输表达式二的运算结果,如果为false那就输出表达式三的运算结果。
其实本质上就是一个if else语句
就是if(条件表达式1){
System.out.println(表达式二);
}else{
System.out.println(表达式三);
}
当然了还有一些运算符比如
<< >> >>> 这些运算符就是牵扯到二进制的一些事了。
运算符的那些事