JAVA 基础语法(三)——三目(条件)运算符以及分支语句

#三目(条件)运算符以及分支语句

  • 三目运算符
  • 分支语句
    • if
    • if…else
    • if…else if
    • switch

三目(条件)运算符

###1)语法结构
(boolean表达式)?(表达式1):(表达式2)
###2)执行流程
先判断boolean表达式的值:
若为true,则整个运算式的值为表达式1的值;
若为false,则整个运算式的值为表达式2的值。
###3)代码案例
用三目运算符找出变量a和b中较大的数 ,

int	a=10,b=1;
int max=a>b?a:b;//如果a>b为true,说明a大,则把a的值赋给max,若a>b为false,说明b大,把b赋给max		

三目运算符的嵌套
找出3个变量a,b,c中的较大值
int a=10,b=5,c=1 int max=a>b?(a>c?a:c):(b>c?b:c); //先比较a和b的值,再拿a,b中较大的和c比较。可以不加(),这里为了看的清晰,已经用()隔开


分支语句

什么是分支语句,例如 请判断变量a是不是正数,如果是,则输出a是正数,这个时候我们在输出之前要先写一个boolean表达式判断一下,然后输出,不可能是负数它也输出。为了达到这种需求,我们就要用到分支语句。
下面我们看一下java中的分支语句


if

###1)语法结构
if(boolean表达式){
代码块;
}
###2)执行流程
先判断boolean表达式的值:
若为true,则执行代码块;
若为false,则不执行代码块。
###3)代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”:

int a=-10;
if(a>0){
	System.out.println("a是正数 ");//因为a=-10  所以a>0为false,所以并没有输出
}

if…else

###1)语法结构
if(boolean表达式){
代码块1;
}else{
代码块2;
}
###2)执行流程
先判断boolean表达式的值:
若为true,则执行代码块1;
若为false,则执行代码块2。
###3)代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”,否则输出“是非正数”:

int a=-10;
if(a>0){
	System.out.println("a是正数");
}else{
	System.out.println("a是非正数");//因为a=-10  所以a>0为false,所以输出else处的语句块
}

if…else if

###1)语法结构
if(boolean表达式1){
代码块1;
}else if(boolean表达式2){
代码块2;
}

else{
代码块n;
}
###2)执行流程
先判断boolean表达式1的值:
a)若为true,则执行代码块1;
b)若为false,则判断表达式2的值,若为true,则执行代码块2,若为false,则继续判断;
c)如果所有的boolean表达式的值都为false,则执行else中的代码块n.

if …else if中可以由多种情况,但是不论有多少情况,都只会执行其中相对应的一个代码块,一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

###3)代码案例
判断变量a是不是正数,如果大于0,则输出“是正数”,否则判断a是否小于0,若是,则输出“是负数”,否则输出 “是零”:

int a=-10;
if(a>0){
	System.out.println("a是正数");
}else if(a<0){
	System.out.println("a是负数");//因为a=-10  所以a<0为true
}else{
	System.out.println("a是零");
}

switch

###1)语法结构
switch(变量/表达式){
case 值1:
语句块1;break;
case 值2::
语句块2;break;

default:
语句块n;
}

注意:
a)switch括号中的表达式不是boolean表达式,这个表达式有一个固定的值,也可以直接写个变量。
b)这个变量类型或者表达式值的类型可以是能转换成int类型的类型,如: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持枚举类型了,同时 case 标签必须为字符串常量或字面量。
c)switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
d)case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
###2)执行流程
a)先确定变量/表达式的值,然后找到case中相对应的值
b)对应的 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
c)如果没有对应的case值,会执行default中的语句块n,default后不需要break。

注意:当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

###3)代码案例

int a=5;
switch(a){
	case 6:
		System.out.println("这是6");break;
	case 5:
		System.out.println("这是5");
	case 4:
		System.out.println("这是4");break;		
	case 4:
		System.out.println("这是3");break;	
		defalut:
		System.out.println("这是n");		
}

结果如下:

这是5
这是4

注意上例代码中的case 5后语句块并没有break;所以在执行这个语句块后switch语句并没有结束,直到执行完case 4里面的语句块然后碰到break才终止了switch语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robona

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值