Java_从入门到JavaEE_05

devtools/2024/10/18 19:23:49/

Day05

一、Java的执行语句(续)

1.循环语句

1.for循环
  1. 语法规则:
    for(表达式1;表达式2;表达式3){
    …代码块/循环体…
    }

  2. 理解:
    表达式1 - 初始化变量
    表达式2 - 判断条件
    表达式3 - 更新变量

  3. 执行步骤:

    1. 初始化变量

    2. 判断条件 - 结果必须是boolean类型
      2.1 true - 执行代码块,更新变量,重复第2个步骤
      2.2 false - 直接跳出循环体

  4. for循环变形:
    int i = 0;
    for(;i<5;){
    System.out.println("用良心做教育 – " + i);
    i++;
    }
    System.out.println(i);

java">//死循环:for(;;){System.out.println("死循环");}for(;true;){System.out.println("死循环");}//伪死循环:for(int i = 0;i>=0;i++){System.out.println("伪死循环");}
  1. 案例:循环录入5次int类型的数字,输出总和
java">import java.util.Scanner;
public class Test{public static void main(String[] args){Scanner scan = new Scanner(System.in);int sum = 0;for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "个数字:");int num = scan.nextInt();sum += num;//sum = (int)(sum+num)}System.out.println("总和为:" + sum);}
}

小结:

  1. 初始化变量不一定从0开始
  2. 更新变量不一定++
  3. 在for循环中声明的变量只能在当前for循环里使用
  4. for循环里的更新变量中编写i++和++i没有区别
2.for循环嵌套(使用“*”打印三角形)

1.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<3;i++){for(int j = 0;j<4;j++){System.out.print("*");}System.out.println();}}
}

2.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<5;i++){for(int j = 0;j<=i;j++){System.out.print("*");}System.out.println();}}
}

3.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<5;i++){for(int k = 0;k<4-i;k++){System.out.print(" ");}for(int j = 0;j<=i;j++){System.out.print("*");}System.out.println();}}
}

4.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<5;i++){for(int j = 0;j<5-i;j++){System.out.print("*");}System.out.println();}}
}

5.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<5;i++){for(int k = 0;k<i;k++){System.out.print(" ");}for(int j = 0;j<5-i;j++){System.out.print("*");}System.out.println();}}
}

6.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<4;i++){for(int k = 0;k<3-i;k++){System.out.print(" ");}for(int j = 0;j<i*2+1;j++){System.out.print("*");}System.out.println();}}
}

7.打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<4;i++){for(int k = 0;k<3-i;k++){System.out.print(" ");}for(int j = 0;j<i*2+1;j++){if(i==0 || i==3 || j==0 || j== i*2){System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}
}

8:打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<4;i++){for(int k = 0;k<i;k++){System.out.print(" ");}for(int j = 0;j<7-i*2;j++){System.out.print("*");}System.out.println();}}
}

9:打印以下图形
在这里插入图片描述

java">public class Test{public static void main(String[] args){for(int i = 0;i<4;i++){for(int k = 0;k<i;k++){System.out.print(" ");}for(int j = 0;j<7-i*2;j++){if(i==0 || i==3 || j==0 || j== 7-i*2-1){System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}
}

10.九九乘法表

java"> public class Test{public static void main(String[] args){for(int i = 1;i<=9;i++){	for(int j = 1;j<=i;j++){System.out.print(j + "x" + i + "=" + (i*j) + "\t");}System.out.println();}}}
java">public class Test{public static void main(String[] args){for(int i = 1;i<=9;i++){for(int k = 1;k<i;k++){System.out.print("\t");}for(int j = i;j<=9;j++){System.out.print(i + "x" + j + "=" + (i*j) + "\t");}System.out.println();}}
}

运行结果:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.while循环
  1. 语法结构:

    while(表达式){

    ​ …代码块…

    }

  2. 理解:表达式的结果必须是boolean类型

    true – 执行代码块

    false - 跳出整个循环

  3. 死循环:

    while(true){

    ​ System.out.println(“死循环”);

    }

  4. 案例:每月存3000,每年递增1000元,多少个月后存满20万

    java">public class Test{public static void main(String[] args){int allMoney = 0;int money = 3000;int month = 0;		while(allMoney < 200000){allMoney += money;month++;if(month % 12 == 0){money+=1000;}}System.out.println(month + "个月后存满20万");System.out.println(money);}
    }
    

    小结:while循环可以做到for循环的功能

4.do-while循环
  1. 语法结构:

    do{

    ​ …代码块…

    }while(表达式);

  2. 理解:

    先执行一遍代码块,再判断表达式

    表达式的结果必须是boolean类型

    ​ true – 执行代码块

    ​ false - 跳出整个循环

  3. 小结:

    1. do-while先循环一遍,再判断
    2. 在代码块中声明的变量不能在外面使用
5.for , while 以及 do-while的区别
  1. 表达式的区别:

    for(初始化变量;判断条件;更新变量){}

    while(判断条件){}

    do{}while(判断条件);

    注意:三大循环的判断条件,如果是true就执行代码块,如果是false就跳出循环

  2. 执行顺序的区别:

    for:先判断,再执行

    while:先判断,再执行

    do-while:先执行一遍,再判断

  3. 应用场景的区别:

    for:循环次数确定时

    while:循环次数不确定时,先判断,再执行

    do-while:循环次数不确定时,先执行一遍,再判断

2.特殊的流程控制语句

1.特殊的流程控制语句 – break
  1. 含义:作用于循环中,表示跳出/结束当前循环

  2. 实验:

    ​ while(true){

    ​ System.out.println(“111”);

    ​ System.out.println(“222”);

    ​ if(true){

    ​ break;

    ​ }

    ​ System.out.println(“333”);

    ​ }

  3. 案例:循环录入学生5门课的成绩并计算平均分,
    如果某分数录入为负,停止录入并提示。

    java">import java.util.Scanner;
    public class Test{
    public static void main(String[] args){Scanner scan = new Scanner(System.in);boolean flag = true;//true-正常录入   false-非正常录入double sum = 0;for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "门成绩:");double score = scan.nextDouble();if(score < 0){flag = false;break;}sum += score;}if(flag){double avg = sum/5;System.out.println("平均分为:" + avg);}else{System.out.println("分数为负数,停止录入");}}
    }
    
2.特殊的流程控制语句 – continue
  1. 含义:作用于循环中,表示跳过循环体剩余部分,进入到下一次循环中

  2. 实验:

    ​ while(true){

    ​ System.out.println(“111”);

    ​ System.out.println(“222”);

    ​ if(true){

    ​ continue;

    ​ }

    ​ System.out.println(“333”);

    ​ }

  3. 案例:循环录入5名学生的成绩,统计分数大于等于80分的学生比例。

    java">import java.util.Scanner;
    public class Test{
    public static void main(String[] args){Scanner scan = new Scanner(System.in);boolean flag = true;double a = 5;for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "个同学成绩:");double score = scan.nextDouble();if(score<80){a--;continue;}if(score < 0){flag = false;break;}	}if(flag){double ratio = a/5*100;System.out.println("大于等于80分的学生比例:" + ratio+"%");}else{System.out.println("分数为负数,停止录入");}}
    }
    
3.特殊的流程控制语句 – return
  1. 含义:作用于方法中,表示结束当前方法

  2. 实验:

    System.out.println(“111”);

    System.out.println(“222”);

    ​ if(true){

    ​ return;

    ​ }

    System.out.println(“333”);

4.特殊的流程控制语句 – label
  1. 理解:给循环做标记

  2. 需求:
    外层循环5次,内层循环3次,当外层循环到第2次时,在内层循环中关闭掉外层循环

    java">public class Test{
    public static void main(String[] args){a:for(int i = 1;i<=5;i++){for(int j = 1;j<=3;j++){System.out.println(i + " -- " + j);if(i == 2){break a;//跳出指定循环}}}}
    }
    

http://www.ppmy.cn/devtools/27422.html

相关文章

【Redis深度专题】「核心技术提升」高级特性之Lua脚本执行机制的实现与探究

高级特性之Lua脚本执行机制的实现与探究 内容梗概什么是LuaLua的应用Lua的特点Redis引入Lua脚本Redis中引入Lua的原因Lua脚本的原子处理能力Lua减少网络开销Lua脚本复用与提高效率 Redis中Lua的常用命令指令&#xff1a;EVAL指令格式案例介绍Redis函数&#xff1a;call和pcallr…

手机测试之-adb

一、Android Debug Bridge 1.1 Android系统主要的目录 1.2 ADB工具介绍 ADB的全称为Android Debug Bridge,就是起到调试桥的作用,是Android SDK里面一个多用途调试工具,通过它可以和Android设备或模拟器通信,借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多…

Linux的NVM安装

搬运 如何在 Linux 上安装和管理多个版本的 Node.js 想要在 Linux 计算机上安装多个版本的 Node.js&#xff1f;以下是您需要了解的有关 NVM 的信息。 如果您曾经因为没有安装兼容版本的 Node.js 而在运行项目时遇到问题&#xff0c;那么您并不孤单。幸运的是&#xff0c;这个…

智能化未来:Agent AI智能体的崛起与全球挑战

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

【提示学习论文】PMF:Efficient Multimodal Fusion via Interactive Prompting论文原理

Efficient Multimodal Fusion via Interactive Prompting&#xff08;CVPR2023&#xff09; 基于交互式提示的高效多模态融合方法减少针对下游任务微调模型的计算成本提出模块化多模态融合架构&#xff0c;促进不同模态之间的相互交互将普通提示分为三种类型&#xff0c;仅在单…

Android 11在app中修改屏幕亮度

先看效果&#xff1a; Android 11在app中修改屏幕亮度 展示视频 可以看到&#xff0c;这是一个非常简单的功能&#xff0c;拖动进度条&#xff0c;屏幕亮度随即变化&#xff0c;界面上也实时更新亮度值 实现部分&#xff1a; 一、布局文件 1.activity_brightness.xml <?…

MongoDB聚合运算符:$substrBytes

MongoDB聚合运算符&#xff1a;$substrBytes 文章目录 MongoDB聚合运算符&#xff1a;$substrBytes语法使用举例 $substrBytes聚合运算符返回字符串的子串&#xff0c;子串是从指定的索引位置&#xff08;以UTF-8字节为标准&#xff09;开始并包含指定数量的字符&#xff0c;索…

Java:Thread类及常见方法大全(画图+源码详解)

Thread 类是 JVM 用来管理线程的一个类&#xff0c;每一个线程都有一个唯一的 Thread 类与之关联。Java中通常使用 Thread类来进行线程调度&#xff0c;线程管理。 目录 一、Thread 的常见构造方法 二、Thread 的几个常见属性 理解线程是否存活&#xff1a; 理解前台线程与…