运算符,分支语句

运算符(*)

算数运算符

+:加
-:减
*:乘
/:除
%:取余

注:默认取整


++:递增
	在原基础上+1;
总结:
	++在后先参与运算,在自增
	++在前先自增,在参与运算
细节:
++在后
	1,存储原有数据
	2,原值+1
	3,赋值
	4,使用存储的原数据进行运算
++在前
	1,原值+1
	2,赋值
	3,参与运算
经验:
	将++或--单独放在一行使用
--:递减
在原基础上-1
总结:
	--在后先参与运算,在递减
字符串连接符
赋值运算符
关系运行符
	--在前先递减,在参与运算
注意:
	1,进行算数运算的结果的数据类型为参与运算的数据类型的最大类型
	2,基本数据类型除布尔型都可参与运算,引用数据类型不能使用算数运算符

字符串连接符

+
如何区分字符串连接符与算数运算+法
看符号两边是否有字符串,如果有就是字符串连接符,如果没有就是算数运算符
如:
"hello"+"world"="helloworld";
"world"+"hello"="worldhello";
注意:
字符串与任何类型拼接结果都为字符串

赋值运算符

=:将等号右边的值赋值给等号左边的变量
+=:加等
-=:减等
*=:乘等
/=:除等
%=:余等
int a = 10;
int b = 2;
//a = a + b;
a += b;
自动转换
将小类型转换为大类型
double a = 10;
强制类型转换:
将大类型的值转换为小类型
语法:小类型 变量名 = (小类型)变量或值;
int i = 128;
byte b = (byte)i;

关系运算符

<:小于
>:大于
<=:小于等于
>=:大于等于
==:
基本数据类型判断值是否相同,相同为true,不同为false
引用数据类型判断地址是否相同,相同为true,不同为false
!=:
基本数据类型判断值是否不相同,相同为false,不同为true
引用数据类型判断地址是不否相同,相同为false,不同为true
在基本类型使用

逻辑运算符

&:与逻辑
意义:同真为真,有假为假
|:或逻辑
意义:有真为真,同假为假
!:非逻辑
意义:非真为假,非假为真

&&:短路与逻辑
判断左边表达式如果为假则不判断右边直接执行下面代码,如果左边为真则需要判断右边再执行代码
||:短路或逻辑
判断左边表达式如果为真则不判断右边直接执行下面代码,如果左边为假则需要判断右边再执行代码

三目运算符

又名:三元运算符
语法:
	条件表达式?值1:值2;
执行逻辑:
	如果条件表达式为true,取值1,反之 
	取值2
条件表达式:结果为boolean的称为条件表达式

练习:
两数之间获取最大值
	int a = 10;
	int b = 2;
	将获取到的最大值赋值给变量
	int max = a > b?a:b;
 

分支语句(*)

语句分类

顺序语句

从上到下依次执行

分支语句

作用:判断

循环语句

作用:重复执行

分支语句分类

if

switch

if

基本if结构

语法:

if(条件表达式){

​		当条件表达式位true执行此处代码

}

if else

语法:

if(条件表达式){
		当条件表达式为true,执行此处代码

}else{
	当条件表达式位false,执行此处代码
}

else if结构

if(条件表达式1){
	条件表达式1为true,执行此处代码
}else if(条件表达式2){
	条件表达式2为true,执行此处代码
}else if(条件表达式3){
	条件表达式3为true,执行此处代码
}
...
else if(条件表达式n){
当条件表达式n为真,执行此处代码
}else{
	当以上条件都为假时,执行此处代码
}

总结:

语法:

if(条件表达式1){
	条件表达式1为true,执行此处代码
}else if(条件表达式2){
	条件表达式2为true,执行此处代码
}else if(条件表达式3){
	条件表达式3为true,执行此处代码
}
...
else if(条件表达式n){
当条件表达式n为真,执行此处代码
}else{
	当以上条件都为假时,执行此处代码
}

else if :可以有多个,也可以一个都没有
else:最多只能有一个,可以一个都没有
if:必须存在
注:当分支语句中上面的分支为true时,将不会再判断线面的分支

if嵌套

在分支语句中使用分支语句

switch

作用:判断

语法;

switch(变量){
	case 常量1:
		变量值是否等于常量1,如果相同,则执行此处代码
		break;
	case 常量2:
		变量值是否等于常量2,如果相同,则执行此处代码
		break;
		...
	case 常量n:
		变量值是否等于常量n,如果相同,则执行此处代码
		break;
	default:
		当变量值不等于常量时,执行此处代码
		break;
}

switch在JDK1.5以后支持判断枚举
		JDK1.7后支持判断字符串内容是否相同
注意:
	1,case语句里面有break
		如果没有会造成case穿透
	2,case后面的值必须为常量
	3,default
	 	可以在任意位置,不会影响语句执行顺序,如果在语句中,不要省略 break;如果在末尾可以省略break,但不建议.
	 4,swich语句结束条件
	 	遇见break结束
	 	程序末尾结束

if与switch的区别

1,if判断区间,也可以判断值是否相同,switch只能判断值是否相同
2,switch比if语法结构清晰

扩展移位符号:

位与&:

有0则0;

位或|:

有1则1;

位异或^:

相同为0,不同为1,一个数据被位异或两次,其值是他本身1!

<<:

将<<左边的数据乘以2的移动次幂(补码数据向右移动指定位数,将高位丢弃,右边空位补0)

>>:

将>>左边的数据移动 2的移动次幂(补码向右移动指定次幂,当最高符号位为1,左边补1,如果最高符号位为0,右边补0)

>>>:

无符号右移:无论最高符号位是1或0,左边永远补0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值