Java(四)Java运算符

 

Java语言支持如下运算符:

      算术运算符:+-、*、/%++- -

      赋值运算符:=+=-=、*=/=等等

      位运算符:~&|^

      逻辑运算符:!、&&||

      关系运算符:><>=<== = !=

      移位运算符>><<>>>(无符号右移)

 

目录

一、算术运算符

二、三目运算符

三、赋值运算符

四、位运算符

五、逻辑运算符

六、关系运算符

七、移位运算符


一、算术运算符

     加减运算符:+-。例如:2+39908.98-23 等。

      乘、除和取余运算符:*、/%。例如:2*3908.98/235%2 等。

      自增、自减运算符: ++--。运算符放在变量前面,则先计算再使用;否则先使用再计算。

注意:

      Java按照运算符两边最高精度保留结果,即如果int类型数据与float类型数据进行运算,结果为float类型。


public class Test{

    public static void main(String args[]){
        int a=12;
        int b=24;
        int c=a+b;
        System.out.println("====>a+b="+c);
    }
}

​

二、三目运算符

三目运算符语法如下:<逻辑表达式> ? <表达式1> <表达式2>

      当逻辑表达式为真时,表达式1有效;当逻辑表达式为假时,表达式2有效。

public class Test{

	public static void main(String[] args) {
		int x = 3 > 5 ? 2 * 3 : 8;
		System.out.println("x=" + x);
	}
}

以上代码输出结果为8.

三、赋值运算符

赋值运算符:=+=-=、*=/=

public class Test{
	public static void main(String args[]){
		in y=10;
		System.out.println("y="+y);
		int z=10;
		z+=10;//相当于z=z+10;
		System.out.println("z="+z);
	}
}

四、位运算符

位运算是将数据转化为二进制数补码形式,再逐bit)按规则计算。

“按位”运算符“&”,规则:11,否则为0。

“按位”运算符“|”,规则:00,否则为1

“按位”运算符“~”,规则:10,遇01

“按位异或”运算符“^”,规则:相同为0,不同为1

注意:

    按位异或运算是可逆的,即如果对某个数据a进行两次相同的异或运算,则结果会还原为a,如对数值3进行两次和5的异或运算:3 ^ 5 = 6;

五、逻辑运算符

逻辑运算符(&&||)与位运算符(&|)的区别:

    逻辑运算符只能针对boolean类型进行逻辑运算,而位运算可以对数值进行逻辑运算。

    逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。

public class Test {

	public static void main(String[] args) {
		int a = 10;
		int b = 10;
		if (((a = 0) == 0) || ((b = 20) == 20)) {
			System.out.println("b=" + b);
			//(a = 0) == 0为true,逻辑或中有一个为真即成立,Java程序不会执行(b = 20)==20,所以结果为10。

		}

		int x = 10;
		int y = 10;
		if (((x = 0) == 0) | ((y = 20) == 20)) {
			System.out.println("y=" + y);
			//由于要进行按位或运算,所以先计算|左右两边的值,即true|true,而true在二进制逻辑中为1
			//由此可知true|true的二进制结果依然为1,但是二进制1在boolean类型中表示true,所以输出结果为20。
		}
	}
}

六、关系运算符

注意:

      关系运算符的结果为boolean类型,即返回关系表达式的真或假。

public class Test {

	public static void main(String[] args) {
		int a=1;
		int b=2;
		if(a<=b){
			System.out.println(true);
		}else{
			System.out.println(false);
		}
	}
}

七、移位运算符

移位运算符有三种:

  >> 右移运算符:将二进制数据进行右移运算。

  << 左移运算符:将二进制数据进行左移运算。

  >>> 无符号右移运算符:无论正负,都在高位插入0

下面,是我在以上知识做的一个练习:

public class Practic_first{

	public static void main(String args[]){
		//1
		byte age=0b00001101;
		age=-0b00011111;//二次赋值
		/**
		二进制--》0b开头
		八进制--》0开头	
		十六进制--》0x开头
		*/
		System.out.println(age);

		//2
		float o=2;//申请了一个空间为float的数据存储空间,并获得值为2.0
		System.out.println(o);

		//3
		final int a=3;
		//常量有final关键字修饰,常量是不可变得变量,不能重新赋值
		//常量在声明时就必须初始化
		System.out.println(a);
		
		//4
		double d=4.0f;
		float c=5.0f;
		d*=c;
		d+=c;
		d-=c;
		
		int io=9%5;
		System.out.println(d);
		System.out.println(io+"\n");
		
		for(int i=0;i<5;i++){
			for(int j=0;j<=i;j++)
				System.out.print("*");
			System.out.println();
		}
		System.out.println(1.0/1+1.0/2+1.0/3+1.0/4);
		System.out.println();
		
		//5
		int m=1,n=9;
		m=m>n?m:n;
		System.out.println(m);
		System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");	

		//6
		int x=0;
		for(int i=0;i<100;i++)
			x=x++;
		System.out.println(x);	
		System.out.println(x==1?true:false);	
		
		//7		
		int h=0;
		h+=2;
		System.out.println("\n"+h);
		System.out.println(true^false);	
		System.out.println(-3^-5);
		System.out.println(7|9);	
	}
}

 对应的结果为:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值