Java中的选择结构
1.if选择结构
if选择结构是根据条件判断之后再做处理的一种语法结构
语法:
if(条件){
代码块 //条件成立之后要执行的代码,可以是一条语句,也可以是一组语句
}

if后小括号里的条件是一个表达式,而且表达式的值必须为ture 或 false。
1.1使用基本的if选择结构
import java.util.Scanner;
public void GetPrize{
Scanner input = new Scanner(System.in);
System.out.print("请输入成绩");
int score = input.nextInt();
if(socre > 98){
System.out.println("考的不错,奖励");
}
}
运行结果:请输入成绩:100
考的不错,奖励
1.2使用复杂条件下的if选择结构
常用的逻辑运算符
程序:如果Java成绩大于98分,而音乐成绩大于80分,则奖励;如果Java成绩等于100分,音乐成绩大于70分,也奖励
public class GetPrize2(){
public static void main(String[] args){
int javaScore = 100;
int muicScore = 72;
if((javaScore > 98 && muicScore > 80) || (javaScore == 100 && muicScore > 70)){
System.out.println("考的不错,奖励");
}
}
}
运行结果:考的不错,奖励
1.3使用if-else选择结构
if(条件){
//代码块1
}else{
//代码块2
}
if-else结构流程图

程序:如果Java成绩大于98,奖励;否则继续编写代码
public class SimpieIf{
2 public static void main(String[] args){
3 int score = 91;
4 if(score > 91){
System.out.println("考的不错,奖励");
}else{
System.out.println("继续编写代码吧");
}
}
}
运行结果:继续编写代码吧。
1.4多重if选择结构
语法:
if(条件1){
//代码块1
}else if(条件2){
//代码块2
}else{
//代码块3
}
多重if选择结构流程图

1)else if 可以有多个或者没有,有几个else if块完全取决于需要
2)else 块最多有一个或没有,else块必须放在else if块之后
程序:对学生的成绩进行评测,成绩>=80为良好,成绩>=60为中等,成绩<60为差
public class ScoreAssess{
public static void main(String[] args){
int score = 70;
if(score >= 80){
5 System.out.println("良好");
}else if(score >= 60){
System.out.println("中等");
}else{
System.out.println("差");
}
}
}
程序运行结果:中等
1.5嵌套if选择结构
语法:
if(条件1){
if(条件2){
//代码块1
}else{
//代码块2
}
}else{
//代码块3
}
嵌套if结构流程图

程序:学校举行运动会,百米赛跑成绩在10s内的有资格进入决赛,根据性别分为男子组和女子组
import java.util.*;
public class Runing{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score = input.nextDouble();
System.out.print("请输入性别:");
String gender = input.next();
if(score < 10){
10 if(gender.equals("男")){
System.out.print("进入男子组决赛");
}else if(gender.equals("女")){
System.out.print("进入女子组决赛");
}
}else{
System.out.print("淘汰");
}
}
}
运行结果:请输入比赛成绩(s):8
请输入性别: 男
进入男子组决赛
注意:1)只有当满足外层if选择结构的条件时,才会判断内层if的条件
2)else 总是与他前面最近的缺少 else 的那个 if 相配对
2.switch选择结构
语法:
switch(表达式){
case 常量1:
//代码块1;
break;
case 常量2:
//代码块2;
break;
... ...
default:
//代码块n;
break;
}
1)JDK 1.7后,switch 语句小括号里可以是 int、short、byte、char、枚举、String类型表达式
2)case 后必须是一个常量,数据类型与switch后表达式的值相同,通常是一个固定值,case块可以有多个,顺序可以改变,但每个case后的值必须各不相同
3)default:其他情况都不满足时执行default。default后要紧跟冒号,default跟case的顺序可以变动,但通常default块放在结尾,也可以省略。
程序:参加计算机编程大赛:
如果获得第一名,奖励参加下列营;
如果获得第二名,奖励惠普笔记本电脑一台;
如果获得第三名,奖励移动硬盘一个;
否则没有奖励。
public calss Compete{
public static void main(String[] args){
int rank = 1;
switch(rank){
case 1:
System.out.println("参加夏令营");
break;
case 2:
System.out.println("惠普笔记本");
break;
case 3:
System.out.println("移动硬盘");
break;
default:
System.out.println("没有奖励");
break;
}
}
}
运行结果:参加夏令营
3.选择结构总结
1)基本if选择结构:可以处理单一或组合条件的情况。
2)if-else选择结构:可以处理简单的条件分支情况。
3)多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
4)嵌套if选择结构:这种结构一般用于复杂的流程控制中。
5)switch选择结构:当需要多重分支,并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读
Java中的选择结构的更多相关文章
- Java中的选择结构(二)
选择结构(二) 学习本章会用到的单词: case:实例,情形,情况 switch:转换,切换,开关 default:系统默认值,违约,预设.缺省 exit:出口,通道,退出 consume:消耗,耗费 ...
- Java初认识--Java中的语法结构
Java中的语法结构(程序流程控制) Java的语法结构有四种: 1.顺序结构. 顺序结构很简单,就是按顺序执行,输出就可以了. 2.判断结构. 判断结构的一个代表性的语句是if:if语句有三种格式体 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- vb编程中的选择结构语句的写法
1996年,Bohra和Jacopin提出了结构化算法的3中种基本结构:顺序结构.选择结构和循环结构 目前已经得到证明,无论多么复杂的程序,都是由上面的3种基本结构中的一种或者多种的组合构成 在此笔者 ...
- Java中JVM内存结构
Java中JVM内存结构 线程共享区 方法区: 又名静态成员区域,包含整个程序的 class.static 成员等,类本身的字节码是静态的:它会被所有的线程共享和是全区级别的: 属于共享内存区域,存储 ...
- java基础05 选择结构
选择结构 public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 5 ...
- Java(4)switch选择结构
一.switch结构(开关语句)的语法 switch(表达式 ){--->类型为int.char case 常量1 :--->case 结构可以有多个 //语句块1 break;---& ...
- Java中的循环结构(二)
循环结构(二) 学习本章有道的单词: rate:速度,比率 young:年轻的,年少 schedule:时间表,调度 neggtive:消极的;否定 customer:顾客,观众 birthday:生 ...
- java中的switch结构
switchkeyword的中文意思是开关.转换的意思,switch语句在条件语句中特别适合做一组变量相等的推断,在结构上比if语句要清晰非常多.switch语句的语法格式为:switch(表达式) ...
随机推荐
- BZOJ 1834网络扩容题解
一道不算太难的题目 但是真的很恶心 显然,对于第一问,我们直接无脑打模板就好了 第二问也不是很难,我们将每条边再连一条容量为inf,费用为w的边 但是流量只要小于第一问的答案加k就行了 所以我们增加一 ...
- 初始化Redis密码
在配置文件/etc/redis/redis.conf中有个参数: requirepass 这个就是配置redis访问密码的参数: 比如 requirepass test123: (需重启Redis才能 ...
- 从零学React Native之09可触摸组件
可触摸组件有: TouchableHighlight,TouchableNativeFeedback,TouchableOpacity,TouchableWithoutFeedback 1. Touc ...
- win10 uwp 使用动画修改 Grid column 的宽度
今天 wurstmitbrot 问如何通过动画修改 Grid 的 column ,虽然 column 是一个依赖属性,可以绑定,但是做出动画还是比较难的. 本文告诉大家如何对 Grid 做动画. 首先 ...
- Flask学习之二 模板
继续学习flask 本部分Miguel Grinberg教程的翻译地址:http://www.pythondoc.com/flask-mega-tutorial/templates.html 英文原文 ...
- 【Pandas】Pandas求某列字符串的长度,总结经验教训
测试集大小: test.shape(898, 11) 对某列的字符串做统计长度1.for遍历法:start = time.time()for i in test.index.values: test. ...
- oracle 优化GROUP BY
提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉.下面两个查询返回相同结果但第二个明显就快了许多. 低效: SELECT JOB , AVG(SAL) FROM ...
- 使用提示(Hints)
对于表的访问,可以使用两种Hints. FULL 和 ROWID FULL hint 告诉ORACLE使用全表扫描的方式访问指定表. 例如: SELECT /*+ FULL(EMP) */ * FRO ...
- 建立一个Web项目及一些错误解决办法
培训之前,先自学一波,写一个从Hello World,然后记录一下每天学习Java Web的过程:东西很多,有用的会写大量解释,希望能最终学完 然后搞定这门语言吧. 1.配置tomacat:点击win ...
- Jieba分词包(一)——解析主函数cut
1. 解析主函数cut Jieba分词包的主函数在jieba文件夹下的__init__.py中,在这个py文件中有个cut的函数,这个就是控制着整个jieba分词包的主函数. cut函数的定义如 ...