Java 循环语句及流程控制语句
java循环语句while与do-while
一 while循环
while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。
区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,
while循环结束。
格式:
while(循环条件){
执行语句
………
}
流程图:
例如:打印1-4之间的自然数
public class WhileDemo { public static void main(String[] args) { int x = 1; // 定义变量x,初始值为1 while (x <= 4) { // 循环条件 System.out.println("x = " + x); // 条件成立,打印x的值 x++; // x进行自增 } } }
二 do-while循环
do…while循环语句和while循环语句功能类似
格式:
do {
执行语句
………
} while(循环条件);
关键字do后面{}中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。
这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。
流程图:
例如:用do-wiile来打印1-4之间的自然数
public class DoWhileDemo { public static void main(String[] args) { int x = 1; // 定义变量x,初始值为1 do { System.out.println("x = " + x); // 打印x的值 x++; // 将x的值自增 } while (x <= 4); // 循环条件 } }
do …while循环和while循环能实现同样的功能。
如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行
,而do…while循环的循环体还是会执行一次。
java循环语句for与无限循环
一 for循环
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。
格式:
for(初始化表达式; 循环条件; 操作表达式){
执行语句
………
}
循环流程:
for(① ; ② ; ③){
④
}
第一步,执行①
第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步
第三步,执行④
第四步,执行③,然后重复执行第二步
第五步,退出循环
例如:对1-4之间的数求和
public class ForDemo01 { public static void main(String[] args) { int sum = 0; // 定义变量sum,用于记住累加的和 for (int i = 1; i <= 4; i++) { // i的值会在1~4之间变化 sum += i; // 实现sum与i的累加 } System.out.println("sum = " + sum); // 打印累加的和 } }
求1-100的奇数和:
int sum=0; for (int i =1;i<=100 ;i++ ) { if(i%2!=0){ sum+=i; } } System.out.println(sum);
求1-100的偶数和:
int sum=0; for (int i =1;i<=100 ;i++ ) { if(i%2==0){ sum+=i; } } System.out.println(sum);
二 无限循环
无限循环有两种,一种是while格式一种是for格式
while格式:
while(true){ System.out.println(1); }
for格式:
for(;;){ System.out.println(1); }
无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
java流程控制语句if
一 if语句
if语句是指如果满足某种条件,就进行某种处理。
格式:
if (条件语句){
执行语句;
……
}
流程图:
例如:
public class IfDemo01 { public static void main(String[] args) { int x = 5; if (x < 10) { x++; } System.out.println("x=" + x); } }
二 if…else语句
if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。
格式:
if (判断条件){
执行语句1
……
}else{
执行语句2
……
}
流程图:
例如: 判断奇偶数
public class IfDemo02 { public static void main(String[] args) { int num = 19; if (num % 2 == 0) { // 判断条件成立,num被2整除 System.out.println("num是一个偶数"); } else { System.out.println("num是一个奇数"); } } }
三 if…else if…else语句
if…else if…else语句用于对多个条件进行判断,进行多种不同的处理。
格式:
if (判断条件1) {
执行语句1
} else if (判断条件2) {
执行语句2
}
...
else if (判断条件n) {
执行语句n
} else {
执行语句n+1
}
流程图:
例如:考试成绩分级
public class IfDemo03 { public static void main(String[] args) { int grade = 75; // 定义学生成绩 if (grade > 80) { // 满足条件 grade > 80 System.out.println("该成绩的等级为优"); } else if (grade > 70) { // 不满足条件 grade > 80 ,但满足条件 grade > 70 System.out.println("该成绩的等级为良"); } else if (grade > 60) { // 不满足条件 grade > 70 ,但满足条件 grade > 60 System.out.println("该成绩的等级为中"); } else { // 不满足条件 grade > 60 System.out.println("该成绩的等级为差"); } } }