本博客地址 | GitHub | 更多资源免费下载
顺序(如左图)
选择结构(如右图)
循环结构(后一课讲)
如图 :
if语句
switch语句
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况
if(条件){
//(缩进)代码块
}
当有一条语句时,可以省略{},但不推荐。
if后面括号的条件结果只能为true和false,如果条件为true,则执行代码块,否则不执行。
package org.gyun.test;
/**
* @ClassName:Demo1.java
* @Description:if的应用
* @Author:DongGaoYun
* @URL: www.gyun.org
* @Email:[email protected]
* @QQ:1050968899
* @WeiXin:QingYunJiao
* @Date:2019-9-3 下午4:25:01
* @Version:1.0
*/
public class Demo1 {
/**
* 主方法 实现需求: *
* if 在一条语句的情况下,可以省略{},不推荐省略!强烈要求加{} *
*/
public static void main(String[] args) {
// 变量声明赋值
int num = 10;
// 判断
if (num > 10)//注意没有加{}注意缩进
System.out.println(num);
// 更新num
num++; // 注意:这个一行不用考虑++在前还是后,即num的值就是num+1
System.out.println(++num); // 打印是num自加1之后的值,即打印为:12
System.out.println(num++); // 打印是num先赋值时的值,注意:不是自加1后的值,即打印为:12
System.out.println(num); // 打印是num自加1之后的值,即打印为:13
}
}
package org.gyun.test;
/**
* @ClassName:Demo2.java
* @Description:if复杂应用
* @Author:DongGaoYun
* @URL: www.gyun.org
* @Email:[email protected]
* @QQ:1050968899
* @WeiXin:QingYunJiao
* @Date:2019-9-3 下午4:59:36
* @Version:1.0
*/
public class Demo2 {
/**
* 主方法: 分析需求:
*/
public static void main(String[] args) {
// 调用方法
// demo1();
// demo2();
// demo3();
// 需求: 如果百米赛跑在10秒内 可以根据条件进入男子和女子组
// 语法: if(条件){} 注意:条件的结果是布尔值,即true和false 是true,则执行代码块,否则不执行!
// 声明变量
String sex = "男";
int s = 91;
// if判断
if (s < 10) {// 结果为true
// 注意java里比较字符串用equals
if ("男".equals(sex)) {
System.out.println("进入男子组");
} else if ("女".equals(sex)) {
System.out.println("进入女子组");
} else {
System.out.println("sex未知");
}
} else {// false,就执行这一行打印
System.out.println("淘汰了");
}
}
// 多重if选择结构 使用多重if选择语句处理问题时需要注意顺序,切记不能任意调换。
private static void demo3() {
// 声明变量
int java = 91;
// 互斥
if (java >= 100) {
System.out.println("良好");
} else if (java >= 80) {
System.out.println("中等");
} else if (java >= 60) {
System.out.println("及格");
} else {
System.out.println("差");
}
}
// 使用if-else选择结构
private static void demo2() {
// 声明变量
int java = 91;
// 互斥
if (java > 90) {
System.out.println("给予奖励!");
} else {
System.out.println("蹲马步");
}
}
/**
* 基本的if选择结构
*
* 使用复杂条件的if选择结构 如: if (java > 90 && music > 80 || java == 100 && music > 70) {
*
* 结合运算符的优先级编写条件**
*
* 最高的优先级:( )
*
* 最低的优先级:=
*
* 优先级:!> 算术运算符 > 关系运算符 > && > ||
*
* 复杂条件使用括号提高可读性
*
* 需求条件:
* 达成其中一个条件,就给予奖励
* 1.条件1 java>90 且music>80
* 2.条件2 java==100 且 music>70
*/
//
private static void demo1() {
// 声明变量
int java = 91;
int music = 81;
// 结果为true,就打印:给予奖励!
if (java > 90 && music > 80 || java == 100 && music > 70) {
System.out.println("给予奖励!");
}
}
}
switch (表达式) {
case 1:
//执行需求块 如:System.out.println("参加北京大学组织的1个月夏令营");
//不要忘记break
break;
case 2:
//执行需求块 如:System.out.println("奖励外星人笔记本电脑一台 ");
//不要忘记break
break;
case 3:
//执行需求块 如:System.out.println("奖励手机一部 ");
//不要忘记break
break;
default:
//执行需求块 如:System.out.println("不给任何奖励 ");
//不要忘记break
break;
}
使用switch选择结构要注意以下几点:
1.多个case后的常量不能重复
2.switch后的小括号中的表达式只允许为:
基本数据类型:char byte short int
引用数据类型:String enum(枚举,后面会学)
3.switch语句的前后顺序可以进行颠倒。
使用场景:
必须是等值判断。
package org.gyun.test;
import java.util.Collections;
import java.util.Scanner;
/**
* MyEclipse 10.7.1工具会报错
* 以下使用的工具为:Idea 2018.3
* @ClassName:Demo3.java
* @Description:switch的应用
* @Author:DongGaoYun
* @URL: www.gyun.org
* @Email:[email protected]
* @QQ:1050968899
* @WeiXin:QingYunJiao
* @Date:2019-9-5 下午1:56:14
* @Version:1.0
*/
public class Test1 {
/*
* 需求:
* 如果第一名,参加麻省理工大学组织的1个月夏令营
* 如果第二名,奖励惠普笔记本电脑一部
* 如果第三名,奖励移动硬盘一个
* 否则,不给任何奖励
* 分析需求: //变量 rank 名次
*/
public static void main(String[] args) {
// ifMethod();
// 声明变量
// int rank=1;//写死,代码没有灵活性了
// 用Scanner对象输入数据 三步走: 引包 创建对象 使用
Scanner input = new Scanner(System.in);
// 用变量接收输入的值 //简洁 好用 复用
System.out.print("请输入名次:");
//int rank = input.nextInt();
// switch的使用
String rank = input.next();
/*
使用switch语句要注意以下几点:
1.多个case后的常量不能重复
2.switch后的小括号中的数据类型只允许为:
基本数据类型:char byte short int
引用数据类型:String enum(枚举,后面会学)
3.switch语句的前后顺序可以进行颠倒。
*/
switch (rank) {
//和if中的else的功能一样,只有switch中的case全都不匹配时,就会选择默认的选项default
default:
System.out.println("不给任何奖励 ");
//不要忘记break
break;
case "a":
System.out.println("参加麻省理工大学组织的1个月夏令营");
//不要忘记break
break;
case "b":
System.out.println("奖励惠普笔记本电脑一部 ");
//不要忘记break
break;
case "c":
System.out.println("奖励移动硬盘一个 ");
//不要忘记break
break;
}
}
private static void ifMethod() {
// 声明变量
// int rank=1;//写死,代码没有灵活性了
// Scanner对象 三步走: 引包 创建对象 使用
Scanner input = new Scanner(System.in);
// 用变量接收输入的值 //简洁 好用 复用
System.out.print("请输入名次:");
int rank = input.nextInt();
// 多重if
if (rank == 1) {
System.out.println("参加麻省理工大学组织的1个月夏令营");
} else if (rank == 2) {
System.out.println("奖励惠普笔记本电脑一部 ");
} else if (rank == 3) {
System.out.println("奖励移动硬盘一个 ");
} else {
System.out.println("不给任何奖励");
}
}
}
使用场景:
1.在选择结构switch语句中使用
2.在循环语句中使用
3.其它场景使用没有作用
作用:
结束(终止)switch或者循环
和if中的else的功能一样,只有switch中的case全都不匹配时,就会选择默认的选项default
都是用来处理多分支条件的结构
switch选择结构:只能处理等值条件判断的情况
多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
更多免费资源请关注微信公众号: