运算符
Java语言一共支持29个运算符,共7个种类:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符和扩展赋值运算符。
Java的29个运算符表
分类名称 | 运算符 | ||||||
---|---|---|---|---|---|---|---|
算术 | + | - | * | / | % | ++ | – |
赋值 | = | ||||||
关系 | > | < | == | >= | <= | != | |
逻辑(与、或、非) | && | || | ! | ||||
位(不要轻易用,容易出错) | & | | | ^ | ~ | >> | << | >>> |
条件 | ?: | ||||||
扩展赋值 | += | -= | *= | /= |
进行运算时,优先级用()。
实际操作范例
示例①:
package operator;
public class Math{
public static void main(String[ ]args){
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);(这里要转换,不然直接a/b它不会输出0.5,而是0)
System.out.println(c%b);→输出余数:5
//以上是±*/的int运算
long e=123123123123123L;
int f=123;
short g=10;
byte h=8;
System.out.println(a+b+c+d);
System.out.println(b+c+d);
System.out.println(c+d);
//以上是基本数据的整数类型的运算,要注意如果里面有long,运算出来就是long;有double,运算出来就是double。否则其余输出都是int。
System.out.println(a>b);→输出false
System.out.println(a<b);→输出true
System.out.println(a==b);→输出false
System.out.println(a>=b);→输出false
System.out.println(a<=b);→输出true
System.out.println(a!=b);→输出true
//以上是关系运算符的应用,它的返回结果是布尔值的false和true
int i=3;
int j=i++;
int k=++i;
System.out.println(i);→输出5
System.out.println(j);→输出3
System.out.println(k);→输出5
//以上是自增的简单情况
int m=3;
int n=m++;
int o=++m;
System.out.println(m);→输出5
System.out.println(m);→输出5
System.out.println(n);→输出3
System.out.println(n);→输出3
System.out.println(o);→输出5
System.out.println(o);→输出5
//以上是自增的重复输出情况
//以上这两种自增情况说明了i++就等于i=i+1,i++表示执行完这条代码后先给b赋值再自增.++i表示执行完这条代码时先给i自增再赋值.i–和--i亦是同理
int p=3;
int q=p++;
System.out.println§;→输出4
//再来一个,加深理解
}
}
示例②:
package operator;
public class Happy{
public static void main(String[ ]args){
bollean a=true;
bollean b=false;
System.out.println(“a&&b:”+(b&&a));//逻辑与运算:两个变量都为真,结果才为true
System.out.println(“a||b:”+(a||b));//逻辑或运算:两个变量有一个为真,结果才为true
System.out.println("!(a&&b):"+!(a&&b));//(a&&b)如果是真,则变为假;如果是假,则变为真
//以上是逻辑运算(与,或,非)
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);→输出false
System.out.println©;→输出5
//最后c输出为5,说明c++没有被运算,系统在碰到c<4时是假,从而判断整个运算是假,整个运算就会停止,不会再进行后面的c++运算,这就是短路运算
System.out.print(2<<3);→输出16
//0000 0000表示0,
0000 0001表示1,
0000 0010表示2,
0000 0011表示3,
0000 0100表示4,
0000 1000表示8,
0001 0000表示16
<<代表左移,相当于*2;>>代表右移,相当于/2
int e=10;
int f=20;
e+=f;//表示e=e+f
e-=f;//表示e=e-f
System.out.println(e);→输出30
System.out.println(" " +e+f);" "表示空的字符串,当它在前时,默认后面也是String类型,把e、f连接起来,输出1020
System.out.println(e+f+" ");当" "在后面时,前面依旧会进行运算
//以上是扩展赋值运算符(+=、-=、*=、/=)的应用
int score=80;
String type=score<60?“不及格”:“及格”;//也可以用if,但这使代码更精简,以后会多用
System.out.println(type);
//以上是条件运算符的应用
}
}