default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
可以, 不可以, JDK7以后可以是String
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//录入数据
System.out.println("请输入你要判断的字符串:");
String s = sc.nextLine();
switch(s) {
case "hello":
System.out.println("你输入的是hello");
break;
case "world":
System.out.println("你输入的是world");
break;
case "java":
System.out.println("你输入的是java");
break;
default:
System.out.println("不清楚你输入了什么,估计只有你自己知道吧!");
break;
}
}
C:如果没有匹配,就执行default的语句体n+1。
A:键盘录入一个数字(1-7),输出对应的星期几。
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//控制键盘录入数据
System.out.println("请输入一个数据(1-7):");
int week = sc.nextInt(); //3
//switch判断语句
switch(week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数据有误");
//break;
}
}
D:根据给定的月份,输出对应的季节
switch(month) {
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("秋季");
break;
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
default:
System.out.println("你输入的月份有问题");
}
class SwitchDemo {
public static void main(String[] args) {
//创建键盘输入入对象
Scanner sc = new Scanner(System.in);
//控制键盘录入数据
System.out.println("请输入一个整数(1-7):");
int week = sc.nextInt(); //3
//switch判断语句
switch(week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数据有误");
break;
}
}
}
(1)有三种:for,while,do...while
(2)for循环语句
A:格式
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句
如果这里是true,就继续
如果这里是false,循环就结束
c:执行循环体语句
d:执行控制条件语句
e:回到b
B:注意事项
a:判断条件语句无论简单还是复杂,结果是boolean类型
b:循环体语句如果是一条,可以省略大括号,但是不建议
c:有分号就没有左大括号,有左大括号就没有分号
C:案例
a:输出10次HelloWorld
b:输出1-10的数据
c:输出10-1的数据
d:求1-10的和
e:求1-100的和,求1-100的偶数和,求1-100的奇数和
f:求5的阶乘
g:在控制台打印水仙花数
public static void main(String[] args) {
// 需求:在控制台输出100 -100之间所有的”水仙花数”
for (int i = 100; i < 1000; i++) {
int ge = i / 1 % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
if (i == ge*ge*ge + shi*shi*shi + bai*bai*bai) {
System.out.println(i + "是水仙花数");
}
}
}
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
public static void main(String[] args) {
//求5的阶乘
int jc = 1;
//x可以直接从2开始
for(int x=2; x<=5; x++) {
jc *=x;
}
System.out.println("1-5的阶乘是:"+jc);
}
/*
我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。
请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
*/
public static void main(String[] args) {
//定义一个统计变量,默认值是0
int count = 0;
//最高山峰是珠穆朗玛峰:8848m这是最终的厚度
//我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
//为了简单,我把0.01变成1,同理8848就变成了884800
int end = 884800;
int start = 1;
while(start
public static void main(String[] args) {
int x = 3;
while(x < 3) {
System.out.println("我爱范冰冰");
x++;
}
System.out.println("--------------");
int y = 3;
do {
System.out.println("我爱范冰冰");
y++;
}while(y < 3);
}
public static void main(String[] args) {
//打印99乘法表
for (int x = 1; x <= 9; x++) {
for (int y = 1; y <= x; y++) {
System.out.print(y + "*" + x + "=" + y * x + "\t");
}
System.out.println();
}
}
//跳出单层循环
for(int x=0; x<10; x++) {
if(x == 3) {
break;
}
System.out.println("HelloWorld");
}