JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习

    技术2022-07-10  102

    JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习

    今天学习的三个点,键盘录入 分支结构和循环结构。感觉这些还是得通过实操大量题目后才便于理解,前期只听教师讲解和死背公式的话,运用时还是很懵懂的 Day03

    键盘录入

    在程序执行过程中,可以让用户输入些数据,把这些数据储存到变量中,之后根据需要可以把这些数据进行运算。

    录入步骤

    导包 在类上方申明语句import java.util.Scanner;

    创建录入对象 Scanner sc = new Scanner(System.in);

    获取录入的数据int num = sc.nextInt();

    举例

    用户录入两个整数,求出两个整数的和

    package Lianxi; import java.util.Scanner;//导包 public class Lianxi1 { public static void main(String[] args) { Scanner sca = new Scanner(System.in);//创建键盘录入对象 System.out.print("输入第一个数字:");//输入提示 int num1 = sca.nextInt();//调用nextInt()方法 接受用户录入的数据 System.out.print("输入第二个数字:"); int num2 = sca.nextInt(); int res = num1+num2;//把录入数据进行计算 System.out.print("两数的和为:"+res); } }

    分支结构

    程序在执行时可能面对不同的情况作出不同的准备,每一种情况都是一个分支,程序需要根据判断来选择运行哪一个分支。

    实现分支结构的格式

    if语句

    if语句 有三种表达式 特点是:代码多,执行少

    格式一

    ​ if(布尔类型的表达式){

    ​ 语句体();

    ​ }

    布尔类型的表达式:指的是判断符合哪个条件,必须是boolean类型的数据。

    语句体:表达的是选择执行某个情况.

    执行流程:

    ​ 计算布尔表达式的值,true或者false

    ​ 如果为true,就执行语句体

    ​ 如果为false,就不执行语句体

    格式二

    ​ if(布尔条件表达式){

    ​ 语句体1

    ​ }else{

    ​ 语句体2

    ​ }

    执行流程:

    ​ 计算布尔表达式的值,true或者false

    ​ 如果为true,执行语句体1

    ​ 如果为false,执行语句体2

    格式三

    ​ if(条件表达式1){

    ​ 语句体1

    ​ }else if(条件表达式2){

    ​ 语句体2

    ​ }else if(条件表达式3){

    ​ 语句体3

    ​ }…else{

    ​ 语句n

    ​ }

    执行流程:

    ​ 如果if后的条件表达式1的结果为true,那就执行语句体1结束分支

    ​ 如不满足就去判断之后的条件表达式2,如为true就执行语句体2 结束分支

    ​ 为false就判断条件表达式3,以此类推。。。。

    ​ 如果条件表达式都不满足就执行最后else的内容

    举例

    录入一个整数,如果是偶数就输出num是偶数,否则输出num是奇数

    package Chating; import java.util.Scanner; public class Ex { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请录入一个整数:"); int num = sc.nextInt(); if(num % 2 == 0) {//通过被2取余来判断是否为偶数 System.out.println(num + "是偶数"); }else { System.out.println(num + "是奇数"); } } }

    switch语句

    格式

    ​ switch(表达式){

    ​ case 常量1 :

    ​ 语句1;

    ​ break;

    ​ case 常量2:

    ​ 语句2;

    ​ break;

    ​ …

    ​ default:

    ​ 语句n;

    ​ break;

    ​ }

    执行流程

    ​ 先获取switch后括号内表达式的值

    ​ 把值与下面的常量1进行匹配,如果相同就执行语句1,执行完break跳出

    ​ 如果不相同就与常量2进行匹配,相同就执行语句2再break跳出,反之则再往下匹配以此类推。

    ​ 如果和任意的常量值都不匹配,则执行default下的内容,最后break跳出。

    注意:

    ​ Case后只能+常量值 且不能重复

    ​ Default可以放在任意位置,也可以选择不写,不写则可能任意情况都不执行

    ​ 如果多个case的表达式的处理方法是一样 的,则可省略break,只写最后的一个break,这样可以节省代码量

    举例

    输入2020年的一个月份,输出当月的天数

    package Chating; import java.util.Scanner; public class Ex { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入年份:"); int y = sc.nextInt(); System.out.print("请输入月份:"); int m = sc.nextInt(); switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(y+"年"+m+"月有31天"); break; case 4: case 6: case 9: case 11: System.out.println(y+"年"+m+"月有30天"); break; case 2 : System.out.println(y+"年"+m+"月有29天"); break; default: System.out.println("没有这个月份,请重新输入"); break; } } }

    循环结构

    对某些需要重复执行的相似语句,通过某种固定形式执行以此实现代码的简化

    循环语句有三种:

    ​ for语句

    ​ while语句

    ​ do…while语句(不常用)

    for语句

    格式

    ​ for(初始化语句; 循环的条件表达式;初始化变量的改变){

    ​ 循环体语句;

    ​ }

    初始化语句:声明初始变量用来记录循环的次数

    循环的表达式:布尔类型的表达式 表示循环执行的条件

    初始化变量的改变:将初始化的变量进行变化,一般向着终止循环的方向变化

    循环体语句:要重复执行的语句

    **执行流程 **

    ​ 初始化变量—判断循环的条件表达式, false就结束for循环

    ​ true就执行循环体语句 执行初始变量值的变化 再回到第二步重复上面的操作

    举例

    打印1到100之内的整数,但数字中包含9的要跳过,每行输出10个满足条件的数,之间用换行

    package Chating; import java.util.Scanner; public class Ex { public static void main(String[] args) { int c=0;//计数器 for (int i = 1; i <= 100; i++) {//从1开始,每次循环打印1+=1,直到等于100 if (i%10!=9 && i/10%10!=9) {//同时满足 个位取余10不为9 和 十位取余10不为9 就打印 System.out.print(i+" "); c++;//每打印一个数 计数器就累加+1 if (c%10==0) {//当计数器为10或者10的倍数 System.out.print("\n");//打印换行 } } } } }

    while语句

    格式

    ​ while(循环条件表达式){

    ​ 循环体语句;

    ​ 初始化变量的改变;

    ​ }

    执行流程

    ​ 判断条件表达式 是false就终止循环

    ​ 是true就执行循环体结构 初始化变量的改变 回到第二步

    注意

    ​ 注意初始化变量的自增,避免陷入死循环

    举例

    求出1-100之间所有偶数的和

    package Chating; import java.util.Scanner; public class Ex { public static void main(String[] args) { int num =1;//初始化1 int res =0;//初始化总和为0 while (num<=100) {//当num小于等于100时执行循环 if (num%2==0) {//通过取余判断是否是偶数 res+=num;//是偶数则加入总和 } num++;//每次循环计算好就累加 } System.out.println("1-100之间所有偶数的和为"+res); } }

    死循环

    无限循环,循环永远都不会停止

    一般出现于程序漏洞或者可以制造

    格式

    ​ for(;😉{

    ​ 循环体语句;

    ​ }

    ​ while(true){

    ​ 循环体语句;

    ​ }

    死循环的作用:

    ​ 在格式上使用了死循环,但是在循环体中,可能出现需要结束循环的情况,准备了一些跳出、终止循环的跳转语句

    Processed: 0.025, SQL: 9