复习 分支结构
单路分支
if(条件){
条件成立时要做的事情
}
二路分支
if(条件){
条件成立时要做的事情
}else{
条件不成立时要做的事情
}
多路分支
if(条件1){
条件1成立时要做的事
}else if(条件2){
条件2成立时要做的事情
}else if(条件n){
条件n成立时要做的事情
}else{
上面所有条件都不成立时要做的事情
}
今日重点 循环
流程图
打印三次hello world
示例代码
循环三要素
循环变量
循环条件
循环变量的变化
三者缺一不可
while循环语法
循环变量
while(循环条件){
编写需要重复执行的内容
让循环变量发生变化
}
代码 贵妃减肥
代码
public class Test2 {
public static void main(String[] args) {
// 初始化数据
double weight = 160;
int day = 0;
// 开始减肥
while (weight > 100) {
System.out.println("运动一小时");
day++;
weight -= 1.6;
String w = String.format("%.2f", weight);
System.out.println("当天减重后体重:" + w);
}
// 结束
String w2 = String.format("%.2f", weight);
System.out.println("减肥成功后的体重:" + w2);
System.out.println("减肥一共耗时天数:" + day);
}
}
小数保留两位的办法
do…while… 循环
do…做
while… 当。。。的时候
小明写作业 流程图
代码实现
import java.util.Scanner;
public class Test3小明写作业 {
public static void main(String[] args) {
// 初始化数据
int score = 0;
// 扫描仪对象
Scanner scanner = new Scanner(System.in);
// 循环体
do {
System.out.println("小明写作业");
System.out.println("老师判分,请输入得分");
score = scanner.nextInt();
} while (score < 60);
// 程序结束
System.out.println("game over");
}
}
小结 while 与 do…while的区别
while是先判断条件,再执行重复的代码
do…while是先执行重复的内容,再判断要不要继承重复
只有while循环是有可能实现零循环,指的是一次循环体的内容都不执行
而do…while循环,至少会执行一次循环体的内容
需求
游戏模拟
一启动游戏
询问是否要打一局
如果输入y
就输出:打了一局游戏。
又会询问是否要打一局,
如果输入y,
就输出:打了一局游戏。。。。
如果输入的不是y,就代表不打游戏了,程序就结束
流程图
字符串的比较 判断相等 使用equals方法
代码
import java.util.Scanner;
public class Test4字符串的相等比较 {
public static void main(String[] args) {
String a = "hello";
String b = "hello";
System.out.println(a == b);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:hello");
String c = scanner.next();
System.out.println(a);
System.out.println(c);
System.out.println("判断两个字符串是否相等,要用equals方法");
System.out.println(a.equals(c));
// 字符串1.equals(字符串2)
}
}
效果
true
请输入:hello
hello
hello
hello
判断两个字符串是否相等,要用equals方法
true
for循环的基本用法
循环五次,得到0-4的数据
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
关注for循环的执行流程
作业2
使用三种循环方式做同一个功能
求从1到100的所有整数之和
循环控制continue
例子
我们要学习十天
奇数天学习,偶数天休息
输出第几天会休息
程序来实现
减肥 continue
public class Test6 {
public static void main(String[] args) {
// 贵妃第三天陪皇上出游
// 体重
double weight = 160;
// 天数
int day = 0;
while (weight > 100) {
// 天数加1
day++;
System.out.println("今天是第几天:" + day);
// 判断要不要跳过
if (day == 3) {
System.out.println("陪皇上出游");
System.out.println("放假一天");
continue;
}
System.out.println("减肥");
weight -= 1.6;
}
}
}
减肥 断腿 break
public class Test6 {
public static void main(String[] args) {
// 贵妃第三天陪皇上出游
// 第五天腿断了,不能继续做重复的事情了
// 体重
double weight = 160;
// 天数
int day = 0;
while (weight > 100) {
// 天数加1
day++;
System.out.println("今天是第几天:" + day);
// 判断要不要跳过
if (day == 3) {
System.out.println("陪皇上出游");
System.out.println("放假一天");
continue;
}
// 判断今天是不是要断腿
if (day == 5) {
System.out.println("今天是断腿日");
break;
}
System.out.println("减肥");
weight -= 1.6;
}
System.out.println("game over");
}
}
小结
while循环
条件变量
while(条件){
需要重复做的事情
条件变量发生变化
}
do…while循环…
定义循环变量
do{
需要重复做的事情;
循环变量发生变化
}while(循环条件);
for循环
for(int i=0;i<循环次数;i++){
需要重复做的事情
}
continue循环控制
结束本轮循环
继续下一轮循环
break循环控制
结束整个循环
注意事项
break与contiue
都需要与if语句配合使用
字符串比较相等
不能用双等号比较,不靠谱
正确的比较方式
boolean b = 字符串1.equals(字符串2)