java的基本流程控制语句及例子

java的基本流程控制语句及例子

public class Flow {

/*
* 1.顺序结构(最基础的)
* 从上往下,依次执行。
* 2.选择结构:按照不同的选择,执行不同的代码
* 3.循环结构:代码的重复多次的执行
*
*
* 4.if语句
* 格式1:
* if(比较表达式){
* 语句体;(表达式1)
* }
* 执行流程:
* 判断比较表达式的值,
* 如果是true,就执行语句体。
* 如果是false,就不执行语句体。
* 如果语句体只有一句,可以不写大括号。但是,不建议。
* 格式2:
* if(比较表达式){
* 语句体1;
* }else{
* 语句体2;
* }
* 执行流程:
* 判断比较表达式的值,
* 如果是true,就执行语句体1。
* 如果是false,就执行语句体2。
*
* 格式3:
* if(比较表达式1){
* 语句体1;
* }else if(比较表达式2){
* 语句体2;
* }
* ...
* else{
* 语句体n;
* }
* 执行流程:
* 判断比较表达式1的值,
* 如果是true,就执行语句体1。
* 如果是false,判断比较表达式2的值,
* 如果是true,就执行语句体2。
* 如果是false,判断比较表达式3的值,
* .....
* 如果都不满足,就执行语句体n;
* 注意事项:
* 1.比较表达式不论有多复杂,最终的结果只能是boolean类型
* 2.if语句控制的语句体如果是一条语句,是可以省略大括号的,如果是多条,则不能省略。
* 建议:永远不要省略大括号。
* 3.一个if语句,只能执行一个括号中的语句体。
* 4.else 后面如果没有if,是不会出现比较表达式的。(比较表达式只能在if后面出现)
练习:
根据月份输出相应 的季节:
2-4 春 5-7 夏 8-10 秋 11-1 冬
public static void main(String[] args) {
System.out.println("请输入月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
if(month>12 || month<1){//排除掉错误的输入
System.out.println("输入的月份有误");
}else{
//2-4 春 5-7 夏 8-10 秋 11-1 冬
if(month>=2 &&month<=4){
System.out.println("春");
}else if(month>=5 &&month<=7){
System.out.println("夏");
}else if(month>=8 &&month<=10){
System.out.println("秋");
}else{
System.out.println("冬");
}
}
sc.close();
System.out.println("方法结束");
}
/**
* switch语句
* @author xinhulian
*
*/
public class TestSwitch {

/*
* 格式:
* switch(表达式){ //switch:关键字,表示这是一个switch语句。表达式:byte、short、int、char、字符串、枚举(后面学)
* case 值1: //case后面的值就是要和表达式进行比较的值。只有完全一致才算比较成功
* 语句体1;
* break; //break:表示如果程序执行到这里,就中断了,跳出switch语句。
* case 值2:
* 语句体2;
* break;
* ...
* case 值n:
* 语句体n;
* default: //default:如果所有的case的值和表达式都不匹配,就执行default下的语句。
* 语句体n+1;
* break;
* }
*
* 执行流程:
* 1.首先计算表达式的值
* 2.和每一个case进行匹配,如果有匹配的就执行对应的语句体,看到break就结束。
* 3.如果没有匹配项,就执行default的语句体。
*
* 注意事项:
* 1.case后只能跟常量,不能是变量。而且,多个case后面的值不能出现相同的值。
* 2.default是可以省略的,但是一般不省略。因为它的作用就是对不正确的情况给出提示。
* 在什么情况下可以省略呢?如果case就已经把选项固定,就可以省略。
* 3.break也是可以省略的,但是会出现case穿透。有时候我们可以利用case穿透。
* 4.default一定要放在最后吗?不一定,可以放在任何位置。但是建议放在最后。
* 5.switch语句的结束条件:
* 1.遇到break
* 2.执行到最后
*
* if语句和switch语句的应用场景:
* if: 针对boolean类型的判断
* 针对一个范围的判断
* 针对几个常量的判断
* switch:
* 针对几个常量的判断
* switch能干的是if一定能干,反之不然。
*/
public static void main(String[] args) {
int month = new Scanner(System.in).nextInt();
switch(month){//case穿透
case 1:
case 11:
case 12:
System.out.println("冬");
break;
case 2:
case 3:
case 4:
System.out.println("春");
break;
case 5:
case 6:
case 7:
System.out.println("夏");
break;
case 8:
case 9:
case 10:
System.out.println("秋");
break;
default:
System.out.println("没有匹配项");
break;//如果default是在switch语句大括号的最后,这个break可以省略。
}* 循环语句
* @author xinhulian
*
*/
public class Statement {

/*
* 1.for循环
* 2.while循环
* 3.do...while循环
*
* 循环语句的构成:
* 1.初始化语句 循环的基础条件
* 2.判断条件语句 决定是否进行循环(结果为boolean类型)
* 3.循环体语句 循环时执行的代码
* 4.控制条件语句 控制循环
*
* 一、for循环
* 格式:
* for(初始化语句;判断条件语句;控制条件语句){
* 循环体语句;
* }
* 执行流程:
* 1.执行初始化语句
* 2.执行条件判断语句
* 如果结果是true,就继续
* 如果结果是false,就结束循环
* 3.执行循环体语句
* 4.执行控制条件语句
* 5.回到第2步
* 二、while循环:
* 格式:
* 基本格式:
* while(条件判断语句){
* 循环体语句;
* }
*
* 扩展格式:
* 初始化语句;
* while(条件判断语句){
* 循环体语句;
* 控制条件语句;
* }
*
* for循环和while循环的区别:
* 1.使用上的区别:
* for循环的初始化的变量,在for循环结束以后,就不能再使用
* 但是while的可以继续使用。
* 2.理解上的区别:
* for循环适合一个范围的判断。循环多少次大概是有一个范围的。
* while适合次数不明确的。例如:电脑的循环使用。
* 三、do...while循环
* 基本格式:
* do{
* 循环体语句;
* }while(判断条件语句);
*
* 扩展格式:
* 初始化语句;
* do{
* 循环体语句;
* 控制条件语句;
* }while(判断条件语句);
* 可以断定:三种循环格式之间可以相互转换。
* 三者的区别:
* do...while循环至少要执行一次循环体。其他两种可以一次都不执行。
*
*
* ***使用循环要注意 **死循环**
* 1.一定要注意修改控制条件,否则容易出现死循环。
* 2.最简单的死循环:
* (1)for(;;){...}
* (2)while(true){...}
* (3)for(初始化语句;true;控制条件语句){循环体语句;}
*/
public static void main(String[] args) {
//1+...+100
int count1 = 0;
for(int i = 1;i<=100;i++){
count1 += i;//count = count+i;
}
System.out.println(count1);
int j = 1;
int count2 = 0;
while(j<=100){
count2+=j;
j++;
}
System.out.println(j);
System.out.println(count2);
int k = 1;
int count3 = 0;
do{
count3+=k;
k++;
}while(k<=100);
System.out.println(count3)
.
for (int i = 1; i >0; i++) {
System.out.println(i);
} //输出10次你好
for(int i=1;i<=10;i++){
System.out.println("你好");
}


你可能感兴趣的:(java,java基本流程控制,流程控制,java)