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都是读字符串,区别如下:
- next():一定要读取到有效字符后才结束输入,输入有效字符后的空格作为分隔符或结束符,所以next()不能得到带有空格的字符串,需要判断时搭配hasNext()使用
- 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();
}
}

浙公网安备 33010602011771号