【Java初阶(二)】分支与循环

news2024/11/28 0:48:41

❣博主主页: 33的博客❣
▶文章专栏分类: Java从入门到精通◀
🚚我的代码仓库: 33的代码仓库🚚

目录

  • 1.前言
  • 2.顺序结构
  • 3.分支循环
    • 3.1if语句
    • 3.2switch语句
  • 4.循环结构
    • 4.1while循环
    • 4.2 break和continue
    • 4.3 for循环
    • 4.4 do while循环
  • 5.输入输出
    • 5.1输出
    • 5.2输入
  • 6.猜数字游戏
  • 7.总结

1.前言

本篇文章主要介绍Java程序中的逻辑控制语句,输入输出方式以及通过一个小游戏-猜数字游戏来巩固。

本章重点

if语句,switch语句,for循环,while循环,do while循环,程序的输入输出语句。


2.顺序结构

顺序结构是比较简单的就是一行接着一行执行:

 System.out.print("a ");
 System.out.print("b ");
 System.out.print("c ");
 //输出结果a b c  

3.分支循环

3.1if语句

if语句可以分为:单分支if语句,双分支if语句,多分支if语句
单分支格式如下:

if(布尔表达式){
//语句
}

双分支格式如下:

if(布尔表达式){
//语句1
}else{
//语句2
}

多分支格式如下:

if(布尔表达式){
//语句1
}else if{
//语句2
}else{
//语句3
}

我们来进行练习:判断一个数是正数、负数、还是0

int a=10;
 if(a>0){
    System.out.println(a+"是正数");
  }else if(a<0){
     System.out.println(a+"是负数");
   }else{
      System.out.println(a+"是0");
    }

注:else总是与最近的if语句中进行匹配


3.2switch语句

switch(表达式){
case 常量值1:{
语句1;
break;
}
case 常量值2:{
语句2;
break;
}
case 常量值3:{
语句3;
break;
}
.......
default: {
内容不满足时执行;
break;
}
}

注意:
1.多个case后面的值不能相同
2.switch的括号内只能是:byte、char、short、int、String类型、枚举型

注意:break 不要遗漏, 否则会失去 "多分支选择" 的效果,switch 不能表达复杂的条件


4.循环结构

4.1while循环

基本语法格式:

while(布尔表达式){
循环语句;
}

布尔表达式为ture,执行循环语句;否则结束。
例1:打印1~100的数字

int num=1;
while(num<=100{
  System.out.println(num);
   num++;
}

例2:计算1!+2!+3!+4!+5!

int i=1;
int sum=0;
//外层循环
while(i<=3){
   int j=1;
   int ret=1;
// 内层循环  
    while(j<=i){
        ret *=j;
          j++;
     }
    sum +=ret;
    i++;
 }
 System.out.println(sum);

4.2 break和continue

break 的功能是让循环提前结束。
continue 的功能是跳过这次循环, 立即进入下次循环。

//找到100-200中第一个3的倍数
int num =100;
 while (num <= 200) {
    if (num % 3 == 0) {
        System.out.println("找到了 3 的倍数, 为:" + num);
        break;
    }
    num++;
 }

4.3 for循环

基本语法格式:

for(表达式1;布尔表达式2;表达式3){
	表达式4;
}

表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次。
表达式2: 循环条件,满则循环继续,否则循环结束。
表达式3: 循环变量更新方式。
例:计算1~100求和

int sum=0;
        for(int i=1;i<=100;i++){
            sum +=i;
        }
        System.out.println(sum);
    }

4.4 do while循环

基本语法:

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

例如:打印1~100的数

int num=0;
do{
 System.out.println(num);
    num++;
}while(num<=100)

do while 循环最后的分号不要忘记,do while 循环至少执行一次


5.输入输出

5.1输出

在之前的程序中,我们已经频繁用刀输出语句了。

System.out.println(msg);            // 输出一个字符串, 带换行
System.out.print(msg);              // 输出一个字符串, 不带换行
System.out.printf(format, msg);     // 格式化输出,类似c语言

5.2输入

先导入从键盘输入需要的包:
import java.util.Scanner;
在这里插入图片描述

Scanner sc=new Scanner(System.in);//固定格式 sc是自己取的名字
        System.out.println("输入姓名");
        String name= sc.nextLine();
        System.out.println("输入年龄");
        int age= sc.nextInt();
        System.out.println("姓名"+name+"年龄"+age);

6.猜数字游戏

随机数生成:

Random random = new Random(); // 默认随机种子是系统时间
int R= random.nextInt(100);//生成[1,100)的随机数

具体实现:

public static void main(String[] args) {
    System.out.println("****************");
    System.out.println("*****1.play*****");
    System.out.println("*****0.exit*****");
    System.out.println("****************");
    Scanner sc=new Scanner(System.in);
    Random random = new Random(); // 默认随机种子是系统时间

    int i= sc.nextInt();
    if(i==1){
    int rand= random.nextInt(100);
    while(true){
        System.out.println("请注入猜想数字");
        int guess= sc.nextInt();
        if(guess<rand){
            System.out.println("猜小了");
        }else if(guess>rand){
            System.out.println("猜大了");
        }else{
            System.out.println("猜对了!!!");
            break;
        }
    }
    }
    if(i==0){
        System.out.println("退出游戏");
    }
}

7.总结

本篇文章主要介绍Java程序中的逻辑控制语句,if语句,switch语句,for循环,while循环,do while循环,以及程序的输入输出语句最后通过一个小游戏来巩固。

下期预告:方法的使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

【数据结构取经之路】栈

目录 引言 栈的性质 顺序栈 栈的基本操作 初始化 销毁 插入 删除 判空 取栈顶元素 栈的大小 完整代码&#xff1a; 引言 栈(stack)&#xff0c;可以用数组实现&#xff0c;也可以用链表实现。用数组实现的栈叫顺序栈&#xff0c;用链表实现的栈叫链式栈&#…

红外相机和RGB相机标定:实现两种模态数据融合

1. 前期准备 RGB相机&#xff1a;森云智能SG2-IMX390&#xff0c;1个红外相机&#xff1a;艾睿光电IR-Pilot 640X-32G&#xff0c;1个红外标定板&#xff1a;https://item.taobao.com/item.htm?_ujp3fdd12b99&id644506141871&spma1z09.2.0.0.5f822e8dKrxxYI 2.操作步…

C# 方法(函数)

文章目录 C# 方法&#xff08;函数&#xff09;简单示例程序代码运行效果 值传递和引用传递示例程序 运行效果按输出传递参数运行结果 C# 方法&#xff08;函数&#xff09; 简单示例 程序代码 访问的限制符 using System; using System.Collections.Generic; using Syste…

DevEco Studio 项目创建

安装DevEco Studio后开始使用&#xff0c;双击桌面DevEco Studio 快捷方式弹出界面&#xff1a; 选择Application —> Empty Ability&#xff0c;点击Next 项目配置 Project name&#xff1a;工程的名称&#xff0c;可以自定义&#xff0c;由大小写字母、数字和下划线组成。…

JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)

目录 接口 认识接口 接口的好处 接口的综合案例 需求 学生类 班级管理类 学生操作接口 学生操作类 完善班级管理类 测试 接口 认识接口 Java提供了一个关键字 interface&#xff0c;用这个关键字我们可以定义出一个特殊的结构&#xff1a;接口。 public interface…

个人网站制作 Part 13 添加搜索功能[Elasticsearch] | Web开发项目

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加搜索功能&#x1f528;使用Elasticsearch&#x1f527;步骤 1: 安装Elasticsearch&#x1f527;步骤 2: 配置Elasticsearch&#x1f527;步骤 3: 创建索引 &#x1f…

[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声&#xff08;无关跨度&#xff09;的基于span方法。 会议EMNLP 2023作者Pan Li, Ping Li, Kai Zhang团队Southwest Petroleum University论文地址https://aclanthology.org/2023.emnlp-main.17/代码地址https://github.com/bert-ply…

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中&#xff0c;对Java合约语言支持是开…

ideaSSM 财务凭证管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 财务凭证管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff…

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中&#xff0c;现在有很多通过电机去做相机的聚焦调节&#xff0c;对比手工调节&#xff0c;自动调节效果更好&#xff0c;而且其也能满足设备自动的需求&#xff0c;尤…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow&#xff1a; Git flowGithub flowGitlab flow 三种工作流程&#xff0c;有一个共同点&#xff1a;都采用"功能驱动式开发&…

圆弧齿的模型怎么建立?

今天咱们聊一聊圆弧齿的相关内容&#xff0c;有兴趣的小伙伴一起来看看吧。 圆弧齿轮发展历史 早期齿轮传动的速度较低、传递的功率小&#xff0c;长期的生产实践使得人们开始意识到对齿轮单个轮齿形状&#xff08;轮齿齿形&#xff09;的研究的重要性&#xff0c;齿轮的齿形…

5G安全技术新突破!亚信安全5G安全迅龙引擎正式发布

5G专网应用飞速增长&#xff1a;2020年5G专网数量800个&#xff0c;2021年2300个&#xff0c;2022年5325个&#xff0c;2023年已经超过16000个&#xff0c;5G与垂直行业的融合快速加深&#xff0c;5G带来的变革正加速渗透至各行各业。 5G网络出现安全问题&#xff0c;将是异常严…

MNN createFromBuffer(一)

系列文章目录 MNN createFromBuffer&#xff08;一&#xff09; MNN createRuntime&#xff08;二&#xff09; MNN createSession 之 Schedule&#xff08;三&#xff09; MNN createSession 之创建流水线后端&#xff08;四&#xff09; MNN Session::resize 之流水线编码&am…

C语言例3-12:自增和自减运算的例子

i 先引用后加1--i 先减1后引用 代码如下&#xff1a; #include<stdio.h> int main(void) {int i2, j2;char c1d, c2D; //d(100) D(68)printf("i %d\n",i); //3, i3printf("j-- %d\n",j--); …

Design Script之案例练习:曲线组合

让我们来探索一下如何创建分组曲线函数。这个函数将取一个无序曲线列表(必须是连续的),并将它们组合成分组的循环。 在这个例子中,我们将采取一系列的9个爆炸矩形,并洗牌合成曲线。这给了我们36条单独的曲线,它们可以正确地组合回各自的矩形中。 一些分散的曲线显示在右边…

发布镜像到阿里云仓库

发布上一篇Dockerfile实战-自定义的centos镜像。 1、登录阿里云 2、找到容器镜像服务 3、创建命令空间 4、创建镜像仓库 5、点击进入这个镜像仓库&#xff0c;可以看到所有的信息 6、根据操作指南测试推送发布 6.1登录阿里云 [rootzhoujunru home]# docker login --usernam…

数据仓库系列总结

一、数据仓库架构 1、数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 数据仓库通常包含多个来源的数据&#xff0c;这些数据按照主题进行组织和存储&#x…