循环结构
1 switch语句的格式?针对格式的解释?以及注意事项?
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句
表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
注意事项:
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示
特殊情况:
case就可以把值固定
C:break可以省略吗?
可以省略,但是结果可能不是我们想要的
会出现一个现象:case穿透
最终我们建议不要省略
D:default一定要在最后吗?
不是,可以在任意位置 但是建议在最后
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
2 看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
y=5
3 根据输入的值,判断是星期几 (分别用if语句和switch语句实现)
输入:1
输出:星期1
import java.util.Scanner;
public class Week {
public static void main(String[] args) {
// 获取录入的一个数字
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
int weekday = sc.nextInt();
// 输出相应的星期数
switch(weekday){
case 1:
System.out.println("星期1");
break;
case 2:
System.out.println("星期2");
break;
case 3:
System.out.println("星期3");
break;
case 4:
System.out.println("星期4");
break;
case 5:
System.out.println("星期5");
break;
case 6:
System.out.println("星期6");
break;
case 7:
System.out.println("星期7");
break;
default:
System.out.println("请输入有效的数字");
}
}
}
import java.util.Scanner;
public class Week_ {
public static void main(String[] args) {
// 获取录入的一个数字
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
int weekday = sc.nextInt();
// 输出相应的星期数
if(weekday==1) {
System.out.println("星期1");
}else if(weekday==2) {
System.out.println("星期2");
}else if(weekday==3) {
System.out.println("星期3");
}else if(weekday==4) {
System.out.println("星期4");
}else if(weekday==5) {
System.out.println("星期5");
}else if(weekday==6) {
System.out.println("星期6");
}else if(weekday==7) {
System.out.println("星期7");
}else {
System.out.println("请输入有效的数字");
}
}
}
4 for循环的格式?要能看懂执行流程
用for循环完成如下案例
求和
// 求和
public class Sum {
public static void main(String[] args) {
int sum = 0;
for (int i=0;i<10;i++) {
sum += i;
}
System.out.println(sum);
}
}
求偶数和
// 偶数
public class Even {
public static void main(String[] args) {
int sum = 0;
for (int i=0;i<10;i++) {
if(i%2 == 0) {
sum += i;
}
}
System.out.println(sum);
}
}
求奇数和
// 奇数
public class Odd {
public static void main(String[] args) {
int sum = 0;
for (int i=0;i<10;i++) {
if(i%2 == 0) {
continue;
}
sum += i;
}
System.out.println(sum);
}
}
打印水仙花数
// 打印水仙花数
public class Print {
public static void main(String[] args) {
int m;
System.out.print("所有的水仙花数为:");
for (int n = 100; n < 1000; n++) {
// 三位数,各位数字的立方和等于自身
m = (int) Math.pow(n / 100, 3) + (int) Math.pow(n / 10 % 10, 3) + (int) Math.pow(n % 10, 3);
if (n == m) {
System.out.print(n + " ");
}
}
}
}
统计水仙花数
// 统计水仙花数
public class Count {
public static void main(String[] args) {
int m;
int count = 0;
System.out.print("所有的水仙花数为:");
for (int n = 100; n < 1000; n++) {
// 三位数,各位数字的立方和等于自身
m = (int) Math.pow(n / 100, 3) + (int) Math.pow(n / 10 % 10, 3) + (int) Math.pow(n % 10, 3);
if (n == m) {
System.out.print(n + " ");
count++;
}
}
System.out.println("水仙花数共有:"+count+"个");
}
}
九九乘法表
// 九九乘法表
public class Table {
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)+" ");
}
System.out.println();
}
}
}
5 while循环的格式?要能看懂执行流程
用while循环完成如下案例
求和
// 求和
public class Sum_ {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while(i < 10) {
i++;
sum += i;
}
System.out.println(sum);
}
}
纸张折叠成珠穆朗玛峰高度的次数
// 纸张折叠成珠穆朗玛峰高度的次数
public class Number {
public static void main(String[] args) {
int i = 0;
double sum = 0.01;
while(sum < 8848) {
i++;
sum *= 2;
}
System.out.println(i);
System.out.println(sum);
}
}
6 break,continue和return分别有什么用?
break:结束循环
continue: 结束本次循环后边语句不执行,进入下一循环
return:返回或终止执行某一段程序