JAVA 基础语法(三)——三目(条件)运算符以及分支语句
来源:互联网 发布:手机知乎如何发问答 编辑:程序博客网 时间:2024/05/21 23:38
三目(条件)运算符以及分支语句
- 三目运算符
- 分支语句
- 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语句。
- JAVA 基础语法(三)——三目(条件)运算符以及分支语句
- Java基础语法(三)—运算符
- Java基础语法——运算符、流程控制语句、if条件语句
- PHP基本语法(三)—— IF条件语句
- JAVA基础复习三-逻辑运算符、位运算符和条件语句
- (三)JavaScript 的运算符,条件语句,循环语句..
- java学习 五、条件语句 三目运算
- 黑马程序员——Java基础(三)之运算符、键盘录入、流程控制语句
- Swift语法基础:12 - Swift的比较运算, 三目条件运算, 区间运算, 逻辑运算
- java三目条件运算符
- 详解java三目条件运算符
- python入门(三)条件语句语法
- if else条件语句和条件(三目)运算符的应用场合
- Python基础教程(三):运算符、条件语句
- 条件(三目)运算符 (?:)
- 条件(三目)运算符 (?:)
- 三目条件运算符
- java 自我知识总结(三)关系运算符 条件运算符 以及 位运算符的规律
- python unicode转中文
- ATM面向对象分析与设计之——设计类图
- 566. Reshape the Matrix
- 迁移gogs直接拷贝其gogs-repositories导致hook脚本中的相关路径与实际不相符
- 前端html学习1
- JAVA 基础语法(三)——三目(条件)运算符以及分支语句
- 反应器模式
- Redis 概述
- Meta标签中的format-detection属性及含义
- 马尔科夫随机场模型(MRF-Markov Random Field)人脸识别原理
- SpringMVC实现读取文件
- 【转】嗯,让我们彻底搞懂C/C++函数指针吧
- Jmeter添加集合点和关联
- BLE简介和Android BLE编程