概念:
在java
中接收用户输入和C语言
有点不一样,一个是面对对象语言,一个面对过程语言,C语言只需要scanf
语句即可,但在Java
中需要导包,也就是引用API
,导入java.util.Scanner;
包。
使用格式:
package zhu.ming.zz;
import java.util.Scanner;
public class lianxi {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入父亲的身高"+sc+"cm");
Scanner girl=new Scanner(System.in);
System.out.println("输入母亲的身高"+girl+"cm");
}
}
在使用Scanner时需要注意常用三种输入:
第一种:
//接受整数类型
int i = input.nextInt();
/*
*这种情况下是只能接收整型数据
*/
第二种:
String str1 = input.next();//接收任何数据
/*
*返回String类型,但是不能接收空格,空格和回车便是结束。
*在输入内容之前所有输入的空格都不能接收。
*输入内容之后空格便是结束符。
*/
第三种:
String str2 = input.nextLine();//接收一整行数据
/*
*返回类型是String类型。
*可以接收空格。
*只能回车结束。
*/
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//1、从键盘中接收int类型数据
long l = sc.nextLong();//2、从键盘中接收long类型数据
float f = sc.nextFloat();//3、从键盘中接收float类型数据
double d = sc.nextDouble();//4、从键盘中接收double类型数据
String s = sc.next();//5、从键盘接收字符串类型数据
boolean flag = sc.nextBoolean();//6、从键盘接收布尔类型数据
Java并没有提供直接接收字符数据的方法,而是先接收字符串数据,然后进行转换。如下代码所示,先从键盘接收字符串类型数据,存储到字符串类型的变量str中,然后通过字符串的charAt()方法获得输入的第一个字符。
package com.jinglan.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
System.out.println("请输入数据:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
char ch = str.charAt(0);
System.out.println(ch);
}
}