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(表达式) ...
随机推荐
- jq动态添加代码监听问题
$(document).on('click', '.class', function() { console.log($(this).attr('id')); });
- 【ToReadList】六种姿势拿下连续子序列最大和问题,附伪代码(以HDU 1003 1231为例)(转载)
问题描述: 连续子序列最大和,其实就是求一个序列中连续的子序列中元素和最大的那个. 比如例如给定序列: { -2, 11, -4, 13, -5, -2 } 其最大连续子序列为{ 11, ...
- mysql字段中提取汉字,去除数字以及字母
如果只是删除尾部的中文,保留数据,可以用以下的简单方式 MySQL as num; +------+ | num | +------+ | +------+ DELIMITER $$ DROP FUN ...
- 从零学React Native之01创建第一个程序
本篇首发于简书 欢迎关注 上一篇文章是时候了解React Native了介绍了React Native.大家应该对React Native有个初步的认识. 接下来我们就可以初始化一个React Nat ...
- linux centos 一键安装环境
phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4. ...
- 《C语言深度解剖》学习笔记之内存管理
第5章 内存管理 1.野指针 定义指针变量的同时最好初始化为NULL,用完指针后也将变量的值设置为NULL.也就是说除了使用时,别的时间都把它设置为NULL 2.堆,栈和静态区 堆:由malloc系列 ...
- Collections.sort list内部排序
public class ComparatorUser implements Comparator{ public int compare(Object arg0, Object arg1) { ...
- SLS机器学习最佳实战:日志聚类+异常告警
1.手中的锤子都有啥? 围绕日志,挖掘其中更大价值,一直是我们团队所关注.在原有日志实时查询基础上,今年SLS在DevOps领域完善了如下功能: 上下文查询 实时Tail和智能聚类,以提高问题调查效率 ...
- HZOJ 匹配
Hash/KMP裸题,并不想写什么,只是复习一下KMP吧. void get_n() { next[]=; ; ;i<=lt;i++) { && t[i]!=t[j+])j=ne ...
- php实现第三方登录
1. oAuth2.0原理 网站为了方便用户快速的登录系统,都会提供使用知名的第三方平台账号进行快速登录的功能,第三方登录都是基于oAuth2.0标准来实现的.下面详细分析[基于账号密码授权]和[基于 ...