Java基础02

Java流程控制

用户交互Scanner

Scanner对象

Scanner s = new Scanner(System.in);
  • next()
    1. 一定要读取到有效字符后才可以结束输入
    2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
    4. next()不能得到带有空格的字符串
package scanner;
import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String str = scanner.next();
        System.out.println("输出的内容是"+str);

        /*//判断用户有没有输入字符串
        if (scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输出的内容是"+str);
        }*/



        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完关闭掉
        scanner.close();


    }
}

在这里插入图片描述

  • nextLine():
    1. 以Enter为结束符也就是说nextline()方法返回的是输入回车前所有字符
    2. 可以获得空白
package scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();
        System.out.println("输出的内容是:"+s);
        /*if(scanner.hasNextLine()){
            String s = scanner.nextLine();
            System.out.println("输出的内容是:"+s);
        }*/
        scanner.close();
    }
}

2

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

package scanner;

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        //输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果。
        Scanner scanner = new Scanner(System.in);

        //定义一个和sum以及计算共输入了多少数字m。
        double sum = 0;
        int m = 0;
        System.out.println("输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果");
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计。
        while (scanner.hasNextDouble()){
            double v = scanner.nextDouble();

            m++;

            sum+=v;
            System.out.println("你输入了第"+m+"个数据,当前的和sum="+sum);
            System.out.println("你输入了第"+m+"个数据,当前的平均值是"+sum/m);
        }

        System.out.println(m+"个数的和为:"+sum);
        System.out.println(m+"个数的和为:"+sum/m);


        scanner.close();
    }
}

顺序结构

从上到下依次进行,它是任何算法都离不开的一种基本算法结构

选择结构

if单选结构

if(布尔表达式){
    输出语句;
}

if双选结构

if(布尔表达式){
    输出语句1;
}else{
	输出语句2;
}

if多选结构

//表达式正确输出相对应语句,不正确按顺序继续判断
if(布尔表达式1){
    输出语句1;
}else if(布尔表达式2){
	输出语句2;
}else if(布尔表达式3){
	输出语句3;
}else if(布尔表达式4){
	输出语句4;
}
   .......
else{
    输出语句n+1;
}

嵌套的if结构

if(布尔表达式1){
    //布尔表达式1正确执行
    语句1;
    if(布尔表达式2){
        //布尔表达式2正确执行
        语句2;
    }
}

switch多选择结构

  • switch case语句判断一个变量与一系列之中的某个值是否相等,每个值称为一个分支。
  • switch语句中的变量类型可以是:
    1. byte、short、int或者char。
    2. 从Java SE 7 开始switch支持String类型
    3. case标签必须为字符串常量或者字面量。
switch(){
    case value:
        //语句
        break;//可选
    case value:
        //语句
        break;//可选
    .....//多条case语句
    default://可选
        //语句
}

循环结构

while循环

while(布尔表达式){
	语句;//布尔表达式为真一直执行;为假跳出
}

do …while循环

//必执行一次
do{
	语句;
}while()

for循环

package structure;

public class ForDemo02 {
    public static void main(String[] args) {
        //练习:用for循环输出1-1000之前能被5整除的数,并且每行输出3个
        for (int i = 0; i < 1000; i++) {//1000.for可以快速生成
            if (i%5==0){
                System.out.print(i+"\t");// \t相当于tab键

            }if (i%(5*3)==0){
                System.out.println();
                //System.out.print("\n");
            }
        }
    }
}


package structure;

public class ForDemo03 {
    public static void main(String[] args) {
        //九九乘法表
        /*
            1、先打印第一列
            2、再把固定的1用循环体包起来
            3、去掉重复项
            4、调样式
         */
        for (int j = 0; j <=9; j++) {
            for (int i = 1; i<=j; i++) {
                System.out.print(i+"*"+j+"="+(j*i)+"\t");
            }
            System.out.println();//通过j来控制列
        }
    }
}


增强for

package structure;

public class ForDemo05 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};
        //遍历数组的元素
        for (int x:numbers){
            System.out.println(x);
        }
        /*
          for (int i = 0; i < 5; i++) {
                System.out.println(numbers[i]);
          }
         */
    }
}


break&continue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值