相关的运算符

算术运算符

  1. 二元运算符:+、-、*、/、%
  2. 一元运算符:++、–
    整数运算:
    如果两个操作数有一个是Long,则结果为long
    没有long时,结果为int,即是操作数全部为short,byte,结果也为int
    浮点运算
    如果两个操作数有一个是double,则结果也为double
    只有两个操作数都是float,则结果才为float。

a++:表示的是先使用,使用完了之后在自增。
++a:先自增a,再使用a;

public class virant {
	
	public static void main(String[] args) {
		byte a=1;
		int b=2;
		long b2=3;
		
		//byte c=a+b;//结果应该为int型
		int c=a+b;
		//int c2=b2+b;//结果应该为long型
		long c2=b2+b;
		
		float f1=3.14f;
		double d=b+b2;//正确
		float d1=b+b2;//正确
		//float d2=f1+d;//报错。结果应该为double型。
		double d2=f1+d;//正确
		
		System.out.println(-9/5);//输出的是整型的数
		
		int a1=3;
		int b1=a1++;
		System.out.println("a1="+a1+'\t'+"b1="+b1);//a1=4,b1=3
		int a3=3;
		int b3=++a3;
		System.out.println("a3="+a3+'\t'+"b3="+b3);
		
	}

}

赋值运算符

=、+=、-=、/=、%=

关系运算符

==、!=、>,<.<=,>=(结果只能为true和false)
注意事项:

  • =和==是两个完全不同的符号
  • ==、!=是所有的(基本和引用)数据类型都可以使用的
  • ,<,>=,<=是只有数值类型才可以使用的(byte/short/int/long/float/double/char)

char b='a';
char b2='c';
System.out.println(b<b2);//true
System.out.println((int)b;//97
System.out.println((int)b2);//99
System.out.println(0+b);//97,表示其中一个为整数类型,则会自动转化为int型

逻辑运算符

操作的是布尔值:&,|,!,~,^(异或),短路与&&,短路或||
短路与&&:表示一个为false,后面的则不会在判断。
短路或||:表示其中一个为true,则后面的表达式则不需要再进行计算

public class virant {
	
	public static void main(String[] args) {
		boolean b1=true;
		boolean b2=false;
		System.out.println(b1&b2);//false
		System.out.println(b1|b2);//true
		System.out.println(b1^b2);//true
		System.out.println(!b2);//true
		
		//短路的情况
		//int c=3/0;
		/*boolean b3=1>2&2<(3/0);	
		System.out.println(b3);//报错,两个表达式都会进行计算
		 * 
		 */
		boolean b3=1>2&&2<(3/0);	
		System.out.println(b3);//false,只计算了1>2,后面的表达式没有计算,因此不会报错
		
	}

}

位运算符

进行二进制位的计算,&,|,^,~,<<,>>
左移一位表示乘以2;
右移表示的是除以2;

public class virant {
	
	public static void main(String[] args) {
		int a=3;
		int b=4;
		System.out.println(a&b);
		System.out.println(a|b);
		System.out.println(~b);
		System.out.println(a^b);
		
		//移位操作
		
		int c=a<<2;//左移两位相当于乘以4
		int d=b>>2;//右移两位相当于除以4
		System.out.println(c);
		System.out.println(d);
	}

}

字符串连接符

+:在左右两边有一个为字符串时,则表示的是连接符

条件运算符

x?y:Z(可以代替简单的if语句
x为真,表达式的值为y;
x为假时,表达式的值为Z;

public class virant {
	
	public static void main(String[] args) {
		int score=80;
		String type=score>60?"及格":"不及格";
		System.out.println(type);
	}

}

运算符的优先级问题

括号运算符
一元运算符
位运算符
算术运算符
关系运算符
逻辑运算符
条件运算符
赋值运算符

在使用这些运算符的时候,需要注意的是运算符有些是从右往左,有些是从左往右。

在进行使用的时候,可以不用刻意去记,可以使用括号,更加清晰

发布了43 篇原创文章 · 获赞 11 · 访问量 2599

猜你喜欢

转载自blog.csdn.net/weixin_43328816/article/details/104144215
今日推荐