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

JAVA流程控制

时间:2024-07-20 16:20:34浏览次数:9  
标签:语句 控制 JAVA int 流程 System else while 输入

Scanner对象

Scanner类获取用户的输入

基本语法

Scanner scanner = new Scanner(System.in);

通过 Scanner 类的 next()与 nextLine()方法获取输入的字符串,在读取前我们一般需要 使用 hasNext()与 hasNextLine()判断是否还有输入的数据。

has方法初始默认值为“True”,能正常通过 if 判断,由例子进行深入理解。

next() 和 nextLine()

next():

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

nextLine():

  1. 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
    //使用next方式接收
	String str = scanner.next();//程序会等待用户输入完毕
    System.out.println("输出的内容为:"+str);
}
//凡是属于I0流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
scanner.close();

例子()

输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:

//输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
        Scanner scanner =new Scanner(System.in);//和
        double sum =0;//计算输入的数字合
        int m= 0;//记录输入数字个数
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while(scanner.hasNextInt()){
            int x=scanner.nextInt();
            m=m+1;//m++
            sum=sum+x;
            System.out.println("你输入了第"+m+"个数据,当前结果sum="+sum);
        }
        System.out.println(m+"个数的和为"+sum);
        System.out.println(m+"个数的平均值为"+(sum / m));
        scanner.close();
        //其中,只要输入的数字不是整数,则会退出循环

顺序结构

顺序结构是Java最基本的结构,除非特别指明,否则就按照顺序一句一句执行。

选择结构

  • if 单选择结构

    if( 条件 ){ ; }

  • if 双选择结构

    if( 条件 ){ ; }else{ ; }

  • if 多选择结构

    if( 条件 ){ ; }else if( 条件 ){ ; }else if( 条件 ){ ; }else{ ; }

    if 语句至多有1个else 语句,else 语句在所有的 else if 语句之后if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行

  • if 嵌套选择结构

    if( 条件 ){ if( 条件 ){ ; } }

  • switch多选择结构

    switch(expression){
        case value ://语句
    				break;//可选
        case value ://语句
    				break;//可选
            //可以有任意数量的case语句
        default ://可选//语句
    }
    //case的语句中没有break可能会出现穿透现象
    

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

    byte、short、int 或者 char。

    从 Java SE 7 开始switch 支持字符串String 类型了

    同时 case 标签必须为字符串常量或字面量

循环结构

while循环

while( 布尔表达式 ){ //循环内容 }

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

do...while循环

do{ //循环内容 }( 布尔表达式 );

int n = 1;
while( n < 0 ){
    System.out.println( "while执行" );
}
do{
    System.out.println( "do...while执行" );
}while( n < 0 );

[!NOTE]

while 和 do...while 区别:do...while至少先执行一次

for循环

for( 初始化; 布尔表达式; 更新 ){ //循环语句 }

for(int i=1;i<=10;i++){
    if( i%2 == 1 ){
        System.out.println( i + "是奇数" );
    }else{
        System.out.println( i + "是偶数" );
    }
}

增强for循环

jdk5增加了主要用于数组或集合的增强型for循环

for( 声明语句: 表达式 ){ //循环语句 }

int[] numbers = {10,20,30,40,50};//定义了一个数组
for(int x:numbers){
    System.out.println(x);
}

break continue

continue 停止本次循环,进入下一次循环

break 退出整个循环,执行下一个语句

goto 关键字

跳转到“标签”语句

//不建议使用!
outer:for(int i=101;i<150;i++){
    for(int j=2;j<i/2;j++){
        if(i % j == 0){
            continue outer;
        }
    }
	System.out.print(i+" ");
}

九九乘法表

for(int j=1;j<= 9; j++){
    for(int i =1;i<= j; i++){
        System.out.print(j+"*"+i+"="+(j*i)+"\t");
    }
	System.out.println();
}

标签:语句,控制,JAVA,int,流程,System,else,while,输入
From: https://www.cnblogs.com/CLB-BB/p/18313280

相关文章

  • JAVA实现简单的计算器(整数)
    计算器实现基本流程实现加减乘除四个独立的方法。编写输入数据的语句(Scanner方法)。用switch来选择一个计算方式。添加输入选择计算方式的语句。importjava.util.Scanner;publicclassdemo03_calc{publicstaticvoidmain(String[]args){System.out.p......
  • java学习进度
    7.14(1)三元运算符格式:关系表达式?表达式1:表达式2;运行顺序:判断关系表达式是否为true,是则运行表达式1,否则运行表达式2代码示例://比较大小importjava.util.Scanner;publicclassSanyuan{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Syste......
  • 使用Java和Neo4j构建图数据库应用
    使用Java和Neo4j构建图数据库应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代应用开发中,图数据库在处理复杂的关系和网络数据时表现出色。Neo4j是一个流行的图数据库,它允许我们以图的形式存储和查询数据。本文将介绍如何使用Java和Neo4j构......
  • 使用Java和Consul实现服务配置管理
    使用Java和Consul实现服务配置管理大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代微服务架构中,服务配置管理是一个重要的环节。Consul是一个用于服务发现和配置管理的工具,它提供了一个灵活的方式来管理和存储配置数据。本文将展示如何使用Java......
  • Java中的多级缓存设计与实现
    Java中的多级缓存设计与实现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代应用程序中,多级缓存设计是一种常见的性能优化技术。多级缓存通过在不同层次上缓存数据来减少对底层存储系统的访问次数,提高系统的整体性能。本文将展示如何在Java中设计......
  • Java中的异步编程与CompletableFuture应用
    Java中的异步编程与CompletableFuture应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代Java编程中,异步编程变得越来越重要,它可以帮助我们提高应用程序的响应速度和性能。CompletableFuture是Java8引入的一个强大工具,它简化了异步编程,使得......
  • 使用Java和Google Guava简化开发
    使用Java和GoogleGuava简化开发大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!GoogleGuava是Google开发的一个Java开源库,它提供了许多工具和库来简化Java开发。Guava提供了从集合类到缓存、字符串处理、并发工具等多种功能。本篇文章将介绍如......
  • 使用Java和Spring MVC构建Web应用
    使用Java和SpringMVC构建Web应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代企业中,Web应用程序是最常见的应用类型之一。SpringMVC是一个强大且流行的JavaWeb框架,用于构建功能强大且易于维护的Web应用程序。本文将通过实际示例展示如......
  • Java中的编译器插件开发与应用
    Java中的编译器插件开发与应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java语言中,编译器插件的开发与应用是一种高级编程技术,能够扩展Java编译器的功能,以满足特定的需求。这些插件可以在编译过程中进行代码分析、优化,甚至修改源代码。本文将......
  • 使用Java和Elastic Stack进行日志分析
    使用Java和ElasticStack进行日志分析大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代企业中,日志分析是确保系统健康、进行故障排查和优化性能的重要环节。ElasticStack(ELKStack)是一个强大的工具集,包含Elasticsearch、Logstash和Kibana,能够有......