java学习笔记之scanner输入

  • 变量篇

类变量:前面要加static关键字,可以在自身类方法里面直接用

实例变量:不需要加static关键字,从属于对象,不初始化有默认值,除了基本类型都是null。要使用必须要有实例化对象,通过对象.xxx(如student.age)来使用

常量:在前面加final关键字

package com.kuang.base;

public class demo3 {
    //属性
    //类变量,前面必须加static关键字
    static String name;//String是引用类型
    //实例变量:从属于对象,不初始化有默认值,除了基本类型都是null
    int age;
    //常量
    static final double PI=3.14;//修饰符没有先后关系

    //main方法
    public static void main(String[] args) {
        //局部变量,必须初始化
        demo3 d=new demo3();//可以实例化自己
        System.out.println(d.age);
        System.out.println(name);
        System.out.println(PI);
    }

    //其他方法
}

  • 输入篇

Scanner类用来获取用户的输入,Scanner类的next()和nextLine()方法可以用来获取输入的字符串,hasNext()与hasNextLine()判断是否还有输入的数据

package com.kuang.scanner;

import java.util.Scanner;

public class demo1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        //hasNext和hasNextLine有区别
//        if(input.hasNext())
//        {
//            String str=input.next();//字符串
//            System.out.println(str);
//        }
        //判断是否还有输入
        if(input.hasNextLine())
        {
            String name=input.nextLine();
            System.out.println(name);
        }
        //用完scanner要关掉,可以节省资源
        input.close();
    }
}

next()和nextLine都是读字符串,区别如下:
  1. next():一定要读取到有效字符后才结束输入,输入有效字符后的空格作为分隔符或结束符,所以next()不能得到带有空格的字符串,需要判断时搭配hasNext()使用
  2. nextLine():以enter为结束符,可以获得空白符的字符串,需要判断时和hasNextLine()搭配

其它:

package com.kuang.scanner;

import java.util.Scanner;

public class demo2 {
    public static void main(String[] args) {
        float f=0.0f;
        Scanner input =new Scanner(System.in);
        if(input.hasNextInt()) //需要判断时可用
        {
            int a=input.nextInt();
            System.out.println("整数"+a);
        }
        else
        {
            System.out.println("你输入的不是整数");
        }
        if(input.hasNextFloat()) //需要判断时可用
        {
            float b=input.nextFloat();
            System.out.println("你输入的小数:"+b);//加号字符串连接
        }
        else
        {
            System.out.println("你输入的不是小数");
        }
        input.close();
    }
}

package com.kuang.scanner;

import java.util.Scanner;

public class demo3 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        double sum=0;
        int cnt=0;
        while (input.hasNextDouble())
        {
            double v=input.nextDouble();
            cnt++;
            sum+=v;
        }
        System.out.println(sum/cnt);
        input.close();
    }
}

posted @ 2021-03-28 15:37  漂流海上的草帽  阅读(148)  评论(0)    收藏  举报