JAVA从入门到入土之包机制 ,用户交换Scanner

@[TOP]

#包机制

#用户交换Scanner

        #1,包机制

       (1),其实包就是文件夹

       (2),为了更好的,地组织类,JAVA提供了包机制,用于区别类名的命名空间。因此不同包中的类名可以相同。

       (3),package pkg1[pkg2[pkg3...]];

       (4),一般利用公司域名倒置作为包名   例如百度包名可以为:com.baidu.www

       (5),为了能够使用某一个包的成员,我们需要在java程序中明确导入该包,

         完成此功能。

  # 2,用户交换Scanner

(1)Scanner类的介绍:之前我们学的基本语法中我们并不能计算机和人的交互,但是 Java 给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来通过用户在键盘上输入数据从而获取用户的输入

(2)Scanner类的基本语法:

Scanner scanner=new Scanner;

 (3)next&nextLine

思路:分别利用next和nextLine从键盘上输入一些内容,可以得出二者的区别

<1>先用next接收一下输入的内容:


import java.util.Scanner;
 
public class java1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("next的接收方式:");
        String str = scanner.next();
        System.out.println("输入内容"+str);
        //注:凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉.
        scanner.close()

IO流:即输入输出流,跟电脑打交道的,键盘输入,输出。

  <2>再用nextLine接收一下内容:


import java.util.Scanner;
 
public class java1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("nextLine的接收方式:");
        String str = scanner.nextLine();
        System.out.println("输入内容"+str);
        //注:凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉
        scanner.close();

}

二者键盘都输入“hello  world”(注意里面有一个空格)可以发现next为

 nextLine为:

因此,next()不能得到带有空格的字符串,而nextLine可以,因此,nextLine()比next用的更多。然后havenext 和havenextLine是判断后面还有没有数据。

两者区别总结:
next():
1 、一定要读取到有效字符后才可以结束输入。
2 、对输入有效字符之前遇到的空白, next() 方法会自动将其去掉。
3 、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4 、 next() 不能得到带有空格的字符串
nextLine():
1 、以 Enter 为结束符 , 也就是说 nextLine() 方法返回的是输入回车之前的所有字符。
2 、可以获得带有空白的字符串。

(4)scanner进阶使用:

我们可以输入多个数字,并求其总和与平均数

ackage cn.itcast.demo;

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
 //我们可以输入多个数字,并求其总和与平均数,
// 每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
 Scanner scanner = new Scanner(System.in);
 double sum=0;
 int m=0;
  //通过循环判断是否还有输入,并在里面对每一次进行求和统计
    while (scanner.hasNextDouble()){
        double x=scanner.nextDouble();
//
  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();



    }
}

分别输入10,20,30,40,可得输出结果为:

下面是用代码测试一下hasNextDouble输出:

 

谢谢各位大佬!

最后感谢狂神大佬:

【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>