java中的if-Switch选择结构
字随笔走,笔随心走,随笔,随心。纯属个人学习分析总结,如有观者还请不啬领
教。
1.if选择结构
什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构。
起语法是:
if(判断条件){
操作内容
}
if又包含if-else & 多重if和嵌套if 三种。
if-else类型 嵌套if 多重if
if(判断条件){ if(判读条件){ if(判读条件){
操作内容 if(判读条件){ 操作内容
}else{ 操作内容 }else if{
操作内容 } 操作内容
} } }else{ 操作内容 }
if(){}用于简单的判断,而这三种主要用于复杂判断。
流程:程序由上至下逐条执行。首先判断条件是否成立,成立则向下执行else{}大括号中的内容。
生活中当我们为来完成某件事,但是有前提条件的时候,那么我们就可以用到if选择结构了。
例如:小明年满18岁,做车就要买票了。由此可以看出并推断,如果小明需要买票,那么小明就的年龄就必须大于等于18。
年龄>=18就要买票,反之,年龄<18则不用买票。那么我就可以用if结构判断并得到结果。
int age=18;
if(age>=18){
System.out.println("小明的年龄大于18需要买票");
}else{
System.ou.println("小明的年龄小于18不需要买票");
}
注意事项:
1.当if关键字后的一对大括号里有有一个语句时,可以省略大括号,但是为了避免有多个语句时遗忘大括号,以及保持程序的整体风格一致,建议不要省略if结构的大括号。
下面讲解下复杂情况下的if选择结构
复杂情况下的if选择结构要用到多个判断条件,既然后多个条件,就不得不说一下常用的逻辑运算符了。
常用逻辑运算符有:&&(与,并且) ||(或,或者) !(非)1.&&
1.&& 条件1&&条件2 两个条件同时为真,则结果为真;连个条件有一个为假,则结果为假。
2.|| 条件1||条件2 两个条件一个为真,则结果为真;两个条件同时为假,则结果为假。
3! 条件1!条件2 条件为真时,结果为假;条件为假时,结果为真。
示例:张三的java成绩>90 并且张三的music成绩>80
或者
张三的java成绩==100 并且张三的music成绩>70
注意事项:当运算符比较多,无法确定运算符执行的顺序时,可以使用小括号控制。
第一种方法:score1>90&&score2||score1==100&&score2>70
第二种方法:(score1>90&&score2)||(score1==100&&score2>70)
建议使用第二种方法,更能清晰表明条件
*************************************************************************************
2if-else选择结构
if-else的语法结构是;
if(判断条件){
执行内容
}else{
执行内容 }
上面我们学习了if(){}基础选择结构
if-else的语法结构就是在if结构的基础上添加了一个else{}(否则)语句。顾名思义,当我们给出一个语句,并设置判断条件,成立则执行if(){}中的大括号中的内容,逐条执行,这时来到else,但它并不会在执行完if(){}的大括号中的内容继续执行else后的大括号中的内容。那么什么时候执行呢?就是当if()小括号中的判断条件不成立时才执行else{}大括号中的内容。
即:条件成立则执行if(){}大括号的内容,否则执行else{}大括号中的内容。
示例:如果张三的考试成绩大于90分,老师就奖励他,否则惩罚。
public class Test{
public static void main(String[] args){ int score=90; if(scor>90){ System.ou.println("奖励"); }else{
System.ou.println("惩罚");
}
3.多从if结构
多重if的语法结构;
if(条件1){
代码块1
}else if(条件2){
代码块2
}else{
代码块3
}
那么多重if结构是怎么执行的呢?如上图,首先,程序判断条件1,如果成立,则执行代码块1,然后跳出这个多重if选择结构,如果不成立,则判断条件2,条件2成立,则执行代码块2,然后跳出这个多重if选择结构,如果条件2不成立,则执行代码块3,然后跳出这个多重if选择结构。
示例:如果考试成绩>=80为优,>=60为中低于60则为差,假设张三的成绩是70,判读他的成绩是哪一种。
public class Test{
public static void main(String[] args){
int score=70;
fi(score>=80){
System.out.println("优");
}else if(score>=60){
System.out.println("中");
}else {
System.out.println("差");
}
}
}
优势:多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
注意事项:多从if选择结构最后的else可以忽略不谢。
*************************************************************************************
3.嵌套if选择结构
嵌套if选择结构语法;
if(条件1){
if(条件2){
代码块1
}else{
代码块2
}
}else{
代码块3
}
示例:
学校举行运动会,百米赛跑成绩在10秒以内的学生有资格进入决赛,根据性别分为男子组和女子组。
现在我们用嵌套if选择结构来把这道题代码化。
import java.util.*;
public class Test{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score=input.nextDouble();
System.out.print("请输入比赛成绩(s):");
double score=input.nextDouble();
if(score<10){
if(gender.equals("男")){
System.out.print("进入男子组");
}else if(gender.equals("女")){
System.out.print("进入女子组");
}
}else{
System.out.print("您未进入决赛");
}
}
}
注意事项:
1.只有当满足外层if选择结构的条件时,才会判断内层if选择结构的条件。
2.else总是与它签名最近的那个缺少else的if配对。
*************************************************************************************
至此,这一章对于选择结构的学习到此结束,希望大家勤加练习,早日掌握。谢谢。
java中的if-Switch选择结构的更多相关文章
- Java流程控制04——Switch选择结构
switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...
- java中的结构--switch选择结构
if-switch 选择结构 switch结构可以更好的解决等值判断问题switch 选择结构的语法:switch (表达式){ case 常量 1: //代码块1: break; case 常量 2 ...
- Java(4)switch选择结构
一.switch结构(开关语句)的语法 switch(表达式 ){--->类型为int.char case 常量1 :--->case 结构可以有多个 //语句块1 break;---& ...
- 房上的猫:switch选择结构,与选择结构总结
switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法: switch(表达式){ case 常量1: //代码块1; break; c ...
- 选择结构二switch选择结构
在上一章节我们讲解了if选择结构 本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构 以及 两种选择结构的运用 ...
- Java运算符及顺序、选择结构
:运算符(掌握) ()算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和- ...
- 大话Java中的哈希(hash)结构(一)
o( ̄▽ ̄)d 小伙伴们在上网或者搞程序设计的时候,总是会听到关于“哈希(hash)”的一些东西.比如哈希算法.哈希表等等的名词,那么什么是hash呢? 一.相关概念 1.hash算法:一类特殊的算法 ...
- Switch 选择结构
switch 选择器 一.语法 switch(变量名){ case 情况1: //代码块 break: case 情况1: //代码块 break: default(默认): //代码块 break: ...
- Java中Map<Key, Value>存储结构根据值排序(sort by values)
需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...
- 说说Java中你不知道switch关键字
Switch语法 switch作为Java内置关键字,却在项目中真正使用的比较少.关于switch,还是有那么一些奥秘的. 要什么switch,我有if-else 确实,项目中使用switch比较少的 ...
随机推荐
- CNV
CNV: 人类主要是二倍体.如果有些区域出现3个.4个拷贝,那就是扩增了,如果只出现1个拷贝,就是缺失.所以CNV分析是依靠特定位置的测序深度来估算的,先在染色体上划窗,然后看每个窗口的平均测序深度, ...
- Mybatis+struts2+spring整合
把student项目改造成ssm struts2 +mybatis+spring 1,先添加spring支持:类库三个,applicationContext.xml写在webinf下四个命名空间,监 ...
- hdu 4712 Hamming Distance 随机
Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...
- HTML笔记(一)
HTML注释格式如下: <!-- 这里是注释 --> HTML中的标题(heading)通过h1~h6来定义. 文本格式化标签: 标签 描述 <b> 定义粗体文本. <b ...
- hibernate对象关系实现(二)一对一
双向一对一以部门和经理为例: a.部门和经理类中各自由对方的引用:(省略了get/set方法) b.数据库两种方式实现:一种(b.1)是外键映射,并将外键添加唯一约束(至于哪个对象的主键做外键,可随意 ...
- Data truncation: Truncated incorrect DOUBLE value 解决方案
1.情况限制 此处的错误解决方案只讨论: 在使用Mybatis时,传入数组且使用<foreach>标签时出现此种报错: 2.报错案例 mapper.java /** * @Descript ...
- Tuning 简介
典型的不好的设计: 破坏了系统的可扩展性(韧性) Applications requiring significant concurrency management as user populatio ...
- Python的lambda表达式
使用lambda来创建匿名函数,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python lambda还有哪些和def不一样呢? 1 python lambda会创建一个函数对象,但 ...
- 在 Windows XP 下查看所有卷标信息
http://support.hp.com/cn-zh/document/c01270024 点击“开始”,在“开始搜索”中输入:diskpart,然后按键盘“回车”键. 在“命令行窗口”中,等待“D ...
- img、input到底是行内还是块级元素?
一.img.input属于行内替换元素.height/width/padding/margin均可用.效果等于块元素. 行内非替换元素,例如, height/width/padding to ...