选择结构
一、认识流程图
二、顺序结构
体现在程序进入某一个方法后,从上往下执行。
下面展示一些 顺序结构的代码片
。
System.out.println("第一条执行的代码");
System.out.println("第二条执行的代码");
System.out.println("第三条执行的代码");
System.out.println("第四条执行的代码");
下面是输出截图:
三、选择结构
3.1基本if分支结构
下面展示 基本if分支结构的格式
。
if(条件){//代码块}
if(true){
System.out.println("if结构代码块");
}
3.2复杂条件的if选择结构
条件中参杂着逻辑运算符,通过逻辑运算符把多个条件判断连接起来。
下面展示 案例代码片
。
//如果我身高1.8m,视力1.5,我就可以去当飞行员。
double height=1.9,eye=1.6;
if (height>=1.9&&eye>=1.6){
System.out.println("你可以去当飞行员。");
}else{
System.out.println("你条件不够,不能当飞行员。");
}
3.3if-else结构
如果…否则
在某种情况下(运算后有一个具体的结果),三元运算符可以看成是if else的简写。
下面展示 if-else结构的格式
。
if (条件表达式) {
//条件成立要执行的代码块
}else {
//条件不成立要执行的代码块
}
下面展示一些 案例代码片
。
int a=0,b;
if(a>1)
b=100;//执行语句只有一条时,可以省略大括号
else
b=200;
System.out.println(b);
b=a>1?100:200;
3.4多重if选择结构
1.下面展示 多重if选择结构的格式
。
if (条件表达式1) {
//条件1成立要执行的代码块
}else if (条件表达式2) {
//条件2成立要执行的代码块
}else {
//条件不成立要执行的代码块
}
2.逻辑分析:
程序面临的选择在3个或以上。
一旦进入了某一个选择,将不再执行后面的选择。意味着程序只能进入一个选择里面。
3.特点:多重if选择结构,最终只会执行一种结果,执行完后,马上跳出该选择结构,不会继续往下执行。
下面展示一些 举例代码片
。
int x=9;
if (x>3){
System.out.println("a");
}else if (x>2){
System.out.println("b");
}else if (x>1){
System.out.println("c");
}else{
System.out.println("d");
}
3.5嵌套if选择结构
针对有前提条件的情况,也就是条件有层级包含关系。
下面展示 嵌套if选择结构的格式
。
if (条件表达式1) {
// 条件1成立要执行的代码
if (条件表达式2) {
// 条件2成立要执行的代码
} else {
// 条件2不成立要执行的代码
}
}else {
// 条件1不成立要执行的代码
}
下面展示一些 案例代码片
。
//在全校举行的100米赛跑中,如果跑出10秒的成绩,进入决赛,如果是男生,进入男子队,如果是女生,进入女子队。
Scanner sc1 = new Scanner(System.in);
System.out.println("请分别输入您的跑步成绩:");
double time = sc1.nextDouble();
if(time<=10.0){
System.out.println("恭喜你进入决赛!请输入您的性别:");
String sex = sc1.next();
if(sex.equals("男")){
System.out.println("请进入男子队.");
}else if(sex.equals("女")) {
System.out.println("请进入女子队.");
}
}else {
System.out.println("抱歉!您没有进入决赛圈!");
}
3.6switch选择
1.理解:多重if在等值判断的情况下作形式上的改版和演化:
(1)Select which:选择哪一个?
(2)提取公因式
(3)只能选择多种结果中的一种,故每一种结果执行完后要跳出结构,即break;
2.特点:条件为等值判断
3.注意:忘记写break,程序会从匹配的条件一直往下执行。
下面展示 switch选择的格式
。
switch (要对比的值) {
case 值1:
//符合值1时要执行的代码;
break;
case 值2:
//符合值2时要执行的代码;
break;
default:
//未符合任何值要执行的代码(位置随意,但要注意break)
}
下面展示一些 案例代码片
。
int day = 6;
switch(day){
case 1 :
System.out.println("今天星期一");
break;
case 2 :
System.out.println("今天星期二");
break;//假如这个break没有,输入的值为2,则执行这条语句以及下条一直到遇见break
case 3 :
System.out.println("今天星期三");
break;
case 4 :
System.out.println("今天星期四");
break;
case 5 :
System.out.println("今天星期五");
break;
case 6 :
System.out.println("今天星期六");
break;
case 7 :
System.out.println("今天星期日");
break;
default:
System.out.println("输入错误!");
break;
}
3.7选择结构的总结
1.一个条件一种选择结果:基本if选择结构
2.多个条件一种选择结果:复杂条件if选择结构
3.一个条件,2种选择结果:If - else
4.一个条件,3种以上选择结果:If else if … else(范围条件判断)
5.多个条件,存在前提条件的情况:嵌套if结构
6.在第4种情况中,条件判断为等值判断,而不是范围判断的情况下,一般使用Switch
四、循环结构
4.1while循环
While循环的格式(循环三要素):
循环变量:记录循环的次数
循环条件:决定是否还要继续下去,循环变量的范围(上限,下限)
循环体:重复性的工作(执行语句、i自增)
While循环的步骤:
1.定义循环变量,并初始化
2.While作条件判断,执行循环或跳出循环。
下面展示 while循环的格式
。
while (条件表达式) {
// 条件表达式成立要执行的循环体(i++)
}
下面展示一些 while循环代码片
。
int i =0,sum=0;
while (i<=100){
i++;
if(i%2==0){
sum +=i;
}
}
System.out.println("100以内(包括100)的偶数之和1是:"+sum);
总结:循环就像是一个人在河里顺水而下,突然遇到一个漩涡。
下面展示一些 while循环代码片
。
4.2do-while循环
do-while循环可以和if…else一起用;
先执行一次循环体,再进行条件判断。
下面展示 do-while循环的格式
。
do {
//循环体代码块
} while (条件表达式);
下面展示一些 do-while循环代码片
。
int j =0,sum1=0;
do{
j++;
if(j%2==0){
sum1 +=j;
}
}while (j<100);
System.out.println("100以内(包括100)的偶数之和2是:"+sum1);
4.3For循环
下面展示 For循环的格式
。
for (循环变量的定义赋值;循环条件;循环变量的自增长) {
// 循环体代码块
}
循环次数(n)=循环体次数(n)=自增长次数(n),
循环条件次数(n+1)。
下面展示一些 For循环代码片
。
int sum2=0;
for (int k = 1; k <=100 ; k++) {
if(k%2==0){
sum2 +=k;
}
}
System.out.println("100以内(包括100)的偶数之和3是:"+sum2);
一.语法和执行顺序:
二.使用场景:循环次数固定:更加突出具体了开始节点和结束节点
4.4While 和 do -while 的区别
1.while 和do-while格式写三遍体会写法的区别和注意分号。
2.While先条件判断,再执行循环体,do-while 先执行循环体,再条件判断。
3.区分理解:先安检,在上车;先坐车,出站安检。
先看口袋钱够不够,再决定是否进店消费;
先进去点餐吃饭,结账买单时再看钱够不够
4.5跳转语句break和continue
break:跳出循环
举例:吃苹果,当吃到虫子时(break),不吃了(跳出循环)。
continue:结束当前循环,继续下一次循环
举例:吃苹果,当吃到虫子时(continue),手里面的苹果不吃了(结束当前循环),继续吃下一个(继续下一次循环)。