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比较少的 ...
随机推荐
- poj 1106 Transmitters (叉乘的应用)
http://poj.org/problem?id=1106 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4488 A ...
- implement Google's Open Source Slam "Cartographer" demos in ROS/rviz
Cartographer is a backpack equipped with Simultaneous Localization and Mapping (SLAM) technology. 1. ...
- Codeforces Round #279 (Div. 2) E. Restoring Increasing Sequence 二分
E. Restoring Increasing Sequence time limit per test 1 second memory limit per test 256 megabytes in ...
- hdu 5154 Harry and Magical Computer 拓扑排序
Harry and Magical Computer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 《Linux内核设计的艺术》学习笔记(四)默认段和偏移寄存器
参考书籍:<Intel微处理器> 表1 默认的16位段 + 偏移寻址组合 段 偏移量 特殊用途 CS IP 指令地址 SS SP或BP 堆栈地址 DS BX.DI.SI.8位或16位数 数 ...
- Github上不错的Android开源代码(一)
总有一些朋友很热心的整理一些好的资料,在收集之后,可以用作阅读.学习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) 为了防止以上链接失效,以及部分内容丢 ...
- gitHub-初识
如何生成github所使用的ssh key https://help.github.com/articles/generating-ssh-keys/ 多个github帐号的SSH key切换 htt ...
- 解耦HTML、CSS和JavaScript
当前在互联网上,任何一个稍微复杂的网站或者应用程序都会包含许多HTML.CSS和JavaScript.随着互联网运用的发展以及我们对它的依赖性日益增加,设定一个关于组织和维护你的前端代码的计划是绝对需 ...
- bootstrap学习笔记<五>(表单一)
表单 bootstrap为表单提供三种样式:默认表单,水平表单,内联表单. <form class="form-horizontal" role="form&quo ...
- mvn编写主代码与测试代码
maven编写主代码与测试代码 3.2 编写主代码 项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包.默认情况下,Maven假设项目 ...