流程控制语句分类
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
if语句格式1:
if(关系表达式){
语句体;
}
执行流程:
if语句格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
if语句格式3:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n+1;
}
执行流程:
练习:小明快期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个分数:");
int score = sc.nextInt();
if(score > 100 || score < 0){
System.out.println("你输入的分数有误");
} else if (score >= 95 && score <= 100){
System.out.println("山地自行车一辆");
} else if(score >= 90 && score <= 94){
System.out.println("游乐场玩一次");
} else if(score >= 80 && score <= 89){
System.out.println("变形金刚玩具一个");
} else {
System.out.println("胖揍一顿");
}
}
}
switch语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
[break;]
}
格式说明:
练习:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份:");
int month = sc.nextInt();
switch(month) {
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("你输入的月份有误");
}
}
}
注意:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整体switch语句结束。
循环结构的特征:重复做某件事情,具有明确的开始和停止标志。
循环结构的组成
循环结构对应的用法
for循环语句格式
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
执行流程:
练习:在控制台输出所有的水仙花数以及水仙花数的个数。水仙花数是一个三位数,且水仙花数的个位、十位、百位的数字立方和等于原数。
public class Demo{
public static void main(String[] args){
int count = 0;
for(int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (a*a*a + b*b*b + c*c*c == i) {
System.out.println(i);
count++;
}
}
System.out.println("水仙花共有:" + count + "个");
}
}
while循环语句基本格式
while(条件判断语句) {
循环体语句;
}
while循环语句完整格式
初始化语句;
while(条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程:
练习:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
public class Demo{
public static void main(String[] args){
int count =0;
double paper = 0.1;
int zf = 8844430;
while(paper <= zf) {
paper *= 2;
count ++;
}
System.out.println("需要折叠:" + count + "次");
}
}
基本格式
do {
循环体语句;
}while(条件判断语句);
完整格式
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
三种循环的区别
跳转控制语句
语句结构
顺序语句 以分号结尾,表示一句话的结束
分支语句 一对大括号表示if的整体结构,整体描述一个完整的if语句
? 一对大括号表示switch的整体结构,整体描述一个完整的switch语句
循环语句 一对大括号表示for的整体结构,整体描述一个完整的for语句
? 一对大括号表示while的整体结构,整体描述一个完整的while语句
? do...while以分号结尾,整体描述一个完整的do...while语句
任何语句对外都可以看成是一句话,一句代码
分支语句中包含分支语句称为分支嵌套
循环语句中包含循环语句称为循环嵌套
作用:用于产生一个随机数。
练习:猜数字小游戏,程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?当猜错时需给出对应的提示,提示你猜的数字是比真实数字大还是小,猜中时会提示猜中了。
import java.util.Random;
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Random r = new Random();
int number = r.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字");
int guessNumber = sc.nextInt();
while(true) {
if(guessNumber == number) {
System.out.println("恭喜你,猜中啦!");
break;
} else if(guessNumber > number) {
System.out.println("你猜的数字" + guessNumber + "大了,请重新输入:");
guessNumber = sc.nextInt();
} else {
System.out.println("你猜的数字" + guessNumber + "小了,请重新输入:");
guessNumber = sc.nextInt();
}
}
}
}
原文:https://www.cnblogs.com/MarkClinton/p/13995742.html