运算符

package opertor;

public class Domen {
public static void main(String[] args) {
/*java运算符:
算术运算符:+ - * / %(取余) ++ --
赋值运算符:=
关系运算符:> < >= <= == !=(不等于) instanceof
逻辑运算符:&& || !(或与非) */
int a=1;
int b=2;
System.out.println(a+b);
System.out.println(a/b);
System.out.println(a/(double)b);//强制转换,否则输出结果系统默认int值,取整

/*多个数值运算,其中一个为long值,那么输出结果也为long值,若没有long值,则系统默认输出int值,
也可以强制转换,若有double类型,输出结果也为double类型*/
long c=12345678L;
int d=123;
byte e=12;
short f=10;
double g=1.12;
char h=1;
System.out.println(c+d+e+f);
System.out.println(d+e+f);
System.out.println(e+f);
System.out.println((double)e+f);//强制转换为double类型
System.out.println(f+g+h);

//关系运算符返回结果:正确 错误 =布尔值
int a1=10;
int a2=21;
System.out.println(a1>a2);
System.out.println(a1<a2);
System.out.println(a1!=a2);
System.out.println(a1%a2);//模运算
System.out.println(a2%a1);//当a>b,取余结果按正常的输出;当a<b,取余结果等于a
System.out.println("==============");
//++ -- 自增 自减
int i=3;
int i1=i++;//执行完这行代码后,先给i1赋值将i的值赋给i1,在自增就是i+1
int i2=++i;//执行完这行代码前,先自增再赋值
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println("==============");
int y=5;
int y1=y--;
System.out.println(y);
int y2=--y;//
System.out.println(y);
System.out.println(y1);
System.out.println(y2);
System.out.println("-----------");
//幂运算
double pow=Math.pow(2,3);
System.out.println(pow);
}
}
输出结果:

3
0
0.5
12345823
145
22
22.0
12.120000000000001
false
true
true
10
1
==============
5
3
5
==============
4
3
5
3
-----------
8.0

 

public class Domen1 {
/*逻辑运算符:&&(与) ||(或) !(非)【不是你就是我】
位运算符:&(与) |(或) ^(异或) ~(非)
条件运算符:? :
扩展赋值运算符:+= -= *= /= */
public static void main(String[] args) {
boolean a=false;
boolean b=true;
System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才是true
System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个为真,结果才是true
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变量为假,如果是假则为真
//短路运算
int c=3;
boolean d=(c<2)&&(c++<2);//因为3不小于2,结果为假,所以不执行c++此程序
System.out.println(c);
System.out.println(d);
System.out.println("==============");
int c1=3;
boolean d1=(c1>2)&&(++c1>2);//因为3大于2,结果为真,所以执行c++程序为真,结果c1为4
System.out.println(d1);
System.out.println(c1);
System.out.println("----------------------");
/*位运算符:&(与) |(或) ^(异或) ~(非) >>(右移,就是/2的n次方) <<(左移,就是*2的n次方)
a=0011 1100
b=0000 1101
-------------------------
a&b=0000 1100(如果两个都是1才为1)
a|b=0011 1101(如果对应为都是0结果为0,否则为1)
a^b=0011 0001(如果两个位置相同为0,否则为1)
~b=1111 0010(b取反)
*/
System.out.println(16>>7);
System.out.println(9<<2);
}

}
输出结果:

a&&b:false
a||b:true
!(a&&b):true
3
false
==============
true
4
----------------------
0
36

 

package opertor;
import pack.*;//导入pack包里所有的类,*代表通配符所有
public class Domen2 {
//扩展赋值运算符:+= -= *= /=
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a=a+b
System.out.println(a);
a*=b;//a=a*b,输出结果为600是因为上一步输出a=30,所以这一步a=30*20
System.out.println(a);

//字符串连接符
int a1=10;
int b1=20;
System.out.println(a1+b1+ (a1*b1));//()优先级,先计算()里的
System.out.println(""+a1+b1);
System.out.println(a1+b1+"");
/*两者区别为,第一个字符串""在前面输出结果为拼接
第二个字符串""在后面,输出结果就是正常计算的值*/
System.out.println("---------------------");
//条件运算符:? :
/* x ? y :z的意思是如果x=TRUE,则结果为y,否则为z */
int score=50;//score为成绩
String type=score <60 ? "不及格" : "及格";
System.out.println(type);
}
}
输出结果:

30
600
230
1020
30
---------------------
不及格

使用idea产生的java文档:https://blog.csdn.net/q2453303961/article/details/118693918

posted @ 2022-01-24 12:07  唐肖  阅读(135)  评论(0)    收藏  举报