Java教程

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

本文主要是介绍我的Java学习心得04-流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

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学习心得04-流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!