ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

我的Java学习心得04-流程控制

2021-07-28 17:30:34  阅读:106  来源: 互联网

标签:Java Scanner 04 学习心得 System println out public scanner


目录

Scanner对象

一、字符串 

二、数字

 顺序结构、选择结构、循环结构

一、顺序结构

二、选择结构

三、选择结构


Scanner对象

        1、作用:通过 Scanner 类  来获取用户的输入

        2、基本语法

Scanner  s = new Scanner(System.in);

一、字符串 

  • 通过 Scanner 类  的 next() 与 nextLine() 方法来获取输入的字符串

        注意:next() 不接受空格,nextLine() 接受空格

  • 一般地,在读取前,使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据

        hasNext() 与 hasNextLine() 并无太大差别

import java.util.Scanner.;    //引入Scanner类

public class input01{

    public static void main(String[] args){

        // 创建一个扫描器对象,用于接受键盘输入
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用 next 方法接收");

        //判断用户有没有输入字符串
        if(scanner.hasnext()){
    
            // 使用 next 方法接收
            String str = scanner.next();    //不接受空格
            System.out.println("输出的内容为:" + str);

        }

        //凡是属于IO流的类,如果停止使用要及时关闭,防止占用资源
        scanner.close();
        
    }

}
import java.util.Scanner.;    //引入Scanner类

public class input01{

    public static void main(String[] args){

        // 创建一个扫描器对象,用于接受键盘输入
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用 nextLine 方法接收");

        //判断用户有没有输入字符串
        if(scanner.hasNextLine()){
    
            // 使用 next 方法接收
            String str = scanner.nextLine();    //接受空格
            System.out.println("输出的内容为:" + str);

        }

        //凡是属于IO流的类,如果停止使用要及时关闭,防止占用资源
        scanner.close();
        
    }

}

二、数字

        1、单纯的输入输出

import java.util.Scanner;

public class demo03 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        // 也可以进行初始化
        int i;
        float f;

        System.out.println("请输入整数");

        //判断输入的是否为整数
        if(scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("您输入的整数是:" + i);
        }
        else
            System.out.println("您输入的不是整数!");

        System.out.println("请输入小数");

        //判断输入的是否为float型
        if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("您输入的小数是:" + f);
        }
        else
            System.out.println("您输入的不是小数!");

        scanner.close();

    }

}

        2、输入 + 简单的计算

import java.util.Scanner;

public class demo04 {
    // 输入多个数据,计算其和 与 平均数,以非数字作为输入结束符
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double sum = 0; // 记录 和
        int num = 0;    // 记录 个数

        System.out.println("请输入多个数字计算 和 与 平均值");

        //当输入为非字符时,循环结束
        while(scanner.hasNextDouble()) {
            double x = scanner.nextDouble();
            num++;  //个数+1
            sum = sum + x; //计算和
        }

        System.out.println("对于输入的数字,其和为:" + sum);
        System.out.println("对于输入的数字,其平均值为:" + sum/num);

        scanner.close();

    }

}


 顺序结构、选择结构、循环结构

一、顺序结构

        一个个语句一次执行就是顺序结构 

二、选择结构

        1、if 选择结构

                (1)if 单选择结构

if( 布尔表达式 ){

    // 若布尔表达式的值为true则执行该语句体

} 

 

                (2)if 双选择结构

if( 布尔表达式 ){

    // 若布尔表达式的值为true则执行该语句体,不执行下一个

} 

else{

    // 否则执行该语句体,而不执行上一个

}

 

                (3)if 多选择结构

if( 布尔表达式1 ){

    // 若布尔表达式1的值为true则执行该语句体

} 

else if( 布尔表达式2 ){

    // 若布尔表达式2的值为true则执行该语句体

}

    ···   ···

else{

    // 上述表达式都为false 时执行该语句体

}

 

                 (3)if 嵌套结构

if( 布尔表达式1 ){

    // 若布尔表达式1的值为true则执行该语句体

    if( 布尔表达式2 ){

        // 若布尔表达式2的值为true则执行该语句体

    }

} 

        2、switch 多选择结构 

  • 格式
switch( 变量 ){

    case 值1 :
        // 语句
        break; // 可选

    case 值2 :
        // 语句
        break; // 可选

    ···    ···

    default : // 可选
        // 语句


}

注:

  • 变量类型:byte、short、int、char
    • 从JavaSE7开始,switch支持字符串String类型,同时case标签须为相应值
  • case 存在 穿透现象:若变量与值m相等,则执行其下语句,知道遇见break为止
  • 当变量与case给的所有值都不同时,才执行default
  • 当变量为整型时,写例如 case 1 :
  • 当变量为字符型时,写例如 case 'A' :
  • 当变量为String时,写例如 case"Java" :

三、选择结构

        1、while 循环结构 

while( 布尔表达式 ){

    // 表达式成立时执行

}

例题:计算1+2+···+100

public class demo01 {

    public static void main(String[] args) {

        int i = 1;    //表示加数
        int sum = 0;    //表示和

        while( i <= 100 ){
            sum = sum + i;
            i++;
        }

        System.out.println(sum);

    }

}

        2、do while循环

do{

    // 语句

}while( 布尔表达式 )

注:do while先执行再判断

        3、for循环

for( 初始化; 条件判断; 更新 ){

        // 循环体

}

注:

  • 初始化:可声明一种类型,也可给多个已声明的变量赋值,也可为空语句
  • 条件判断:当满足条件时,执行循环;否则,循环终止
  • 更新:每执行完一次循环体之后,更新循环控制变量

例题:计算0-100之间的奇数和、偶数和

public class demo02 {

    public static void main(String[] args) {

        int oddSum = 0;
        int evenSum = 0;

        for (int i = 0; i < 100; i++) {
            if(i%2 == 0) {    //判断是否为偶数
                evenSum = evenSum + i;
            }
            else{
                oddSum = oddSum + i;
            }
        }

        System.out.println("0-100的奇数和为:" + oddSum);
        System.out.println("0-100的偶数和为:" + evenSum);

    }

}

例题:for循环输出1-1000之间能被5整除的数,并且每行输出3个数

public class demo03 {

    public static void main(String[] args) {

        for (int i = 1; i <= 1000; i++) {
            if(i%5 == 0) {    // 能被5整除
                System.out.print(i+"\t");
            }
            if(i%(5*3) == 0)    //控制一行内输出3个数
                System.out.println();
        }

    }

}

例题:打印九九乘法表

public class demo04 {
    //打印九九乘法表
    public static void main(String[] args) {
        for(int i = 1; i <= 9; i++){    // 控制行数
            for(int j = 1; j <= i; j++){    // 控制列数
                System.out.print(j + "*" + i + "=" + i*j + '\t');
            }
            System.out.println();
        }
    }
}

例题:打印5行三角形 

public class demo06 {
    // 打印5行三角形(以5*10的长方形为背景)
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for(int j = 5; j >= i; j--) {   //部分1,打印空格
                System.out.print("");
            }
            for(int j = 1; j <= i; j++) {   //部分2,打印*
                System.out.print("*");
            }
            for(int j = 1; j < i; j++) {   //部分3,打印*
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

4、增强for循环

int[] num = {10, 20, 30, 40, 50};    //定义了一个数组

// 便利数组的元素
for(int i:num)
    System.out.println(i);

5、break 和 continue

        (1)break:强行退出循环,不执行循环中剩余语句

        (2)continue:终止某次循环,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

        (3)goto:实际上是带标签的循环体,continue利用标签跳入到制定循环体中(不建议使用)

public class demo05 {
    // 打印101-150之间的所有质数
    public static void main(String[] args) {
        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+" ");
        }
    }
}

标签:Java,Scanner,04,学习心得,System,println,out,public,scanner
来源: https://blog.csdn.net/weixin_48112675/article/details/119062394

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有