运算符使用

1.概述:对常量和变量进行运算的操作的符号
2.常见的运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符、位运算符

算术运算符:


除法运算符(/):得到两个数据的商
特点:整数除以整数结果还是整数,想要得到小数,就必须有浮点类型参与运算 

public class ConversionDemo3{
	public static void main (string[] args){
		int num1 = 12;
		int num2 = 5;
		int result1 = num1 / num2;
		system.out.println(reault1);//2
		
		int result1 = num1 / num2 * num2;
		system.out.println(reault2);//10
		
		double result3 = num1 / num2;
		system.out.println(reault3);//2.0
		
		double result4 =num1 / num2 + 0.0;//2.0
		double result5 =num1 / (num2 + 0.0);//2.4
		double result6 =(double)num1 / num2;//2.4
		double result7 =(double)(num1 / num2);//2.0
	}
}


取模(取余)运算符(%):得到两个数据相除的余数
特点:可以用来判断两个数是否能够整除
结果的符号与被模数的符号相同

public class ConversionDemo4{
        public static void main (string[] args){
                int m1 = 12;
                int n1 = 5;
                System.out println("m1 % n1=" + m1 % n1);

                 int m2 = -12;
                int n2 = 5;
                System.out println("m2 % n2=" + m2 % n2);

                 int m3 = 12;
                int n3 = -5;
                System.out println("m3 % n3=" + m3 % n3); 

                int m4 = -12;
                int n4 = -5;
                System.out println("m4 % n4=" + m4 % n4);
        }
}


自增1:(自减1一样)
(前)++:先自增1,后运算
(后)++:先运算,后自增1
自增1不会改变本身变量的数据类型

public class ConversionDemo5{
	public static void main (string[] args){
	int a1 = 10;
	int b1 = ++a1;
	System.out.println("a1=" + a1",b1=" + b2);//a1=11,b1=11
	
	int a2 = 10;
	int b2 = a1++;
	System.out.println("a2=" + a2",b2=" + b2);//a2=11,b2=10
	
	byte bb1 = 127;
	bb1++;
	System.out.println("bb1="+bb1);//bb1=-128

赋值运算符

即用于给变量赋值的运算符
• 常见的赋值运算符:
▲基本赋值运算符:=
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制 类型转换原则进行处理。
支持连续赋值。
▲扩展赋值运算符:+=, -=, *=, /=, %=
◇好处:省略了强制类型转换的操作,不会改变数据类型
▲注意:=表示赋值操作,不是相等
==用来表示相等

int a = 10;
a += 20;//相当于a=a+20
System.out.println(a);//30

short s = 1;
//s = s + 1; 报错
s += 1;//相当于s = (short)(s + 1);
System.out.println(s);//2

关系/比较运算符:


◇ 定义:关系运算符是用来描述两个变量值之间的关系的
◇ 关系运算符的结果都是布尔类型
◇ ==和!=:不仅可以在数值类型数据之间,还可以使用在其他引用类型变量之间
◇ ==符号使用时,必须保证符号两边的变量类型一样
◇常见关系运算符:

 

int a = 10,b = 20,c = 10;
System.out.print(a == b);//false
System.out.print(b != c);//true

int i = 10;
int j = 20;
System.out.println(i == j);//false
System.out.println(i = j);//20

boolean b1 = true;
boolean b2 = false;
System.out.println(b1 == b2);//false
System.out.println(b1 = b2);//true(= 是赋值的意思)


逻辑运算符:


▲逻辑关系运算符两端一般连接值为布尔类型的关系表达式
▲常见的逻辑关系符:
&—逻辑与 ,| —逻辑或,!—逻辑非,&& —短路与 ,|| —短路或 ,^ —逻辑异或(a,b不同则为true)

▲偶数个逻辑非!结果不变(还是原值) 例如:System.out.println(!!!!!!true);//true
▲奇数个逻辑非!值不变(还是原值的否定)例如:System.out.println(!!!!!true);//false
▲“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
▲“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算
▲异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
理解:异或,追求的是“异”!

三元运算符


◇ 又叫三目运算符,即由三部分组成,格式如下:
        (关系表达式)? 表达式1:表达式2;
◇ 运算流程:
        如果关系表达式结果为true,运算后的结果是表达式1;
        如果关系表达式结果为false,运算后的结果是表达式2;
◇ 表达式1和表达式2是同种类型
◇ 凡是可以使用三元运算符的地方,都可以使用if...else,反之,不成立。
◇ 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简单,执行效率高

//求两个数的最大值
int a = 10,b = 20;
int max = (a >= b)? a : b;
System.out.println("最大值为"+ max);

位运算符:

位运算符操作的都是整型的数据
<<:在一定范围内,每向左移一位,相当于*2
>>:在一定范围内,每向有移一位,相当于/2




 

 

 

 

 

 优先级:

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值