switch语句
switch语句格式
switch (表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程
首先计算出表达式的值
其,和case后面的值作比较,一旦有有对应的值,就会执行相应的语句,在执行过程中遇到break就会结束。
最后,如果所有的case和表达式都不匹配,就会执行default后的语句,程序结束。
实例:
一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
public class ForMonth {
public static void main(String[] args) {
Scanner scanner = new Scanner(Trade Confidently.);
System.out.println("请输入月份:");
int month = scanner.nextInt();
switch (month){
case 1:
case 2:
case 12:
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("你输入的季节属于秋季");
default:
System.out.println("你过的季节有"+month+"月份");
}
}
}
注意事项
如果switch后的表达式与对应的case语句后面没有break语句,就会依次向下执行,直到碰到break语句才会结束。
for循环
语句格式
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。
for语句的第一部分通常是用于对计数器初始化;第二部分给出每次新一轮循环执行前要检测的循环条件;第三部分指示如何和更新计数器。
当for语句的第一部分生命了一个变量之后,这个变量的作用域就为for循环的整个循环体。
如果在for循环语句内定义一个变量,这个变量就不能在循环体之外使用。因此,如果希望在for循环体之外循环计数器的最终值,就要确保这个变量在循环语句的前面且在外部声明!
执行流程
首先执行初始化语句
执行条件判断语句;如果判断条件为true,继续执行;如果判断条件为false,循环结束
执行循环体语句
执行条件控制语句
回到2继续,重复上述步骤
实例:
求1-5之间的数据和,并把求和结果在控制台输出
public class ForSum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <=5; i++) {
sum+=i;
}
System.out.println(sum);
}
}
while循环
语句格式
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程
首先执行初始化语句
执行条件判断语句,为false循环结束,为true继续执行
执行循环体语句
执行条件控制语句
回到2继续执行直到循环结束。
实例:
世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
* 请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
public class CalculateHeight {
public static void main(String[] args) {
int count = 0;
double paperHeight = 0.1;
double QomolangmaHeight = 8844430;
while (QomolangmaHeight >= paperHeight){
paperHeight *= 2;
count++;
}
System.out.println(count);
}
}
do....while循环
循环格式
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程
首先执行初始化语句
执行循环体语句
执行条件控制语句
执行条件判断语句,为false循环结束,为true返回到循环体语句继续执行。
实例:
/**
* //需求:在控制台输出5次"HelloWorld"
* //for循环实现
*/
public class DoWhile {
public static void main(String[] args) {
for (int i = 0; i <5 ; i++) {
System.out.println("hello world");
}
System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$");
int i=0;
do{
System.out.println("hello world");
i++;
}while (i<5);
}
}
for、while和do...while三中的区别
for循环和while循环先判断条件是否成立,然后再决定是否执行循环体(先判断后行)
do...while循环是先执行一次循环体,然后再判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
跳转控制语句
break跳出循环,结束循环
continue跳出本次循环,继续下次循环
break和continue只能在循环中进行使用,单独使用无任何意义。
循环嵌套
在循环中,继续嵌套循环
实例:
/**
* 打印输出九九乘法表
*/
public class JiuJiuChengFaBiao {
public static void main(String[] args) {
for(int i = 1 ; i <= 9;i ++){
for(int j = 1 ; j <= i ; j++){
System.out.print(j + " * " + i + " = " + (i*j) +"\t");
}
System.out.println();
}
}
}
结果: