0
点赞
收藏
分享

微信扫一扫

运算符运算符

墨春 2022-01-21 阅读 183
java

今天也要好好学java!!

1、算数运算符

        a、+、-、*、/、%属于二元运算符。%是取模运算符,就是求余数操作。

        b、算术运算符中++(自增),--(自减)属于一元运算符。

二元运算符的运算规则

    如果两个操作数有一个为long,则结果为long,否则为int;

    如果两个操作数有一个为double,则结果为double,否则为float;

    取模运算其操作数可以为浮点数,一般使用整数,结果是余数,余数的符号和左边操作数相同;

package com.study.wyh;

public class TestOperator01 {
/*
 *测试算数运算符的用法
 */
	public static void main(String[] args) {
		int a = 3;
		long b = 4;
		long c = a+b;//有一个为long则结果为long;
		System.out.println(c);
		
		double d = 3+3.14;
		int d2 = 31/3;//整数相除只保留整数部分;
		System.out.println(d2);
		double d3 = 31.0/3;
		System.out.println(d3);
		
		//取模运算
		int e = 10%3;
		System.out.println(e);
		
		//自增、自减
		int g = 30;
		g++;
		System.out.println(g);
		g--;
		System.out.println(g);
		g = 10;
		int h = g++;//g++先赋值,后自增
		g = 10;
		int i = ++g;//++g先自增,后赋值
		System.out.println(h);
		System.out.println(i);
		
	}

}

运行结果:

        

 

 2、赋值运算符

package com.study.wyh;

public class TestOperator02 {
	/*
	 *测试扩展运算符的用法
	 */
	public static void main(String[] args) {
		int a = 3;
		int b = 4;
		a += b;//相当于a = a+b
		System.out.println(a);
		a = 3;
		a *= b+3;//相当于a = a*(b+3)
		System.out.println(a);
	}

}

运行结果:

 

 

3、关系运算符

1、=是赋值运算符,判断两个操作数是否相等的运算符是==

2、==、!=是所有数据类型都可以使用

3、>、>=、<、<=仅针对数值类型

package com.study.wyh;

public class TestOperator03 {
	/*
	 *测试关系运算符的用法
	 */
	public static void main(String[] args) {
		int a = 3;
		int b = 4;
		boolean c = a>b;
		System.out.println(c);
		
		char d = 'h';
		//char值,可以强制转型成数字
		System.out.println((int)d);
		boolean e = d > 100;
		System.out.println(e);
	}

}

运行结果:

 

 

4、逻辑运算符

   

短路与和短路或采用短路的方式。从左到右计算,如果只通过左边的操作数就能够确定该逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率。

package com.study.wyh;

public class TestOperator04 {
	/*
	 *测试逻辑运算符的用法
	 */
	public static void main(String[] args) {
		boolean b1 = true;
		boolean b2 = false;
		System.out.println(b1&b2);//有一个false则为false
		System.out.println(b1|b2);//有一个true则为true
		System.out.println(!b2);//取反
		System.out.println(b1^b2);//异或:相同false不同true
		
		//短路与、短路或
		//int b3 = 3/0;//不能除0异常
		boolean b3 = 1>2 &&(4<3/0);//后面不再执行
		System.out.println(b3);
		boolean b4 = 1<2 && (4<3/0);//后面执行则报错
		System.out.println(b4);
	}

}

运行结果:

 

 

5、位运算符

package com.study.wyh;

public class TestOperator05 {
	/*
	 *测试位运算符的用法
	 */
	public static void main(String[] args) {
		int a = 7;//0111
		int b = 8;//1000
		System.out.println(a&b);//0000
		System.out.println(a|b);//1111
		System.out.println(a^b);//1111
		System.out.println(~b);//0111
		
		//移位
		int c = 5<<1;//向左移一位,即5*2
		System.out.println(c);
		int d = 40>>3;//向右移三位,即40/8
		System.out.println(d);
	}

}

运行结果:

 

 

6、字符串连接符

“+”运算符两侧的操作数中只要有一个是字符型(String)类型,系统就会自动讲另一个操作数转换为字符串然后进行连接。

package com.study.wyh;

public class TestOperator06 {
	/*
	 *测试字符串连接符的用法
	 */
	public static void main(String[] args) {
		String a = "3";
		int b = 4;
		System.out.println(a+b);
		//条件是string,不是char,若是char,则仍然是加法。
		char c1 = 'h';
		char c2 = 'i';
		System.out.println(c1+c2);//加法运算
		System.out.println(""+c1+c2);//""为字符串,所以+变为字符串连接符。
	}

}

运行结果:

 

 

7、条件运算符

 

 


运行结果:

8、运算符优先级

举报

相关推荐

0 条评论