首页 > 编程语言 >JAVA流程控制

JAVA流程控制

时间:2023-01-28 16:11:06浏览次数:38  
标签:控制 JAVA Scanner 流程 System 循环 public 输入 scanner1

JAVA流程控制

使用Scanner类输入

public class ScannerTest1 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner  scanner1=new Scanner(System.in);

        //判断用户有没有输入字符串
        if(scanner1.hasNext()){
            //使用next方式接收
            String str =scanner1.next();
            System.out.println("输出的内容为:"+str);
        }
        //关闭IO流
        scanner1.close();
    }
}

可以输入没有空格的字符串,如果想要输入空格则使用nextLine()

public class ScannerTest1 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner  scanner1=new Scanner(System.in);

        //判断用户有没有输入字符串
        if(scanner1.hasNextLine()){
            //使用next方式接收
            String str =scanner1.nextLine();
            System.out.println("输出的内容为:"+str);
        }
        //关闭IO流
        scanner1.close();
    }
}

两者的区别

  • next():
    1. 一定要读取到有效字符后才可以结束输入。
    2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
    4. next()不能得到带有空格的字符串。
  • nextLine():
    1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车以前的所有字符。
    2. 可以获得空白。

顺序结构

它是任何一个算法都离不开的一种基本算法结构

if选择结构

if(判断条件){要做的事}else

switch多选择结构

示例:

import java.util.Scanner;

public class SwitchTest1 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int i=0;
        System.out.println("请输入一个整数:");
        i=scanner.nextInt();
        switch(i){
            case 1:
                System.out.println("输入的是数字1");
                break;
            case 2:
                System.out.println("输入的是数字2");
                break;
            default:
                System.out.println("输入的不是数字1也不是数字2");
        }
        scanner.close();
    }
}

switch语句中的变量类型可以是:

  • byte、short、int或者char
  • 从Java SE 7 开始,支持字符串String类型(通过反编译)
  • 同时case标签必须为字符串常量或字面量

while循环

while(布尔表达式)

  • 只要布尔表达式为true,循环就会一直执行下去。
  • 大多数情况会让循环停止下来,需要一个让表达式失效的方式来结束循环
  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。
  • 循环条件一直为true就会造成无限循环,正常业务编程中应该尽量避免死循环。会影响程序性能或造成程序卡死崩溃。

dowhile循环

do{

​ //代码语句

​ }while(布尔表达式);

while和do-while区别:

  • while先判断后执行,dowhile先执行后判断
  • Do...while总是保证循环体会被至少执行一次。

For循环

支持迭代的一种通用结构,是最有效最灵活的循环结构。

for(初始化;布尔表达式;更新){

//代码语句

}

示例:

public class ForTest1 {
    public static void main(String[] args) {
        int []num={10,20,30,40,50};
        for(int i=0;i<5;i++){
            System.out.println(num[i]);
        }
        for(int x:num){
            System.out.println(x);
        }
    }
}

两种使用方式输出的是一样的

break continue

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。
  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

标签:控制,JAVA,Scanner,流程,System,循环,public,输入,scanner1
From: https://www.cnblogs.com/xingbingle/p/17070523.html

相关文章

  • 【Java001】Map集合遍历
    【Java001】Map集合遍历大家好,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!!方式1使用Map.Entr......
  • Java数组的使用
    本文介绍了在java开发中经常使用的数组,以及数组的使用方法,注意事项。一.什么是数组1.数组:数组即是一堆逻辑上无序的元素的序列,用来存储多个相同类型的数据,数组可以看做是一......
  • Java类图
    一、箭头:指向父类或接口。指向依赖物。指向子元素。箭头形状:1.继承、实现是**三角型箭头**,其他都为箭头2.组合、聚合都有一个**菱形端**,且都为**实线**,其他都无菱形......
  • java 环境配置(二) 安装IDEA
    1.安装地址:IntelliJIDEA–theLeadingJavaandKotlinIDE(jetbrains.com)   下载  下载完成双击安装即可  继续->  退出 ......
  • Java基础学习08
    多态的使用及细节(2023-01-28)1.对象多态:对象多态涉及到向上转型和向下转型,首先对象多态格式为  父类类型父类引用=new子类(向上转型)运用此方法可以更方便维护代码......
  • PID控制详解
    一、PID控制简介PID(ProportionalIntegralDerivative)控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建......
  • 对于Java平台的理解
    谈谈你对Java平台的理解?“Java是解释执行”,这句话正确吗? Java本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“一处编译,处处运行”(Writeonce,runanyw......
  • java书写并建立txt日志文件
    /*建立txt,并写入日志文件*/publicstaticvoidlogWrite(Stringdata,Stringname){//System.out.println("写入"+name+"开始");Calend......
  • java 环境配置(一) jdk8 安装
    1.下载JDK Oracle官网:Oracle|CloudApplicationsandCloudPlatformjava  下载  找到想要下载的版本这里我选择的是老版本java8下载完成   ......
  • 后端跨域问题导致java.io.IOException: UT010029: Stream is closed解决办法
    转载自:https://blog.csdn.net/qq_45925197/article/details/126708024背景下载文件压缩成zip包接口,postman自测没问题,但在和前端联调的时候前端就会出现如下跨域的报错......