Java常见的运算符
运算符算是编程语言中的基本的操作变量的方法
常见的运算符大致有以下几种
算数运算符 | +、-、*、/、%、++、- - |
---|---|
赋值运算符 | =、+=、-=、*=、/= |
关系运算符 | >、<、>=、>=、==、!= |
位运算符 | &、|、^、~、>>、<<、>>> |
逻辑运算符 | &&、||、! |
条件运算符 | ? : |
一、算数运算符
算数运算符用在数学表达式当中,比较重要的是自增(++)与自减运算符(- -)
简单一些的数学数学运算我们都知道,在这里我们需要知道一些简单的类型的转变
public class Demo01 {
public static void main(String[] args) {
byte a = 10;
short b = 20;
int c = 30;
long d = 40L;
System.out.println(a+b+c+d); //输出它们的和
System.out.println(getType(a+b+c+d)); //输出变量的类型
System.out.println(a+b+c);
System.out.println(getType(a+b+c));
System.out.println(a+b);
System.out.println(getType(a+b));
}
//获取变量类型的方法
private static String getType(Object a) {
//返回获取到的变量类型
return a.getClass().toString();
}
}
可以清楚的看到带有long类型时,数据计算结果会是long类型,其余都是int类型,不论计算时的类型是否有int
自增自减
自增自减算是比较常见的,也不是特别的难
前缀自增自减法(++a,- -a): 先进行自增或者自减运算,再进行表达式运算
后缀自增自减法(a++,a- -): 先进行表达式运算,再进行自增或者自减运算
public class Demo07 {
public static void main(String[] args) {
int a = 5;
int b = 5;
int x = 2*++a;
int y = 2*b++;
System.out.println("a="+a+",x="+x);
System.out.println("b="+b+",y="+y);
}
}
二、赋值运算符
赋值运算符算是最基本的运算符了,主要看后边+=这样的偷懒用的吧
public class Demo02 {
public static void main(String[] args) {
int a = 10; //把10赋给i1,注意赋值是一个等于号
int b = 20;
int c = 10;
a = a + b;
System.out.println(a);
c+=b; //c+=b其实就是c = c + b;
System.out.println(a);
}
}
从上面可知,+=这一类的其实就是偷懒用的。还是很常用的一种,用多了就自然懂了,并不用死记
三、关系运算符
注意关系运算符返回的是布尔值
public class Demo03 {
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); // a!=b 它的意思是a不等于b
}
}
四、位运算符
位运算符常用于计算机底层的运算,若使用不当极易出错
操作符 | 描述 |
---|---|
& | 如果相对应位都是1,则结果为1,否则为0 |
| | 如果相对应位都是 0,则结果为 0,否则为 1 |
^ | 如果相对应位值相同,则结果为0,否则为1 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 |
//位运算实际上应用不多,理解即可
public class Demo04 {
public static void main(String[] args) {
int a = 4; //0000 0100
int b = 12; //0000 1100
System.out.println(a & b); //0000 0100
System.out.println(a | b); //0000 1100
System.out.println(a ^ b); //0000 1000
}
}
五、逻辑运算符
操作符 | 描述 |
---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真 |
|| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false |
public class Demo05 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println(a&&b);
System.out.println(a||b);
System.out.println(!(a&&b));
}
}
六、条件运算符
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。
条件运算符也是偷懒用的,但很常用,需要掌握
public class Demo06 {
public static void main(String[] args) {
/*
x ? 语句一 : 语句二;
当x为true时输出语句一,反之输出语句二
*/
int a = 88;
String str = a>=60 ? "及格" : "不及格";
System.out.println(str); //及格
}
}
小结
常用的运算符无外乎就这几种,理解起来不是特别难,多加练习即可
以上仅为本人理解,如有错误,欢迎指正。