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

❣博主主页: 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循环,以及程序的输入输出语句最后通过一个小游戏来巩固。

下期预告:方法的使用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三级数据库技术知识点(详解!!!)

1、从功能角度数据库应用系统可以划分为表示层、业务逻辑层、数据访问层、数据持久层四个层次&#xff0c;其中负责向表示层直接传送数据的是业务逻辑层。 【解析】表示层负责所有与用户交互的功能;业务逻辑层负责根据业务逻辑需要将表示层获取的数据进行组织后&#xff0c;传…

提升Midjourney风格化的三个技巧

1. 引言 在前篇博文中&#xff0c;我们详细讲述了Midjourney的新功能风格参考的一些基础使用方法&#xff0c;事实上我们可以通过控制参数和提示权重进行更多的自定义操作&#xff0c;在本文中&#xff0c;我将向大家介绍我在网上搜集到的一些提升风格化效果的三个技巧。 闲话…

阿里云服务器租用一年多少钱?2024年最新阿里云租用价格

2024年阿里云服务器租用费用&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核4G服务…

NC 现金流量查询 节点 多账簿联查时,根据所选择的列来判断明细和现金流量联查按钮是否可用,根据添加列选择监听事件处理。

NC 现金流量查询 节点 多账簿联查时&#xff0c;根据所选择的列来判断明细和现金流量联查按钮是否可用&#xff0c;如下图的情况&#xff1a; 在现金流量查询界面UI类的initTable(QueryConditionVO conVO)方法中添加列选择监听事件即可&#xff0c;如下&#xff1a; // 列监听…

【Android】【Bluetooth Stack】蓝牙电话协议之拨打电话分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

【Spring框架】单元测试:JUnit

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

Filter介绍使用案例

文章目录 一、Filter概念二、Filter快速入门定义类&#xff0c;实现Filter接口&#xff0c;并重写其所有方法 三、Filter执行流程四、Filter使用细节1、Filter拦截路径配置2、过滤器链 五、案例 一、Filter概念 二、Filter快速入门 定义类&#xff0c;实现Filter接口&#xff0…

cc-inputSelView:使用uni-app和原生input组件实现用户位置选择功能

摘要&#xff1a; 在前端开发中&#xff0c;为用户提供选择位置的功能是一个常见的需求。本文将介绍如何使用uni-app和原生input组件实现用户位置选择功能&#xff0c;包括地图定位和页面跳转选择数据两种方式。通过这种方式&#xff0c;开发者可以轻松地为用户提供便利的位置选…

基于Java-SpringBoot+vue实现的前后端分离信息管理系统设计和实现

基于Java-SpringBootvue实现的前后端分离信息管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

停车场引导和道闸系统工程

在当今快速发展的都市环境中&#xff0c;停车场不再是简单的泊车空间&#xff0c;而是需要智能化、高效化的管理来满足日益增长的车辆需求。现代电子信息技术的融入使得停车场引导和道闸系统工程成为可能&#xff0c;为城市交通带来革命性的变化。本文将概述这一系统的主要组成…

为什么光模块会发生故障?

当SFP光模块发生故障时&#xff0c;技术人员需要立即找出原因并进行修复&#xff0c;否则&#xff0c;1G链路可能会中断。本指南将为初次接触光模块领域的企业提供一些SFP光模块修复解决方案的支持。 SFP光模块故障的主要原因 SFP光模块故障通常发生在发送端和接收端。最常见…

C++之constexpr和常量表达式

常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。 显然&#xff0c;字面值属于常量表达式&#xff0c;用常量表达式初始化的const对象也是常量表达式。 后面将会提到&#xff0c;C语言中有几种情况下是要用到常量表达式的。…

35 跨域相关问题, 以及常见的解决方式

前言 跨域相关 这是一个 经常会碰到的问题 然后 常见的解决方式 也大概就是几种, 各有各的问题 这里仅仅是 从理论上 来探讨这个问题 主流的解决方式 是通过代理, 将不同域 合并到同一个域 测试用例 测试用例如下, 这里仅仅是一个简单的数据展示 获取对方 “/config.jso…

由浅到深认识Java语言(17):内部类

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

python框架的一加剧场管理系统的设计与实现flask-django-nodejs-php

本文讲述了一加剧场管理系统。结合电子管理系统的特点&#xff0c;分析了一加剧场管理系统的背景&#xff0c;给出了一加剧场管理系统实现的设计方案。 本论文主要完成不同用户的权限划分&#xff0c;不同用户具有不同权限的操作功能&#xff0c;在用户模块&#xff0c;主要有用…

mysql之基本概念与安装

一 数据库的基本概念 1.1 数据 记录个体的信息 1.2 表 存放信息的集合&#xff0c;行于与列 1.3 数据库 数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合 1.4 数据库管理系统 数据库管理系统&#xff08;DatabaseManagementSystem&#xff0c;DBMS&…

MySQL面试题--开发(最全,涵盖SQL基础、架构、事务)

MySQL面试题--事务https://mp.csdn.net/mp_blog/creation/editor/136947072 MySQL面试题--MySQL内部技术架构https://blog.csdn.net/Timebro/article/details/136946046?spm1001.2014.3001.5501 MySQL面试题--最全面-索引https://blog.csdn.net/Timebro/article/details/136…

深度学习基础之《TensorFlow框架(10)—案例:实现线性回归(2)》

增加其他功能 一、增加变量显示 1、目的&#xff1a;在TensorBoard当中观察模型的参数、损失值等变量值的变化 2、收集变量 不同的变量要用不同的方式收集 &#xff08;1&#xff09;tf.summary.scalar(name, tensor) 收集对于损失函数和准确率等单值变量&#xff0c;name为…

mac下 3.6.3 版本 maven

问题 Blocked mirror for repositories: [snapshots (http://xxx/artifactory/gm-maven-vir, default, releasessnapshots)]无法访问 Maven 3.8.1 http 仓库。可能的解决方案: - 检查 Maven settings.xml 是否不包含 http 仓库 - 检查 Maven pom 文件是否不包含 http 仓库 htt…

【蓝桥杯嵌入式】四、各种外设驱动(九)ADC(1):软件触发与中断触发方式

温馨提示&#xff1a;本文不会重复之前提到的内容&#xff0c;如需查看&#xff0c;请参考附录 【蓝桥杯嵌入式】附录 目录 重点提炼&#xff1a; 一、需求分析 1、需要的外设资源分析&#xff1a; 2、外设具体分析&#xff1a; 比赛时ADC可能需要配置的部分&#xff1a;…