IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> ??JavaSE系列??Java程序的选择与轮回——分支结构与循环结构 -> 正文阅读

[Java知识库]??JavaSE系列??Java程序的选择与轮回——分支结构与循环结构

??前面的话??

本篇文章带大家认识Java程序逻辑控制结构,再复杂的程序都是离不开逻辑控制。
本文章除了Java程序的输入,分支结构与循环结构与C语言差不多,只是Java中判断表达式的值必须是boolean类型。不过Java中没有goto,目前仅仅作为保留字。
参考博主历史博文(非常详细):C语言中的选择与轮回,选择结构与循环结构

📒博客主页:未见花闻的博客主页
🎉欢迎关注🔎点赞👍收藏??留言📝
📌本文由未见花闻原创,CSDN首发!
📆首发时间:🌴2021年10月20日🌴
??坚持和努力一定能换来诗与远方!
💭参考书籍:📚《Java核心技术卷1》,📚《Java核心技术卷2》,📚《Java编程思想》
💬参考在线编程网站:🌐牛客网🌐力扣
🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!
博主的码云gitee,平常博主写的程序代码都在里面。

🍀 🌹 🌻 🌺 🍁


121


🍀1.Java程序的输入

在Java当中,我们是使用Scanner来进行数据的自定义输入。

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//System.in 表示从键盘输入
        System.out.println("请输入一个字符串:");
        String str = sc.nextLine();//由于Java的输入做的很粗糙,有一些bug,比如如果先读数字在读字符串,字符串就读不了了,所以建议先读字符串再读数字
        System.out.println(str);
        System.out.println("请输入一个整数:");
        int a = sc.nextInt();//整型输入调用nextInt。如果是double 则调用nextDouble,一行字符串建议使用nextLine,以空格隔开的字符串建议next
        System.out.println(a);
        System.out.println("请输入一个小数:");
        double b = sc.nextDouble();
        System.out.println(b);
}
请输入一个字符串:
weijianhuawen
weijianhuawen
请输入一个整数:
2
2
请输入一个小数:
3.14
3.14

Process finished with exit code 0

如果需要做多组输入的oj题

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            //比如需要输入多行输入字符串
            String str = sc.nextLine();
            System.out.println(str);
        }
}

11
在编译器中运行,如需正常退出程序,需输入ctrl+D

🍀2.Java程序的分支结构

🌺2.1if…else

1211

🌹分支结构首先想到的就是if语句了,第一种用法就是单独的if判断语句。

语法结构
if (布尔表达式)
{
	语句;
}
public static void main(String[] args) {
        int n = 99;
        if (n == 99) {
            System.out.println(99);
        }
}

🌹第二种用法就是单if…else分支结构。

语法结构
if (布尔表达式)
{
	语句1;
}
else
{
	语句2;
}
public static void main(String[] args) {
        int n = 99;
        if (n == 99) {
            System.out.println(99);
        }else {
            System.out.println(88);
        }
}

🌹第三种用法就是多if…else if…else…分支结构。

语法结构
if (布尔表达式1)
{
	语句1;
}
else if (布尔表达式2)
{
	语句2}
...
//else if数量无限制,最后的else可以用也可以不用
else
{
	语句n;
}
public static void main(String[] args) {
        int n = 99;
        if (n == 99) {
            System.out.println(99);
        }else if (n == 98) {
            System.out.println(98);
        }else if (n == 97) {
            System.out.println(97);
        } else {
            System.out.println(88);
        }
}

🌹例题 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)

    public static void main1(String[] args) {
        //1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int age= scan.nextInt();
            if (age <= 18) {
                System.out.println("少年!");
            }else if (age <= 28) {
                System.out.println("青年!");
            }else if (age <= 55){
                System.out.println("中年!");
            }else {
                System.out.println("老年!");
            }
        }
    }

当然Java当中也支持嵌套分支语句,不过要注意使用嵌套结构需要注意ifelse的配对关系。else总是与它上面的最近的未配对的if配对。所以在写分支与循环语句时,不论几句都应该加上花括号。
3

🌺2.2switch

switch(整数|枚举|字符|字符串){
 case 内容1 : {
 内容满足时执行语句;
 [break;]
 }
 case 内容2 : {
 内容满足时执行语句;
 [break;]
 }
 ...
 default:{
 内容都不满足时执行语句;
 [break;]
 } 
}

注意事项1 break 不要遗漏, 否则会失去 “多分支选择” 的效果。
注意事项2 switch 中的值只能是 整数|枚举|字符|字符串。
注意事项3 switch 不能表达复杂的条件,如分支循环结构中使用的复合判断语句。
注意事项4 switch 虽然支持嵌套, 但是很丑。

    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            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("错误!");
                break;
        }

5
🌹例题 Java中switch语句表达式不支持哪些数据类型?
long,double,float,boolean及其包装类。

🍀3.Java程序的循环结构

🌺3.1while循环

7

while(循环条件){ 
	循环语句; 
}

循环条件为 true, 则执行循环语句; 否则结束循环.
🌹例题 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

    public static void main7(String[] args) {
        //7.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
        int n = 100;
        double sum = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 2 == 1) {
                sum += 1.0 / i;
            }else {
                sum -= 1.0 / i;
            }
        }
        System.out.println(sum);
    }

8

🌺3.2for循环

5

for(表达式1;表达式2;表达式3){ 
	循环体; 
}

表达式1: 用于初始化循环变量.
表达式2: 循环条件.
表达式3: 更新循环变量.

  • “表达式1”可以省略,即不设置初值,但表达式1后的分号不能省略。例如: for(;i<=100;i++)。应当注意:由于省略了表达式1,没有对循环变量赋初值,因此,为了能正常执行循环,应在for语句之前给循环变量赋以初值。
  • 表达式2也可以省略,即不用表达式2来作为循环条件表达式,不设置和检查循环的条件。此时循环无终止地进行下去,也就是认为表达式2始终为真。
  • 表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。
  • 甚至可以将3个表达式都可省略,即不设初值,不判断条件(认为表达式2为真值),循环变量也不增值,无终止地执行循环体语句,显然这是没有实用价值的。
  • 表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。表达式3也可以是与循环控制无关的任意表达式。但不论怎样写for语句,都必须使循环能正常执行。
  • 表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。
  • 表达式2关系表达式或逻辑表达式,类型必须是boolean
  • for语句的循环体可为空语句,把本来要在循环体内处理的内容放在表达式3中,作用是一样的。可见for语句功能强,可以在表达式中完成本来应在循环体内完成的操作。

🌹执行顺序:
表达式1 -> 表达式2 -> 循环体语句 -> 表达式3.

🌹例题 编写程序数一下 1到 100 的所有整数中出现多少个数字9。

    public static void main8(String[] args) {
        //8. 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
        int n = 100;
        int cnt = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 10 == 9) {
                cnt++;
            }
            if (i / 10 == 9) {
                cnt++;
            }
        }
        System.out.println(cnt);
    }

当然,循环也支持嵌套。
78

🌺3.3do…while循环

9

do{
 	循环语句;
}while(布尔表达式);
int num = 12; 
do { 
 System.out.println(num); 
 num++; 
} while (num <= 10);

99

循环至少执行一次,使用的场景有限,所以不是经常使用。

🌺3.4break与continue

12

名称breakcontinue
作用使流程跳到循环体之外,接着执行循环体下面的语句。结束本次循环,即跳过循环体中下面尚未执行的语句,如果是for循环,转到循环体结束点之前,接着执行for语句中的“表达式3”,然后进行下一次是否执行循环的判定。
注意break语句只能用于循环语句和switch语句之中,而不能单独使用。continue语句只能用于循环语句之中,而不能单独使用。

continue语句只结束本次循环,而非终止整个循环。break语句结束整个循环,不再判断执行循环的条件是否成立。

765

🌹留给读者的一道题:

🍁使用Java语言实现简单的猜数字游戏。🍁
觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:03:18  更:2021-10-21 12:03:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:37:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码