输入不含空格的字符串:
package scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象用于接收键盘数据
Scanner scanner1=new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符
//if(scanner1.hasNext()) {
//使用next方式接收
String str1=scanner1.next();
System.out.println(str1);
//}
//IO流的类不会自动关闭
scanner1.close();
}
}
输入可包含空格的字符串:
package scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner2=new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//if(scanner2.hasNextLine()) {
//使用nextLine方式接收
String str2=scanner2.nextLine();
System.out.println(str2);
//}
scanner2.close();
}
}
next与nextLine的区别为:
next | nextLine |
---|---|
读取到有效字符后才可以结束输入 | 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。 |
输入有效字符之前遇到的空白会自动将其去掉 | 可以获得空白 |
输入有效字符后才将其后面输入的空白作为分隔符或者结束符 | |
不能得到带有空格的字符串 |
输入数字:
package scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入整数:");
if(scanner.hasNextInt()) {
int a=scanner.nextInt();
System.out.println(a);
}
else {
System.out.println("数据类型错误");
}
System.out.println("请输入小数:");
if(scanner.hasNextFloat()) {
float b=scanner.nextFloat();
System.out.println(b);
}
else {
System.out.println("数据类型错误");
}
scanner.close();
}
}
输入多个数字以非数字结尾:
package scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
double sum=0;
int n=0;
System.out.println("请输入数据:");
while(scanner.hasNextDouble()) {
double t=scanner.nextDouble();
sum+=t;
n++;
}
System.out.println("和:"+sum);
System.out.println("平均值:"+(sum/n));
scanner.close();
}
}
增强for循环和标签
package struct;
public class Demo1 {
public static void main(String[] args) {
int[] a= {1,2,3,4,5,6};
//增强for循环
for(int i:a) {
System.out.println(i);
}
System.out.println("---");
//goto
outer:for(int i:a) {
if(i==3) {
continue outer;
}
System.out.println(i);
}
}
}