数据类型转换、运算符

数据类型转换

数据类型转换的分类
	
	1、隐式数据类型转换|自动类型转换
		从小范围数据类型--->大范围数据类型,会发生自动类型转换
		
	2、强制类型转换
		从大范围到小范围,需要发生强制类型转换,会损失精度
		公式:小范围数据类型	变量	=(小范围数据类型)大范围数据类型数据
	注意:
		多个数据类型的数据参与运算,结果会统一提升成参与运算的最大数据类型,如果参与运算的数据类型小于int类型,其结果会转换成int类型
		boolean类型不参与类型转换
		数据类型从小到大:byte	short	int	long	float	double

运算符

	操作数:运算符左右两边的数据
	表达式:运算符+操作数
	语句:在java中;代表语句的结束

运算符分类
	
	1、算数运算符
		+	-	*	/	%	++	--
		
		+
			1)、正号,可以省略
			2)、加法运算
			3)、字符串的连接符
				当+号左右两边操作数有一个为字符串,+号就作为字符串的连接符使用
		
		-
			1)、负号
			2)、减法运算
			
		%模|求余数|取模
			1)、%左边的操作数小于%右边的操作数,其结果为%左边的操作数
		
		++自身加1
		
		--自身减1
			
		++、--的区别:
		
			操作自己|影响自己
				++放在操作数前、后面,其结果都是自身+1
				--放在操作数前、后面,其结果都是自身-1
			
			操作别人|影响别人|参与运算
				++、--放在操作数前面,先自身+1、-1,再参与运算
				++、--放在操作数后面,先参与运算,后自身+1、-1
			
	2、赋值运算符
		
		赋值运算符的分类
			
			一、基本赋值运算符
				
				=:自右向左运算的符号
				
			二、扩展赋值运算符(算数运算符+基本赋值运算符)
			
				+=
				-=
				*=
				/=
				%=
				
				扩展赋值运算符的优点:
				
					1、自动做强制类型转换
					2、提高执行效率,编译器编译时,会自动编译成扩展赋值运算符的样子
				
				扩展赋值运算符的缺点:
				
					1、不直观
					
	3、比较运算符|关系运算符
		>	<	>=	<=,适用于byte、short、int、long、double、float、char类型
		
		==	!=,适用于基本数据类型,引用数据类型
		
		比较运算符|关系运算符,其值都为boolean类型的值
	
	4、逻辑运算符
	
		逻辑运算符左右两边的操作数都是boolean类型的
		
		&(与):&运算符左右两边操作数有一个为false,其结果为false,两个为true,则为true
		|(或):|运算符左右两边操作数有一个为true,其结果为true,两个为false,则为false
		!(非):!运算符右边的操作数为true,其结果为false,否则为true
		^(异或):^运算符左右两边操作数相同,其结果为false,否则为true
		
		&&
		||
		
			&&、||存在短路作用
			
			短路作用:第一个操作数能决定最终结果,则不在执行第二个操作数,可以提高效率
			
	5、条件运算符
	
		条件表达式?值1:值2
		
		条件表达式:必须其值为boolean的表达式
		
		执行流程:
			1、计算条件表达式
			2、如果条件表达式的结果为true,最终条件运算符的结果为值1
			3、如果条件表达式的结果为false,最终条件运算符的结果为值2
			
		要求:
			条件表达式中的值1和值2可以是任意类型的数据,但是应该保持一致的类型
			
	6、位运算符(了解)
		把运算符左右两边的操作数转换成二进制,进行计算,计算完成将二进制的结果转换成十进制
		
		&:判断比较同一位置的操作数,一个为0,则为0;两个为1,才是1
		|:判断比较同一位置的操作数,一个为1,则为1;两个为0,则为0
		^:判断比较同一位置的操作数,相同为0,不同为1
		
		>>:右移	先把操作数转换成二进制,将操作数向右移动个数位,保留留在分水岭左侧的数据转换成十进制
		<<:左移	先把操作数转换成二进制,将操作数向左移动个数位、空位补0,将数据转换成十进制
		
		右移、左移的规律:
			右移相当于除以2,左移相当于乘以2
			
		注意:
			1、&、|、^运算符左右两边操作数为boolean类型,则作为逻辑运算符使用
			2、&、|、^运算符左右两边操作数为数值,则作为位运算符使用
		
	一元运算符|单目运算符:只有一个操作数的   +|-	++	--
	
	二元运算符|双目运算符:+	-	*	/	...
	
	三元运算符|三目运算符:条件运算符
	
运算符的优先级:

	单目算数位关系,逻辑三目后赋值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值