
流程控制语句
一.顺序控制二.分支(条件)控制语句
1.单分支(if)2.双分支(if ... else ...)3.多分支(if ... else ... if ... else ...)4.嵌套分支5.switch分支结构 三.循环
1.while循环语句2.do...while循环语句3.for循环语句4.循环嵌套5.跳转语句
流程控制语句在程序中,程序运行的流程控制决定程序是如何执行的,主要有三大流程控制语句.
- 顺序控制分支(条件)控制循环控制
+++
一.顺序控制顺序控制就是程序会自上而下,自左及右依次逐行执行.就和普通写文章,读文章的顺序一样.
比如:java中变量一定是先定义再使用
int num1 = num2 + 1; int num2 = 23; //以上就是错的,应该像下面的这样写 int num2 = 23; int num1 = num2 + 1;
+++
二.分支(条件)控制语句在实际生活中,经常需要做出一些判断,例如开车来到一个十字路口,需要进行判断,红灯停绿灯行.
分支控制语句能让程序有选择的执行响应的代码,分支控制有三种形式:
单分支:if双分支:if … else …多分支:if … else if … else … 1.单分支(if)
if语句就是如果满足某种条件,就进行某种处理.
if(条件判断){
执行语句;
}
if(age > 18){
System.out.println("此人是成年人")
}
2.双分支(if … else …)
双分支语句就是如果满足某种条件,就进行某种处理,否则就执行另一种处理.
例如:要判断一个正整数的奇偶性,如果该数能被2整除则为偶数,否则则为奇数
if(条件判断){
执行语句1;
}else{
执行语句2;
}
if(num % 2 == 0){
System.out.println(num+"为一个偶数");
}else{
System.out.println(num+"为一个奇数");
}
3.多分支(if … else … if … else …)
多分支语句用于对多个条件进行分支判断,从而进行多种不同的处理.
例如:对一个学生的考试成绩进行等级划分,如果分数大于80则为优秀,如果分数大于70则为良好,如果分数大于60则为及格,如果分数小于60则为不及格
if(判断条件1){
执行语句1;
}else if(判断语句2){
执行语句2;
}else if(判断语句3){
执行语句3
}else{
执行语句4;
}
if(grade >= 80){
System.out.println("成绩为优秀");
}else if(grade >=70 && grade <80){
System.out.println("成绩为良好");
}else if(grade >=60 && grade < 70){
System.out.println("成绩为及格");
}else{
System.out.println("成绩为不及格");
}
4.嵌套分支
在一个分支结构中又完整的嵌套了另一个完整的分支结构, 里面的分支的 结构称为内层分支,外面的分支结构称为外层分支。 嵌套分支会影响代码的可读性,建议最好不要超过 3 层,你套十层神仙也 看不懂了。 动物园的门票分淡季旺季,淡季20元,旺季30元,其中(1代表淡季, 2代表旺季)
儿童(0~7)免费学生(8~22)岁半价成人(23~60)不打折老人(>60岁)打三折
package com.hkd.test;
import java.util.Scanner;
public class TestIf {
public static void main(String[] args) {
System.out.println("请输入季节(1,代表淡季,2,代表旺季):");
Scanner scanner = new Scanner(System.in);
int season = scanner.nextInt();
double ticketPrice1 = 20;
double ticketPrice2 = 30;
if (season == 1){
System.out.println("请输入年龄:");
int age = scanner.nextInt();
if(age > 0 && age <8){
System.out.println("您的票价是:免费");
} else if (age >= 8 && age <=22){
System.out.println("您的票价是:" + (ticketPrice1 * 0.5));
} else if (age >= 23 && age <=60){
System.out.println("您的票价是:" + ticketPrice1);
} else if(age >60 && age <=120){
System.out.println("您的票价是:" + (ticketPrice1 * 0.3));
} else {
System.out.println("您输入的年龄不合法");
}
} else if(season == 2){
System.out.println("请输入年龄:");
int age = scanner.nextInt();
if(age > 0 && age <8){
System.out.println("您的票价是:免费");
} else if (age >= 8 && age <=22){
System.out.println("您的票价是:" + (ticketPrice2 * 0.5));
} else if (age >= 23 && age <=60){
System.out.println("您的票价是:" + ticketPrice2);
} else if(age >60 && age <=120){
System.out.println("您的票价是:" + (ticketPrice2 * 0.3));
} else {
System.out.println("您输入的年龄不合法");
}
}
}
}
5.switch分支结构
switch语句是一种很常用的选择结构语句,它由一个switch控制表达式和多个case关键字组成.与if条件语句不同的是,switch条件语句的控制表达式结果类型只能是byte/short/char/int/enum枚举以及String类型,而不能是boolean类型.
switch语句的基本语法格式如下
switch(控制表达式){
case 目标值1:
执行语句1;
break;
case 目标值2:
执行语句2;
break;
case 目标值3:
执行语句3;
break;
.
.
.
default:
执行语句n;
break;
}
在上面的语法格式中,switch语句将控制表达式的值与每个case中的目标值进行匹配,如果找到匹配的值,就会执行对应case后的语句,并通过break语句跳出该switch语句;如果搜索完所有的case仍没找到匹配的值,就会执行default后的语句.
例如:根据月份判断为什么季节
switch(month){
case 12:
case 1;
case 2:
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("输入的月份不正确!");
break;
}
注意:
在使用switch语句时,需要注意两点
- switch条件语句后{}中的多个case以及default标签顺序可以随机,并不影响程序的执行结果;在case和default标签中的执行句后务必加入break关键字,用于执行完语句后跳出当前switch条件语句,否则,程序会接着执行后续的执行语句,直到遇到break语句或者switch语句末尾
+++
三.循环 1.while循环语句while语句和之前讲的选择结构语句有些相似,都是根据条件判断来决定是否执行大括号{}中的语句.区别在于:while语句会反复判断循环条件是否成立,只要条件成立{}中的执行语句就会执行,知道循环条件不成立才会停止
while(循环条件){
执行语句
.
.
.
}
例如:打印小于5的数字
while(x < 5){
System.out.println("x = "+x);
x++;
}
2.do…while循环语句
do…while循环语句也被成为后测试循环语句,和while类似,do…while的特点就是无论循环条件是否成立,都会无条件的执行一次,然后才会根据循环条件来判断是否继续执行
do{
执行语句
.
.
.
}while(循环条件);
3.for循环语句
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下,通常情况下可以代替while循环
for(初始化表达式;循环条件; *** 作表达式){
执行语句
.
.
.
}
for关键字后面的()中包括了三部分内容:初始化表达式/循环条件/ *** 作表达式,他们中间用英文;来分割
例如:秋1到4的累加结果
for(int i = 1;i <= 4;i++){
sum += i;
}
4.循环嵌套
while/do…while/for语句都是可以进行嵌套使用的,我们最常用的是for循环嵌套
for(初始化表达式;循环条件; *** 作表达式){
.
.
for(初始化表达式;循环条件; *** 作表达式){
执行语句
.
.
.
}
.
.
}
例如:
- 打印一下内容
********* ********* ********* *********
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("*");
}
System.out.println();
}
- 打印九九乘法表
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
先找规律:
- 两个乘数都是 1到9,共有九行九列。第一行有一个,第二行有两个。第一个乘数都是小于等于第二个乘数。
// 每一个的第一个乘数就是行号
public static void main(String[] args) {
for (int i=1; i<=9; i++){
for (int j=1; j<=i; j++){
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
System.out.println();
}
}
5.跳转语句
- break语句
在switch语句和循环语句中都可以使用break语句,当他出现在switch语句中,作用是终止某个case并跳出switch语句.当他出现在循环语句中,作用就是跳出当前循环结构语句,执行后面的代码
- continue语句
continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)