JAVA运算符

Java中的运算符号的分类:
        算术运算符:
                基本的算术运算符:
                    +、-、*、/(默认取整)、%
                扩展的算数运算符:++ or --
        赋值运算符:
                最基本的:=
        关系(比较)运算符:
        逻辑运算符:
        位运算符:
        三目运算符:

class OperatorDemo{
	public static void main(String[] args){
		//定义两个变量
		int x=3;
		int y=4;
		System.out.println(x+y);
		System.out.println(x-y);
		System.out.println(x*y);
		System.out.println(x/y);//默认取整
		//计算具体结果:浮点型
		System.out.println(x*1.0/y);//小数
		System.out.println(x%y);
		System.out.println(1.0-0.32);//0.6799999999999999(永远近似某个值)
		//如果小数做减法或者除法要精确计算: 常用类:BigDecimal(针对小数进行精确计算)
	}
}

扩展运算符:++ or--
        情况1:
            单独使用:无论操作++ 或者--在数据前面或者后面,
            都对数据本身的值进行自增一或者自减一
        情况2:
            参与运算:
                1):如果++或者--在数据的前面,先对数据的值进行自增+1或者-1,然后参与运算
                2):如果++或者--在数据后面,先进行运算然后在进行对该数据本身的自增+1或者-1

class OperatorDemo2{
	public static void main(String[] args){
		//定义两个变量
		int a=3;
		int b=4;
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		System.out.println("--------------");
		//单独使用
		//运算符在数据之前(++ or --)
		//++a;
		//--b;
		a++;
		b--;
		
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		System.out.println("--------------");
		int x=3;
		int y=4;
		//++或者--参与运算
		//1)在数据前面
		int m=x++;
		int n=y--;
		System.out.println("x:"+x);
		System.out.println("y:"+y);
		System.out.println("m:"+m);
		System.out.println("n:"+n);
	}
}

赋值运算符:
        基本的赋值运算符:
            =
            将等号右边的值赋值给等号左边的值
            int a=10;将10赋值给int 类型的变量
            注意:=不能写成==(比较运算符)
        扩展的赋值运算符:
            +=,-=,*=,/=,%=
            +=
                将等号左边的数据和右边的数据相加,在赋值给左边的变量

class OperatorDemo{
	public static void main(String[] args){
		int a=10;
		int b;
		b=a=20;//将整数20赋值给变量a,将a结果留下来再赋值给b
		//b=a==20;//将整数20和a进行比较(不兼容的类型: boolean无法转换为int)
		System.out.println("a:"+a+",b:"+b);
		System.out.println("----------------");
		int x=20;
		x+=10;//相当于x=x+10;
		System.out.println(x);
	}
}
/*
	面试题
		short s=1;
		s=s+1;
		s+=1;
		那一句会编译失败
		
		扩展的赋值运算符里面隐藏了一个强制类型转换(不会出现问题)
*/
class OperatorTest{
	public static void main(String[] args){
		//定义一个变量
		short s=1;
		//s=s+1;//肯定会失败,byte,short,char三者不转换,一旦参与运算-->默认先提升
		//等号的右边int类型,等号左边short类型,不能接收结果
		//解决方案
		s=(short)(s+1);
		System.out.println(s);
		s+=1;//等价与s=(short)(s+1);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值