JavaSE核心基础-流程语句-笔记

发布时间:2024年01月25日

1.如何实现键盘录入数据
1)导包 ? import java.util.Scanner;
2)创建键盘录入对象Scanner ? Scanner ?input = new Scanner(System.in);
3)调用方法接收数据 ? 数据类型 ?变量名 = input.nextXXX();

2.键盘录入数据案例 - 获得字符串
//导包
import java.util.Scanner;
public class Test01 {?
? ? public static void main(String[] args) {
? ? ? ? //创建Scanner对象
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? //提示语句
? ? ? ? System.out.println("请输入一个字符串:");
? ? ? ? //输入内容
? ? ? ? String name = input.next();
? ? ? ? //显示内容
? ? ? ? System.out.println("输入的内容是:"+name);
? ? }
}

3.键盘录入数据案例 - 获得单个字符
//导包
import java.util.Scanner;
public class Test02 {?
? ? public static void main(String[] args) {
? ? ? ? //创建Scanner对象
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? //提示语句
? ? ? ? System.out.println("请输入一个字符串:");
? ? ? ? //输入内容
? ? ? ? char sex = input.next()charAt(0);
? ? ? ? //显示内容
? ? ? ? System.out.println("输入的内容是:"+sex);
? ? }
}

4.键盘录入数据案例 - 获得数字
//导包
import java.util.Scanner;
public class Test03 {?
? ? public static void main(String[] args) {
? ? ? ? //创建Scanner对象
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? //提示语句
? ? ? ? System.out.println("请输入整数:");
? ? ? ? //输入内容
? ? ? ? int num1=input.nextInt();
? ? ? ? //提示语句
? ? ? ? System.out.println("请输入一个小数:");
? ? ? ? //输入内容
? ? ? ? double num2=input.nextDouble();
? ? ? ? //显示内容
? ? ? ? System.out.println("输入的内容是:num1="+num1+",num2="+num2);
? ? }
}

5.流程控制语句分类
1)顺序结构:按照写代码的顺序 一次执行。
2)选择结构:根据条件的不同有选择的执行不同的代码。
3)循环结构:在一定条件下 反复执行某一块代码。
4)控制跳转语句:在一定的条件下会改变当前正在执行的程序。

6.if选择结构
①.最基本if选择结构
语法:
? ? if(关系表达式){
? ? ? ? 语句体;
? ? }
执行流程说明:
首先判断关系表达式看其结果是true还是false?
??? ?如果是true就执行语句体?
??? ?如果是false就不执行语句体?
【代码】
import java.util.Scanner;
public class Test04 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入小明的成绩:");
? ? ? ? int score = input.nextInt();
? ? ? ? if (score>95){
? ? ? ? ? ? System.out.println("奖励一个棒棒糖!");
? ? ? ? }
? ? ? ? System.out.println("程序结束!!!");
? ? }
}

②.if-else选择结构
语法:
? ? if(关系表达式) {?
? ? ? ?语句体1;?
? ? }else {?
? ? ? ?语句体2;?
? ? }
执行流程说明:
首先判断关系表达式看其结果是true还是false?
??? ?如果是true就执行语句体1?
??? ?如果是false就执行语句体2?
【代码】
import java.util.Scanner;
public class Test05 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入小明的成绩:");
? ? ? ? int score = input.nextInt();
? ? ? ? if (score>95){
? ? ? ? ? ? System.out.println("奖励一个棒棒糖!!");
? ? ? ? }else{
?? ??? ??? ?System.out.println("惩罚写代码!!");
?? ??? ?}
? ? ? ? System.out.println("程序结束!!!");
? ? }
}

③.多重if选择结构
语法:
? ? if (关系表达式1) {?
? ? ? ?执行语句1;
? ? } else if (关系表达式2) {
? ? ? ?执行语句2;?
? ? }
? ? ...?
? ? else if (关系表达式n) {
? ? ? ?执行语句n;?
? ? } else {?
? ? ? ?执行语句n+1;?
? ? }
执行流程说明:
首先判断关系表达式1看其结果是true还是false?
??? ?如果是true就执行语句体1?
??? ?如果是false就继续判断关系表达式2看其结果是true还是false?
??? ?如果是true就执行语句体2?
??? ?如果是false就继续判断关系表达式…看其结果是true还是false?
??? ?…
??? ?如果没有任何关系表达式为true,就执行语句体n+1。
【代码】
import java.util.Scanner;
public class Test06 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入小明的成绩:");
? ? ? ? int score = input.nextInt();
? ? ? ? if (score>=90){
? ? ? ? ? ? System.out.println("优秀!!!");
? ? ? ? }else if (score>=80 && score <90){
? ? ? ? ? ? System.out.println("良好!!!");
? ? ? ? }else if(score>=70 && score<80){
? ? ? ? ? ? System.out.println("中等!!!");
? ? ? ? }else if(score>=60 && score<70){
? ? ? ? ? ? System.out.println("及格!!!");
? ? ? ? }else{
? ? ? ? ? ? System.out.println("不及格!!!");
? ? ? ? }
? ? ? ? System.out.println("程序结束!!!");
? ? }
}

④.嵌套if选择结构
语法:
? ? if (关系表达式1) {?
? ? ? if(关系表达式2){
? ? ?? ? ?执行语句1; ? ?
? ? ? }else{
? ? ? ? ?执行语句2;
? ? ? }
? ? } else {?
? ? ? ? ?执行语句3;?
? ? }
执行流程说明:
?首先判断关系表达式1看其结果是true还是false?
??? ?如果是false执行执行语句3
??? ?如果是true进入到if内部执行关系表达式2
??? ?如果关系表达式2的结果是true执行执行语句1
??? ?如果关系表达式2的结果是false执行执行语句2
【代码】
import java.util.Scanner;
public class Test07 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入比赛时间:");
? ? ? ? int time=input.nextInt();
? ? ? ? if(time<15){//进入决赛
? ? ? ? ? ? System.out.println("请输入性别:");
? ? ? ? ? ? char sex=input.next().charAt(0);
? ? ? ? ? ? if (sex=='女'){
? ? ? ? ? ? ? ? System.out.println("进入女子组决赛!!!");
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? System.out.println("进入男子组决赛!!!");
? ? ? ? ? ? }
? ? ? ? }else{
? ? ? ? ? ? System.out.println("很遗憾,您没有进入决赛!!!");
? ? ? ? }
? ? ? ? System.out.println("程序结束!!!");
? ? }
}

小结:
1)基本if选择结构解决单一的判断问题。
2)if-else选择结构解决非此即彼的判断问题
3)多重if选择结构始终是同一个变量在不同的取值区间中得到不一样的结果
4)嵌套if选择结构是多条件判断,并且变量的个数大于一个,在解决嵌套if的时候要首先明确外层和内层分别判断的条件是什么

7.switch选择结构
语法:
? ? switch(表达式) {?
? ? ? ? case 常量值1:?
? ? ? ? ?? ? 语句体1;
? ? ? ? ?? ? break;?
? ? ? ? case 常量值2:?
? ? ? ? ?? ? 语句体2;?
? ? ? ? ?? ? break;?
? ? ? ? ? ?...?
? ? ? ? default:?
? ? ? ? ?? ? 语句体n+1;?
? ? ? ? ?? ? break;
? ? }
执行流程说明:
? ? ? ? ? 首先计算出表达式的值;
? ? ? ? ? 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束;
? ? ? ? ? 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
【代码】
import java.util.Scanner;
public class Test08 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入Java比赛名次:");
? ? ? ? int num=input.nextInt();
? ? ? ? switch (num){
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? System.out.println("奖励笔记本电脑一台!!!");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? System.out.println("奖励华为手机一部!!!");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? System.out.println("奖励移动硬盘一个!!!");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? System.out.println("奖励优盘一个!!!");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? System.out.println("什么奖励都没有!!!");
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? System.out.println("程序结束!!!");
? ? }
}

8.case穿透
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。
【代码】
import java.util.Scanner;
public class Test09 {
? ? public static void main(String[] args) {
? ? ? ? Scanner input=new Scanner(System.in);
? ? ? ? System.out.println("请输入Java比赛名次:");
? ? ? ? int num=input.nextInt();
? ? ? ? switch (num){
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? System.out.println("奖励笔记本电脑一台!!!");
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? System.out.println("奖励华为手机一部!!!");
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? System.out.println("奖励移动硬盘一个!!!");
? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? System.out.println("奖励优盘一个!!!");
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? System.out.println("什么奖励都没有!!!");
? ? ? ? }
? ? ? ? System.out.println("程序结束!!!");
? ? }
}
【注意】
上述程序中,执行case1后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接 运行完整体switch。 所以在写的时候要记得加上break。

小结:
1)switch选择结构表达式的数据类型是:int、short、byte、char、枚举,JDK7及以后也可以使用String类型。
2)由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。
3)case语句后只能是常量,不能是变量。
4)case语句的顺序可以不按照顺序,但通常情况建议按照顺序。

文章来源:https://blog.csdn.net/pinbodeshaonian/article/details/135833362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。