Java开发零基础篇:day03 选择语句和循环语句

简介: 选择语句和循环语句

 选择结构

顺序结构

如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。

public class Demo16 {
    public static void main(String[] args) {
        System.out.println("A");
        System.out.println("B");
        System.out.println("C");
        System.out.println("D");
    }
}

image.gif

上面的代码无论怎么运行,程序的输出顺序总是ABCD。

但是,我们的程序应该像一个人的人生轨迹一样,会面临很多分岔路的选择, 一旦下定决心走某一条路,就不能再回头。

选择结构

选择结构也被称为分支结构。代码根据逻辑判断,存在多个不同的结果,此时就会产生不同的选择,不 同的选择执行不同的代码。

Java中存在两种选择结构语句:

(1)if 语句

(2)switch 语句

if语句

语义:如果。。。那么。。。

if(bolean表达式){
    语句体;
}

image.gif

if后面的{}表示一个整体—代码块,称之为语句体;

当boolean表达式为true,才执行这里的代码块。

注意:if(boolean表达式)后面是没有分号的。

image.gif编辑

public class Demo17 {
    public static void main(String[] args) {
        int a = 7;
        System.out.println("begin");
        if (a > 5) {
            System.out.println("a大于5");
        }
        System.out.println("and");
        if (a > 10) {
            System.out.println("a大于10");
        }
        System.out.println("end");
    }
}

image.gif

控制台输出:

begin
a大于5
and
end

image.gif

if-else语句

语义:如果。。。那么。。。否则。。。

if(boolean表达式){
    语句体1;
}else{
    语句体2;
}

image.gif

如果boolean表达式结果为true,就执行语句体1,否则执行语句体2。

image.gif编辑

public class Demo18 {
    public static void main(String[] args) {
        int a = 7;
        System.out.println("begin");
        if (a % 2 == 0) {
            System.out.println("a是偶数");
        }else{
            System.out.println("a是奇数");
        }
        System.out.println("end");
    }
}

image.gif

控制台输出:

begin
a是奇数
end

image.gif

if-else if-else语句

语义:如果。。。那么。。。如果。。。那么。。。否则。。。

if(boolean表达式1){
    语句体1;
}else if(boolean表达式2){
    语句体2;
}else{
    语句体3;
}

image.gif

public class Demo19 {
    public static void main(String[] args) {
        int a = 7;
        if (a > 5) {
            System.out.println("a>5");
        }else if(a < 10){
            System.out.println("a<10");
        }else {
            System.out.println("a>2");
        }
    }
}

image.gif

控制台输出:

a>5

image.gif

(1)根据输入的一个数字,判断是星期几?

public class Demo20 {
    public static void main(String[] args) {
        int day = 7;
        if (day == 1) {
            System.out.println("星期一");
        }else if (day == 2) {
            System.out.println("星期二");
        }else if (day == 3) {
            System.out.println("星期三");
        }else if (day == 4) {
            System.out.println("星期四");
        }else if (day == 5) {
            System.out.println("星期五");
        }else if (day == 6) {
            System.out.println("星期六");
        }else if (day == 7) {
            System.out.println("星期日");
        }else{
            System.out.println("错误");
        }
    }
}

image.gif

控制台输出:

星期日

image.gif

switch语句

上面使用if-elseif-else完全没问题,但是对于这种判断条件是否等于某一个数值的,我们有另一种更简单的分支语句:switch语句,其格式如下:

switch(整型表达式){
    case 值1:
        语句体1;
        break;
    case 值2:
        语句体2;
        break;
    case 值3:
        语句体3;
        break;
    default:
        语句体4;
        break;
}

image.gif

使用注意:

(1)整型表达式的类型:byte,short,char,int;

(2)Java5开始支持枚举;

(3)Java7开始支持String;

(4)case之后的表达式结果必须是常量;

(5)case表示执行代码的入口,一旦进入某个入口后,代码会忽略掉后面其他case,代码会一直往下执行,直到遇到break或return。(switch的穿透效果)。

public class Demo21 {
    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;
        }
    }
}

image.gif

控制台输出:

星期三

image.gif

效果等价于if-elseif-elseif-else语句

使用场景:所有的选择语句都可以使用if语句,switch语句只适合做等值判断。

循环结构

在满足循环条件的情况下,重复执行某一段代码,这段被重复执行的代码被称为循环体语句。

(1)while语句

(2)do while语句

(3)for语句

注:三种循环结构可以完成相同的功能,仅仅只是语法上有差异。

while语句

while(boolean表达式){
    循环体;
}

image.gif

image.gif编辑

特点:

先判断boolean表达式:

若为false,跳过循环体;

若为true,执行循环体,执行完,再重新判断boolean表达式。

(1)打印10行Hello

public class Demo22 {
    public static void main(String[] args) {
        int a = 0;
        while(a<10){
            a++;
            System.out.println("Hello");
        }
    }
}

image.gif

(2)从1打印到100

public class Demo23 {
    public static void main(String[] args) {
        int a = 1;
        while(a <= 100){
            System.out.println(a);
            a++;
        }
    }
}

image.gif

(3)计算100以内正整数之和

public class Demo24 {
    public static void main(String[] args) {
        int a = 1;
        int sum = 0;
        while(a <= 100){
            sum += a;
            a++;
        }
        System.out.println(sum);
    }
}

image.gif

do while语句

do{
    循环体;
}while(boolean表达式);

image.gif

image.gif编辑

特点

先执行一次循环体,再判断表达式:

若为true,就执行循环体,再重新判断boolean表达式 ;

若为false,跳过循环体。

while和do while的区别

do while是先执行后判断,即使判断条件为false,该循环至少会执行一次

(1)打印10行Hello

public class Demo25 {
    public static void main(String[] args) {
        int a = 1;
        do {
            System.out.println("Hello");
            a++;
        }while (a<=10);
    }
}

image.gif

(2)从1打印到100

public class Demo26 {
    public static void main(String[] args) {
        int a = 1;
        do {
            System.out.println(a);
            a++;
        }while (a<=100);
    }
}

image.gif

(3)计算100以内正整数之和

public class Demo27 {
    public static void main(String[] args) {
        int a = 1;
        int sum = 0;
        do {
            sum += a;
            a++;
        }while (a<=100);
        System.out.println(sum);
    }
}

image.gif

for语句

for(初始化语句;boolean表达式;循环后操作语句){
    循环体;
}

image.gif

image.gif编辑

特点:

初始化语句:只在循环开始时执行一次,一般是定义一个变量,并赋值。

boolean表达式:表达式为false时,循环终止,为true,才执行循环体。

循环后操作语句:循环体执行后会调用该语句,一般是变量的递增或递减操作。

执行顺序:

(1)初始化语句

(2)boolean表达式:

若为false:跳过循环体

若为true:

(3)执行循环体

(4)循环后操作语句:boolean表达式

public class Demo28 {
    public static void main(String[] args) {
        int a = 1;
        int sum = 0;
        for (int i = 0;i<100;i++){
            sum += a;
            a++;
        }
        System.out.println(sum);
    }
}

image.gif

死循环:表示循环的boolean表达式一直未true,重复执行循环体。

while循环死循环

while(true){
    循环体;
}

image.gif

do while循环死循环

do{
    循环体;
}while(true);

image.gif

for循环死循环

for(;;){
    循环体;
}

image.gif

控制循环

break

break表示结束当前所在的循环。

(1)从1输出到10,当迭代变量为7,就停止循环。

public class Demo29 {
    public static void main(String[] args) {
        for(int i = 1;i<=10;i++){
            if (i == 7) {
                break;
            }
            System.out.println(i);
        }
    }
}

image.gif

控制台输出:

1
2
3
4
5
6

image.gif

注意:break之后的语句执行不了,所以不能编写。

return

return表示结束当前循环所在的方法,方法都结束了,循环也就结束了。

public class Demo30 {
    public static void main(String[] args) {
        for(int i = 1;i<=10;i++){
            if (i == 7) {
                return;
            }
            System.out.println(i);
        }
    }
}

image.gif

控制台输出:

1
2
3
4
5
6

image.gif

continue

continue表示跳过当前这一次循环,执行循环之后的操作语句,进入下一次循环操作。

public class Demo31 {
    public static void main(String[] args) {
        for(int i = 1;i<=10;i++){
            if (i == 7) {
                continue;
            }
            System.out.println(i);
        }
    }
}

image.gif

控制台输出:

1
2
3
4
5
6
8
9
10

image.gif

以上就是Java入门第三天的全部内容了。

资料文档地址:Java开发零基础篇:Day03选择语句和循环语句.pdf

目录
相关文章
|
29天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
99 10
|
27天前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
17天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
36 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
4天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
40 13
|
9天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
42 10
|
2天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
37 2
|
27天前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中stream API与传统for循环在性能上的对比,通过多个示例分析了不同场景下两者的优劣。作者指出,尽管stream API使代码更简洁,但不当使用会降低可读性和性能,特别是在处理大数据量时。实验结果显示,在多数情况下,普通for循环的性能优于stream API,尤其是在单次操作耗时较短但需多次执行的场景中。文章建议开发者在设计初期就考虑全局流程,避免重复使用stream流,以提升代码质量和性能。
Java循环操作哪个快?
|
12天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
28天前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
39 2
|
29天前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。