🏡个人主页 :@ 守夜人st
🚀系列专栏:Java
…持续更新中敬请关注…
🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点
✈️推荐一款模拟面试,刷题,从基础走向大场面试👉 开启你的刷题之路吧
活动地址:CSDN21天学习挑战赛
控制语句
控制语句的出现可以让我们的程序具有逻辑性和条理性。
控制语句包括哪几类?
选择语句
循环语句
跳转语句
选择语句:也可以叫做分支语句
if语句
if 语句的语法格式:
第一种写法:
if(布尔表达式){
Java语句;
}
注意:当分支中只有一个大括号{}时,{}可以省略,但是为了代码的可读性,不建议省略。
第二种写法:
if(布尔表达式){ //分支1
Java语句;
}else{ //分支2
Java语句;
}
注意:对于if语句来说,在任何情况下只能有一个分支执行,不可能存在两个或多个分支执行,,只要有一个分支执行了,if语句也就结束了。
第三种写法:
if(布尔表达式1){
Java语句;
}else if(布尔表达式2){
Java语句;
}else if(布尔表达式3){
Java语句;
}、、、
布尔表达式结果为true才能执行,且要按照从上至下的顺序执行,结果为false则跳到下一个分支判断。
第四种写法:
if(布尔表达式1){
Java语句;
}else if(布尔表达式2){
Java语句;
}else if(布尔表达式3){
Java语句;
}、、、else{
Java语句;
}
分析if语句的时候可以由外至内,不管语句如何嵌套,由外至内才能分析清楚代码块所实现的功能。
案例分析
package com.shouyerenst;
import java.util.Scanner;
public class IfTest {
/*
业务要求:
1.从键盘上键入接收一个人的年龄
2.年龄要求为[0 - 150],其他值表示非法,需要提示非法信息
3.根据人的年龄来动态判断这个人属于生命的那个阶段?
[0-5]婴幼儿
[6-10]少儿
[11-18]少年
[19-35]青年
[36-55]中年
[56-150]老年
4.请使用if语句完成上述业务逻辑
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入年龄:");
int age = s.nextInt();
//初始代码块
/* if(age < 0 || age > 150){
System.out.println("对不起,您输入的年龄不合法");
}else {
//System.out.println("输入年龄合法");
if (age <= 5){
System.out.println("婴幼儿");
}else if (age <=10){
System.out.println("少儿");
}else if (age <= 18){
System.out.println("少年");
}else if (age <= 35){
System.out.println("青年");
}else if (age <= 55){
System.out.println("中年");
}else {
System.out.println("老年");
}
}*/
//初次改良
/*if (age < 0 || age > 150) {
System.out.println("对不起,您输入的年龄不合法");
} else if (age <= 5) {
System.out.println("婴幼儿");
} else if (age <= 10) {
System.out.println("少儿");
} else if (age <= 18) {
System.out.println("少年");
} else if (age <= 35) {
System.out.println("青年");
} else if (age <= 55) {
System.out.println("中年");
} else {
System.out.println("老年");
}*/
//再次改良
String str = "老年";
if (age < 0 || age > 150) {
System.out.println("对不起,您输入的年龄不合法");
return;
} else if (age <= 5) {
str = "婴幼儿";
} else if (age <= 10) {
str = "少儿";
} else if (age <= 18) {
str = "少年";
} else if (age <= 35) {
str = "青年";
} else if (age <= 55) {
str = "中年";
} else {
str = "老年";
}
System.out.println(str);
}
}
要点:
- break;语句不是必须的,default语句也不是必须的。
- switch语句支持String和int类型,JDK8之前不支持String。
- switch语句执行原理:那”值“与”值1“比较如果相同,则执行该分支下的Java语句,遇到break;语句,switch语句结束。
- 如果”值“与”值1“不相等,则会继续向下与”值2“比较,遇到break语句switch就结束了
- 如果一个分支被执行但是没有break语句,,就会继续执行下一个分支,直到遇到break语句,这也就是case穿透现象。
- 所有的case都没有匹配成功,最后的default分支会被执行。
switch语句
语法格式:
switch(){
case 值1:
java语句;
、、、
break;
}case 值2:
java语句;
、、、
break;
}case 值3:
java语句;
、、、
break;
default:
java语句;
}
案例分析:
package com.shouyerenst;
import java.util.Scanner;
/*具体案例
1.系统接收一个学生的考试成绩,根据考试成绩输出对应等级
2.等级:
优:[90——100]
良:[80——90)
中:[70——80)
及格:[60——70)
不及格:[0——60)
要求成绩是一个合法的数字在[0——100]之间,可以带小数
使用switch语句完成
*/
public class switchTest {
public static void main(String[] args) {
System.out.print("请输入学生成绩:");
Scanner s = new Scanner(System.in);
double score = s.nextDouble();
if(score < 0 || score >= 100){
System.out.println("您输入的成绩不合法");
return;
}
int grade = (int) (score / 10);
String str = "不及格";
switch (grade){
case 10: case 9:
str = "优";
break;
case 8:
str = "良";
break;
case 7:
str = "中";
break;
case 6:
str = "及格";
}
System.out.println("该学生的成绩为:"+str);
}
}
算法对程序员来说及其重要,语言和开发平台不断变化,但是万变不离其宗的是那些算法和理论,刷算法最最最直白的原因就是找一个好的工作,那刷题一定是必不可少的
现在算法刷题平台还是蛮多的,给大家介绍一个我认为与大厂关联最深的平台——牛客网 跳转链接