Java基础语法02——流程控制

流程控制:顺序结构、分支结构(if-else、switch-case)、循环结构(for、while、do-while)

  • 实现从键盘获取不同类型的变量——Scanner类 步骤:
  • 导包: import java.util.Scanner;
  • Scanner实例化: Scanner scan = new Scanner(System.in);
  • 调用Scanner的相关方法,来获取指定类型的变量:格式: Scanner.方法 String类型——next() int类型——nextInt() double类型——nextDouble()

分支结构1——if-else结构

三种形式:

if-else结构可以相互嵌套

【一旦满足,就会退出结构】

只有一个执行语句时,{}可以省略,但不建议省,容易出错

——>拓展:如何获取一个 随机数?[a,b]

​ 使用Math类下的random方法,产生的是double类型的数据,且范围为[0.0,1.0)

​ 公式: int m = (int)Math.random()*(a-b+1)+a;

分支结构2——switch-case结构

switch-case结构格式:

/*
switch(表达式)//不是条件表达式
    case 常量1:
        执行语句1;
        break;//非必须
    case 常量2:
        执行语句2;
        break;//非必须
    ······
    default:
        执行语句;
*/

循环结构1——for循环

  • 循环结构的四个部分:初始部分、循环条件部分、循环体部分、迭代条件部分
  • for循环的结构:
/*
for(初始;循环条件;迭代){
    循环体
}
//()里每一部分可以有多条语句
//执行过程:初始——循环条件(结果为boolean类型)——(true)循环体——迭代——循环条件判断——循环体——迭代——······
*/
//举例:输出5条HelloWorld语句
public class Demo{
    public static void main(String[] args){
        for(int i=1;i
  • break关键字的使用:遇到break,循环结束;跳出循环结构

循环结构2——while循环

while循环的结构

/*
初始
while(循环条件){
    循环体;
    迭代条件;//小心不要忘记,否则容易死循环
}
//执行过程:初始——循环条件(结果为boolean类型)——(true)循环体——迭代——循环条件判断——循环体——迭代——······
*/

循环结构3——do-while循环

do-while循环结构:

/*
初始
do{
    循环体;
    迭代条件;
}while(循环条件)
//执行过程略有不同:初始——循环体——迭代——循环条件——循环体——迭代——循环条件——······

//注意:do-while循环的循环体至少执行一次
*/

开发中使用前两种循环的情况比较多

——>拓展:最简单”无限循环格式”: while(true)for(;;) ——不知道循环次数是多少——可以通过break结束循环。

例题:从键盘输入多个不确定的整数,并输出正数和负数的个数,输入0时结束循环##

import java.util.Scanner;
public class Test1{
public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int postivenumber = 0;
    int negtivenumber = 0;
    while(true){
        int num = scan.nextInt();
        if(num>0){
            postivenumber++;
        }else if(num

嵌套循环

  • 层数不会太多,一般不会超过三层
  • 将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环
  • 外层循环:B;内层循环:A
  • 说明:
  • 内层循环执行一遍,相当于外层循环执行一次
  • 假设外层循环需要执行m次,内层循环需要执行n次。此时,内层循环的循环体一共执行了m*n次
  • 技巧:外层循环控制行数,内层控制列数
//应用1:九九乘法表
public class Test1{
public static void main(String[] args){
    for(int i=1;i
/*应用2:输出100以内的质数(常见笔试题)
质数:(素数)只能被1和它本身整除的自然数【最小的质数2】
——2~这个数-1 都不能被这个数整除
*/
public class Test2{
public static void main(String[] args){
    boolean b = true;//标识i是否被j除尽,一旦除尽,立刻更改其值
    for(int i=2;i

break、continue关键字的使用

使用范围 循环中使用的作用 相同点 break 循环结构 结束当

循环 关键字后面不能声明执行语句 continue 循环结构 结束当

循环 关键字后面不能声明执行语句

//说明1
public class Test3{
public static void main(String[] args){
    for(int i=1;i
//说明2:在嵌套循环中,break(continue)作用于离关键字最近的一层循环;
//如果想要指定对某一层循环起作用,可以使用标签,例子如下:
public class Test1{
public static void main(String[] args){
    label:for(int i=1;i

Original: https://www.cnblogs.com/mseredipity/p/16064292.html
Author: 哆啦L
Title: Java基础语法02——流程控制

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/571628/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • IDEA通用配置

    文件的自动author注释 posted @2020-09-18 16:54 风小雅 阅读(197 ) 评论() 编辑 Original: https://www.cnblogs….

    Java 2023年6月6日
    087
  • C语言-字符串函数的实现(一)之strlen

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strnc…

    Java 2023年6月10日
    050
  • 4.JSP共有以下9个内置的对象

    request 用户端请求,此请求会包含来自GET/POST请求的参数response 网页传回用户端的回应pageContext 网页的属性是在这里管理session 与请求有关…

    Java 2023年6月9日
    0142
  • springboot如何使用自定义配置文件

    从前边《springboot竟然有5种默认的加载路径,你未必都知道》我们知道,springboot会默认加载application.properties/application.y…

    Java 2023年6月9日
    092
  • launchMode(启动模式)

    默认启动模式,每次将创建一个新的实例。 如果该活动处于栈顶部,则不会新建实例,否则新建实例; 复用时会触发 onNewIntent 方法。 栈内唯一,只要栈中存在该实例,将被复用;…

    Java 2023年6月7日
    095
  • 一文学会Java事件机制

    相信做 Java 开发的朋友,大多都是学习过或至少了解过 Java GUI 编程的,其中有大量的事件和控件的绑定,当我们需要在点击某个按钮实现某些操作的时候,其实就是为这个按钮控件…

    Java 2023年6月8日
    082
  • SpringMVC&Maven进阶

    SpringMVC 3.1 了解SpringMVC 概述 SpringMVC技术与Servlet技术功能等同,均属于web层开发技术 学习路线 请求与响应 REST分割 SSM整合…

    Java 2023年6月6日
    098
  • Spring Mvc与Tomcat的整理

    Spring Mvc与Tomcat的整理 在spring的源码基础上,新建一个模块springmvc-source-test,勾选gradle模块,选中java和web。 在gra…

    Java 2023年5月30日
    0109
  • VSCODE&shell常用操作git&github

    安装后首次配置git账户 本机首次安装git时,需要配置账户,例如: 查看本地当前安装git版本 git version 配置用户名 –global表示全局,即本地设置一次即可,…

    Java 2023年6月5日
    090
  • 手把手教你使用 Spring Boot 3 开发上线一个前后端分离的生产级系统(一)-介绍

    项目简介 novel 是一套基于时下 最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离 学习型开源项目,配备详细的项目开发文档手把手教你 从零开…

    Java 2023年6月8日
    063
  • Windows系统安装最新版本RabbitMQ3.8.3报错解决

    今天想安装下RabbitMQ写几个用例看下,发现最新的安装包有些问题,不能直接安装使用,遇到一些问题,记录一下解决办法。 下载安装包 因为RabbitMQ是Erlang编写,安装时…

    Java 2023年6月5日
    096
  • IDEA SpringBoot多模块项目搭建详细过程(转)

    文章转自https://blog.csdn.net/zcf980/article/details/83040029 项目源码: 链接: https://pan.baidu.com/…

    Java 2023年5月29日
    0139
  • Linux远程连接工具:finalshell

    一、finalshell介绍 FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 特色功能:云端同步,…

    Java 2023年6月5日
    0129
  • 基于Springboot+JSP+Mybatis实现的员工管理系统

    在B站初学springboot整合mybatis,为了加深熟悉程度,于是就写了这个漏洞百出的员工管理系统。好了。废话不多说,开始! 不得作用于任何商业活动!!!! 1.环境准备 1…

    Java 2023年6月5日
    094
  • 树的基本概念介绍

    为什么需要树这种数据结构 这是我本人在B站看韩顺平老师数据结构和算法的学习笔记,记录一下,防止忘记 1) 数组存储方式的分析 优点:通过 下标方式访问元素,速度快。对于有序数组,还…

    Java 2023年6月15日
    083
  • Java学习-动手动脑4

    异常处理 public class SystemExitAndFinally { public static void main(String[] args) { try { Sy…

    Java 2023年6月9日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球