概述
switch语句
一、switch语句格式:
switch(表达式){
case 值1 :
语句体1 ;
break;
case 值2:
语句体2;
break;
......
default:
语句体n+1 ;
[break;] //可选的break
}
/*表达式的取值为byte、short、int、char,JDK5以后可以是枚举,
JDK7以后可以是String;case:后面跟的是要和表达式进行比较的值;
break:表示中断,结束的意思,用来结束switch语句;
default:表示所有情况都不匹配的时候,就执行该处的内容,
和if语句的else相似。*/
代码演示:
//利用键盘键入一个星期数,输出对应的星期一、星期二......
import java.until.Scanner;
public class weekday{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
//提示并键入一个星期数
System.out.println("请输入一个星期数:");
int wd = sc.nextInt();
switch(wd ){
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("请输入一个1~7的数字来代表星期数");
}
System.out.println("结束");
}
}
二、switch语句执行流程图:
三、case穿透:
case语句之后无break时,下一个case将继续执行,直到遇到break时接受break,或者整体switch结束;或者可以省略相同的case情况
范例:
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("秋季");
break;
default:
System.out.println("你输入的月份有误");
}
循环语句
一、for循环语句
1)循环结构组成:
语句 | 作用 |
---|---|
初始化语句 | 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样 |
条件判断语句 | 用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去 |
循环体语句 | 用于表示循环反复执行的内容,简单说就是循环反复执行的事情 |
条件控制语句 | 用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去 |
2)循环结构对应的语法:
语句 | 语法 |
---|---|
初始化条件 | 这里可以是一条或者多条语句,这些语句可以完成一些初始化操作 |
条件判断语句 | 使用一个结果值为boolean类型的表达式,例如a<3 |
循环体语句 | 可以是任意语句,这些语句将反复执行 |
条件控制语句 | 通常是使用一条语句来改变变量的值,从而控制循环是否继续向下执行的效果,常见i++这样的操作 |
3)for循环语句格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}/*先执行初始化语句,再执行条件判断语句,
看其结果是true还是false,如果是false循环结束,
如果是true继续执行,接着执行循环体语句,
最后执行条件控制语句,以上完成之后,执行条件判断语句,
看其结果是true还是false.......*/
例子:
for(int i = 0;i<5;i++){
System.out.println("循环");
}
4)for语句执行流程图:
5)案例分析
输出1-5和5-1的数据
范例:
public class Xunhuan{
public static void main(String[]ags){
for(int i = 1;i<=5;i++){
System.out.println(i);
}
for(int i =5;i>=1;i--){
System.out.println(i);
}
}
}
6)案例分析
求1-5之间的数据和,并把求和结果在控制台输出
范例:
public class Xunhuan{
public static void main(String[]ags){
int sum = 0;
for(int i = 1; i<=5;i++)//在循环初始化条件语句中声明sum,在该语句外无法使用sum
{
sum+=i;
}
System.out.println("1~5之间的数据和是"+sum);
}
}
7)案例分析
求1-100之间的偶数和,并把求和结果在控制台输出
范例:
public class Xunhuan{
public static void main(String[]ags){
int sum = 0;
for(int i = 1; i<=100;i++)
{
if(i%2==0){
sum+=i;
}
}
System.out.println("1~100之间的偶数和是"+sum);
}
}
8)案例分析:水仙花数
水仙花数是一个三位数,该三位数的个位、十位、百位的数字立方和等于原数,如371=33+73+1^3是水仙花数,求100~999的水仙花数
/*任意数字的指定位上的数值如何求:先使用整除操作将要求的数字移动到个位上,再使用取余操作取出最后一位上的值,如求371的十位=371/10%10*/
范例:
public class Xunhuan{
public static void main(String[]ags){
for(int i = 100; i<1000;i++)
{
int a = i%10;//计算个位
int b = i/10/10%10;//计算百位
int c = i/10%10;//计算十位
if(a*a*a + b*b*b + c*c*c == i){
System.out.println(i+"是一个水仙花数");
}
}
}
}
二、while循环语句
1)while循环语句格式:
初始化语句
while(条件判断语句){
循环体语句;
条件控制语句;
}/*先执行初始化语句,再执行条件判断语句,
看其结果是true还是false,如果是false循环结束,
如果是true继续执行,接着执行循环体语句,
最后执行条件控制语句,以上完成之后,执行条件判断语句,
看其结果是true还是false.......*/
2)while语句执行流程图:
3)案例分析:
世界最高山峰是珠穆朗玛峰(8844.43m = 8844430mm),假如我有一张足够大的纸,它的厚度是0.1mm,请问我折叠多少次,可以折成珠穆朗玛峰的
高度?
范例:
public class Xunhuan{
public static void main(String[]ags){
double Zmout = 8844430.0; //珠穆朗玛峰的高度
int count = 0; //折叠的次数
double sum = 0.1; //纸张累计厚度
while(sum<Zmout){
sum*=2;
count++;
}
System.out.println("折叠的次数是"+count);
}
}
/*for循环适合次数明确的情况下,
while适合次数不明确的情况下,
或者用于求次数的情况下*/
三、do…while循环语句
1)do…while循环语句格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
//do…while总有一次执行,和while与for还是有一点区别的
2)do…while语句执行流程图:
四、三种循环的区别
1)强制停止死循环:ctrl+c,while的死循环是最常用的
2)三种循环的区别:for循环和while循环先判断条件是否成立,然后决定是否执行循环体;do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
3)for和while的区别:条件控制语句的自增变量,对于for来说是归属于for循环的语法结构中的,在for循环结束后,就不能再次被访问了;对于while循环来说不归属其语法结构,在while循环结束后,该变量还可以继续使用。
五、跳转控制语句
1)跳过某次循环内容的执行:continue、还是会继续执行条件控制语句的
2)种植循环体内容的执行:break
3)注意:使用时是基于条件判断语句的
六、Random
1)Random的作用和使用步骤:作用:用于产生一个随机数;使用步骤:导包、创建对象、获取随机数
2)代码演示:
//下面这个格式,除了r,number,10可以变,其他都不允许变
import java.util.Random;
Random r = new Random();
int number = r.nextInt(10);
//10表示获取数据的范围(0,10]包括0,不包括10
3)案例分析:猜数字
程序自动生成一个1~100之间的数字,使用程序实现猜出这个数字是多少;如果猜的数字比真实数字大,提示你猜的数据大了,如果猜的数字比真实数字小,提示你猜的数据小了,如果猜对了,提示你猜中了。
范例:
import java.util.Random;
import java.util.Scanner;
public class Suiji{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
Random r = new Random();
int number = r.nextInt(10);
System.out.println("Guess a number");
int g = sc.nextInt(10);
while(g != number) {
if(g>number){
System.out.println("Smaller than you");
}else if(g<number){
System.out.println("Bigger than you");
}
g = sc.nextInt();
}
if(g == number){
System.out.println("Bingo");
}
}
}
最后
以上就是明亮红酒为你收集整理的JavaSE基础之 switch&循环语句的全部内容,希望文章能够帮你解决JavaSE基础之 switch&循环语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复