三种流程控制语句
顺序结构
1、从上到下依次执行
package Test3;
public class OrderDemo {
public static void main(String[] args) {
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
}
顺序输出:1 2 3
选择结构
1、if的第一种
package Test3;
/*
* if语句第一种:
* if(关系表达式){
* 语句体;
* }
*
* 执行流程:
* 1.计算关系表达式的值,看结果是true还是flase;
* 2.若是true则执行语句体;
* 3.若是flase则不执行语句体
*
*/
public class IfDemo1 {
public static void main(String[] args) {
int a = 10;
int b = 10;
if(a>b){
System.out.println("hello");
}
System.out.println("...........");
if(a==b){
System.out.println("hello");
}
}
}
2、if的第二种
package Test3;
/*
* if语句第二种:
* if(关系表达式){
* 语句体1;
* }else{
* 语句体2;
* }
*
* 执行流程:
* 1.计算关系表达式的值,看结果是true还是flase;
* 2.若是true则执行语句体1;
* 3.若是flase则执行语句体2
*
*/
public class IfDemo2 {
public static void main(String[] args) {
int a = 10;
int b = 10;
if(a==b){
System.out.println("hello");
}else{
System.out.println("你好");
}
System.out.println("............");
if(a>b){
System.out.println("hello");
}else{
System.out.println("你好");
}
}
}
3、if的第三种
package Test3;
/*
* if语句第三种:
* if(判断条件1){
* 执行语句1;
* } else if (判断条件2){
* ...
* }else if(判断条件n){
* 执行语句n;
* } else {
* 执行语句n+1;
* }
* /
* 执行流程:
* 1.首先判断表达式1结果是true还是flase;
* 2.若是true则执行语句体1;
* 3.若是flase继续判断表示式2看结果式true还是false
* 4.如果没有任何关系表达式为true,就执行语句体n+1
*
*public class IfDemo4 {
public static void main(String[] args){
double score=10;
String sex="男";
if(score<=10){
System.out.println("进决赛了");
if(sex.equals("男")){ // 用于字符串的比较
System.out.println("进男子组");
}else{
System.out.println("进女子组");
}
}
}
}
选择语句
switch语句
/*switch语句格式:
* switch(表达式){
* case 值1:
* 语句体1;
* break;
* case 值2:
* 语句体1;
* break;
* ......
* default:
* 语句体n+1;
* break;
* }
*
* 注:表达式只可以是 byte,short,int,char;jdk5以后可以是枚举,jdk7以后可以是字符串;
*
* 执行流程:
* 1.计算表达式的值;
* 2.将得到的值依次与case后的值进行匹配,一旦匹配成功则执行相应的语句体,遇到break则结束;
* 3.若是都不匹配,则执行语句体n+1,遇到break则结束;
*/
循环结构
for循环
package Test3;
/*
* for循环语句的格式:
* for(初始化语句;判断条件语句;控制条件语句){
* 循环体语句;
* }
*
* 执行流程:
* 1.执行初始化语句;
* 2.执行判断条件语句;
* 3.执行循环体语句;
* 4.执行控制条件语句;
* 5.回到2在开始执行,直至不符合控制条件语句.
*
*/
public class ForDemo {
public static void main(String[] args) {
int sum = 0;
for(int i=1; i<=10;i++){
sum+=i;
}
System.out.println("sum:"+sum);
}
}
while循环
package Test3;
/*
* while循环语句的格式:
* while(判断条件语句){
* 循环体语句;
* 控制条件语句;
* }
* 执行流程:
* 1.执行判断条件语句;
* 2.执行循环体语句;
* 3.执行控制条件语句;
* 4.回到1在开始执行,直至不符合控制条件语句.
*
*/
public class WhileDemo {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while(i<=10){
sum+=i;
i++;
}
System.out.println("sum:"+sum);
}
}
do…while循环
package Test3;
/*
* do...while循环语句的格式:
* do{
* 循环体语句;
* 控制条件语句;
* }while(判断条件语句);
*
* 执行流程:
* 1.执行循环体语句;
* 2.执行控制条件语句;
* 3.执行判断条件语句;
* 4.回到1在开始执行,直至不符合控制条件语句.
*
*/
public class DoWhileDemo {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do{
sum+=i;
i++;
}while(i<=10);
System.out.println("sum:"+sum);
}
}
三种循环体的区别
- do…while循环至少可以执行一次循环体,for和while循环只有在判断条件成立才可以执行循环体
- for循环结束后初始化的变量不能继续使用,而while循环结束后初始化的变量可以继续使用
package Test3;
/*
* for循环与while循环的区别
*
*/
public class CompareDemo {
public static void main(String[] args) {
for(int x=1;x<=5;++x){
System.out.println("hello");
}
// System.out.println("x:"+x);
System.out.println(".................");
int y = 1;
while(y<=5){
System.out.println("world");
y++;
}
System.out.println("y:"+y);
}
}