java基础语法之switch-case
2021/5/2 20:28:45
本文主要是介绍java基础语法之switch-case,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java基础语法之switch-case
/*
分支结构之二:switch-case
1、格式
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
……
default:
执行语句n;
//break;
}
说明:
①根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,
直到遇到break关键字或此switch-case结构末尾结束为止。
②break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构。
③switch结构中的表达式,只能是如下的6种数据结构之一:byte\short\char\int\枚举类型(jdk5.0新增)\String(jdk7.0新增)
④case之后只能声明常量。不能声明范围。
⑤break关键字是可选的。
⑥default:相当于if-else结构中的else类似,default结构是可选的,而且位置是灵活的。
*/
import java.util.Scanner;
class SwitchCaseTest {
public static void main(String[] args)
{
int number=2;
switch(number){
case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; case 3: System.out.println("three"); break; default: System.out.println("four"); break; }
/*练习1:
使用switch把小写类型的char型转为大写。只转换a,b,c,d,e,其他的输出"other".
提示:String word=scan.next();char()=word.charAt(0);switch©{
*/
/*System.out.println(“请任意输入一个小写字母”);
Scanner scan=new Scanner(System.in);
String word=scan.next();
char a=word.charAt(0);
switch(a){
case ‘a’:
System.out.println(‘A’);
}
*/
/*练习2:
对学生的成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。
说明:如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
*/
/*System.out.println(“请输入您的成绩”);
Scanner score=new Scanner(System.in);
int score1=score.nextInt();
switch(score1/10){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println(“不合格”);
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println(“合格”);
break;
}
//更优解决方案:
/switch(score1/60){
case 0:
System.out.println(“不合格”);
break;
case 1:
System.out.println(“合格”);
break;/
//根据用于指定月份,打印该月份的所属的季节。
//3,4,5春季6,7,8夏季9,10,11秋季12,1,2冬季
/*System.out.println(“请输入现在属于几月份(用数字表示即可)”);
int season=score.nextInt();
switch(season/3){
case 1:
System.out.println(“春季”);
break;
case 2:
System.out.println(“夏季”);
break;
case 3:
System.out.println(“秋季”);
default:
System.out.println(“冬季”);
}
//编写程序:从键盘输入2019年的“month”和“day”,要求通过程序输出输入的日期为2019年的第几天。
System.out.println(“请输入2019年的month:”);
int month=score.nextInt();
System.out.println(“请输入2019年的day:”);
int day=score.nextInt();
//定义一个变量来保存总天数 /*方式一:冗余 int sumDays=0; if(month==1){ sumDays=day; }else if(month==2){ sumDays=31+day; }else if(month==3){ sumDays=31+28+day; }else if(month==4){ sumDays=31+28+31+day; }else if(month==4){ sumDays=31+28+31+day; …… else{month==12 sumDays=……+day; } */ //方式二:冗余 /*switch(month){ case 1: sumDays=day; break; case 2: sumDays=31+day; break; case 3: sumDays=31+28+day; break; …… } */ //说明:break在switch-case中是可选的 /*int sumDays=0; switch(month){ case 12: sumDays+=31; case 11: sumDays+=30; case 10: sumDays+=31; case 9: sumDays+=30; case 8: sumDays+=31; case 7: sumDays+=31; case 6: sumDays+=30; case 5: sumDays+=31; case 4: sumDays+=30; case 3: sumDays+=31; case 2: sumDays+=28; case 1: sumDays+=day; } System.out.println("2019年"+month+"月"+day+"日是当年的第"+sumDays+"天"); */
//练习从键盘分别输入年月日,判断这一天是当年的第几天
//注:判断一年是否闰年的标准:
//1、可以被4整除,但不可被100整除或可以被400整除*/
/*Scanner scan=new Scanner(System.in);
System.out.println(“请输入year”);
int year=scan.nextInt();
System.out.println(“请输入month”);
int month=scan.nextInt();
System.out.println(“请输入day”);
int day=scan.nextInt();
int sumDays=0;
switch(month){
case 12:
sumDays+=30;
case 11:
sumDays+=31;
case 10:
sumDays+=30;
case 9:
sumDays+=31;
case 8:
sumDays+=31;
case 7:
sumDays+=30;
case 6:
sumDays+=31;
case 5:
sumDays+=30;
case 4:
sumDays+=31;
case 3:
//sumDays+=28
//判断year是否是闰年
if(year/40&&year/100!=0||year%4000){
sumDays+=29;
}else{
sumDays+=28;
}
case 2:
sumDays+=31;
case 1:
sumDays+=day;
}
System.out.println(year+“年”+month+“月”+day+“日是当年的第”+sumDays+“天”);
*/
//说明:凡是可以使用switch-case的结构,都可以转换为if-else.反之,不成立。
//当我们写分支结构时,当发现即可以使用switch-case(同时,switch中表达式的取值情况不太多),
//又可以使用if-else时,我们优先选择switch-case.原因:switch-case执行效率稍高。
/*
循环结构:在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类:for循环、while循环、do-while循环
循环语句的四个组成部分:初始化部分、循环条件部分、循环体部分、迭代部分
一、for循环的结构
for(①;②;④){
③
}
执行过程:①-②-③-④-②-③-④-……-②
*/
for(int i=1;i<6;i++){//i=1,2,3,4,5
System.out.println(“Hello World!”);
}
//练习
/int num=1;
for(System.out.println(‘a’);num<=3;System.out.println(‘c’),num++){
System.out.println(‘b’);
}//abcbcbc
//练习:遍历100以内的偶数,输出所有偶数的和,输出偶数的个数
int sum=0;//记录所有偶数的和
int count=0;//记录偶数的个数
for (int num1=1;num1<=100;num1++){
if(num1%2==0){
System.out.println(num1);
count++;
sum+=num1;
}
}
System.out.println(sum);
System.out.println(count);/
//编写程序从1循环到150;并在每一行打印一个值,
//另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”
for(int num=1;num<=150;num++){
System.out.print(num+" ");
if(num%30){
System.out.print("foo ");
}
if(num%50){
System.out.print("biz ");
}
if(num%7==0){
System.out.print("baz ");
}
System.out.println();//换行
}
/*
1、switch后面使用的表达式可以是哪些数据类型的?
byte、short、char、int、枚举类型、string类型
2、谈谈你对三元运算符、if-else和switch-case结构使用场景的认识。
3、如何从控制台获取string和int型变量,并输出?使用代码实现
1、import java.util.Scanner;//导包,写在类的上面
2、Scanner scan=new Scanner(System.in);//实例化
3、string value=scan.next();
int value1=scan.nextInt();
4、使用for循环遍历100以内的奇数,并计算所有奇数的和并输出。
*/
int result=0;
for(int num=1;num<=100;num++){
if(num%2!=0){
System.out.println(num);
result+=num;
}
}
System.out.println(result);
}
}
这篇关于java基础语法之switch-case的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解