拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 JAVA从入门到入土之包机制 ,用户交换Scanner

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

白鹭 - 2022-01-24 2018 0 0

@[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

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *