编程语言
首页 > 编程语言> > java05

java05

作者:互联网

Scanner对象

java.util.Scanner

通过Scanner类获取用户输入

基本语法

Scanner s = new Scanner(System.in);

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

实践

next()方法

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前的空白,next()会自动去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能得到带有空格的字符串
public static void main(String[] args){
    //接收键盘输入的数据
    Scannner scanner = new Scanner(System.in);
    System.out.print("使用next方式接收:");
    
    //判断用户是否有输入
    if(scanner.hasNext()){
        //使用next方法接收
        String str = Scanner.next();
        System.out.print("输出的内容为:"+str);
    }
    scanner.close();//关闭,释放资源
}

nextLine()方法

  1. 以Enter为结束符,也就说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白
public static void main(String[] args){
    //接收键盘输入的数据
    Scannner scanner = new Scanner(System.in);
    System.out.print("使用nextLine方式接收:");
    
    //判断用户是否有输入
    if(scanner.hasNextLine()){
        //使用nextLine方法接收
        String str = Scanner.nextLine();
        System.out.print("输出的内容为:"+str);
    }
    scanner.close();//关闭,释放资源
}

练习

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

public static  void main(String[] args){
    
    Scanner scanner = new Scanner(system.in);
    
    double sum = 0;
    int m = 0;
    
    while(scanner.hasNextLine()){        
        double x = scanner.hasNextLine();
        m = m + 1;//m++;
        sum = sum + x;
    }
    System.out.print(m + "个数总和为" + sum);
    System.out.print(m + "个数的平均值为"+ (sum/m));
    scanner.close();
}

选择结构

if单选择结构

判断一个东西是否可行,才执行,这样一个过程在程序中用if语句来表示

if(布尔表达式){
    //布尔表达式为true程序需要执行的语句
}

if双选择结构

if(布尔表达式){
    //布尔表达式为true执行的语句
}else{
    //布尔表达式为false执行的语句
}

if多选择结构

if(布尔表达式1){
    //表达式1为true执行的语句
}else if(布尔表达式2){
    //表达式2为true执行的语句
}else if(布尔表达式3){
    //表达式3为true执行的语句
}else{
    //表达式1.2.3都不为true执行的语句
}

嵌套的if结构

if(布尔表达式1){
    //表达式1为true执行的语句
    if(布尔表达式2){
      //表达式2为true执行的语句  
    }
}

switch多选择结构

switch(expression){
    case value:
        //语句
        break;//可选
    case value:
        //语句
        break;//可选
        .......
    default://可选
        //语句
}

循环结构

while循环

while(布尔表达式){
    //循环内容
}
  1. 布尔表达式为true,循环会一直执行

练习

计算1+2+3+.....+100

public static void main(String[] args){
    int i = 0;
    int sum = 0;
    while(i<=100){
        sum = sum + i;
        i++;
    }
    System.out.print(sum);
}

do...while循环

do{
    //代码语句
}while(布尔表达式);

while和do...while的区别

  1. while先判断再执行,do...while是先执行后判断
  2. do...while总是保证循环体至少执行一次!这是他们的主要差别

for循环

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

练习

  1. 计算0-100之间的奇数和偶数之和
public static void main(String[] args){
    int oddSum = 0;
    int evenSum = 0;
    
    for(int i = 0;i < 100;i++){
        if(i%2==0){
            oddSum+ = i;
        }else{
            evenSum+ = i;
        }
    }
    System.out.print("奇书和"+oddSum);
    System.out.print("偶书和"+evenSum);
}
  1. 用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
public static void main(String[] args){
    int i = 0;
    while(i<1000){
        if(i%5==0){
            System.out.print("i")
        }
        if(i%15==0){
            System.out.println();
            //System.out.print("\n");
        }
        i++;
    }
}
public static void main(String[] args){
    for(int i = 0;i<1000;i++){
        if(i%5==0){
            System.out.print("i")
        }
        if(i%15==0){
            System.out.println();
            //System.out.print("\n");
        }
    }
    
}
  1. 打印九九乘法表
public static void main(String[] args){
    for(int i = 1;i <= 9;i++){
        for(int j = 1;j <= i;j++){
            System.out.print(i+"*"+j+"="+(i*j)+"\t");
        }
        System.out.print("\n");
        // System.out.println();
    }
    
}

break,continue

break用于强行退出循环

continue用于终止某次循环过程

练习

打印三角形

public static void main(String[] args){
    for(int i = 1;i <= 5;i++){
        for(int j = 5;j >= i;j--){
            System.out.print(" ");
        }
        for(int j = 1;j <= i;j++){
            System.out.print("*");
        }
        for(int j = 1;j < i;j++){
            System.out.print("*");
        }
        
    }
}

标签:语句,java05,Scanner,System,while,表达式,String
来源: https://www.cnblogs.com/snowMoon/p/14990939.html