Java学习 Day 4+
今天两更^ _ ^
Scanner对象
package com.jun.operator;
import java.util.Scanner;
public class scanner {
public static void main(String[] args) {
//创建一个扫描器对象
Scanner scanner=new Scanner(System.in);
System.out.println("使用next方式接受:");
//判断用户有没有输入
if(scanner.hasNext()){ //可以使用hasNext或者hasNextLine()来判断
String str=scanner.next();//获得输入的第一个字符,输出hello
//String str=scanner.nextLine();//获得输入的一整行,输出hello world
System.out.println(str);
}
scanner.close();//关闭,减少资源占用
}
}
next():
-
一定要读到有效字符后才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有有效输入字符后才能将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
nextLine()
- 以Enter为结束符,得到输入回车之前的所有字符
- 可以获得空白
Scanner获得不同种类数据
package com.jun.operator;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接受数据
int a = 0;
float b = 0.0f;
System.out.println("请输入数据:");
if(scanner.hasNextInt()){
a=scanner.nextInt();
System.out.println("输入的整数数据为:"+a);
}else if(scanner.hasNextFloat()){
b=scanner.nextFloat();
System.out.println("输入的浮点数据为:"+b);
}
}
}
实际应用
对多个数据求和和平均值
package com.jun.operator;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
//对多个数据进行求和和取平均值
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
double sum = 0;
int n = 0;
while (scanner.hasNextDouble()) {
double x = scanner.nextDouble();
n++;
sum += x;
}
System.out.println(n + "个数据和为:" + sum);
System.out.println(n + "个数据平均值为:" + (sum / n));
}
}
流程控制
- 顺序结构:基本结构,一行行的往下执行
- 选择结构:if选择,switch选择(注意case穿透,使用break即时结束)
- 循环结构:while 循环,do … while循环, for循环
增强for循环
package com.jun.operator;
public class Demo4 {
public static void main(String[] args) {
int []numbers={10,20,30,40,50};
//增强for循环
for(int i:numbers){ //将numbers中的数据逐一赋给x
System.out.println(i);//输出数组中的数据
}
}
}
break
用于跳出循环,不执行循环剩余的语句
continue
用于终止某次循环,不执行这次循环的剩余部分,执行下次循环
goto
别学,臭名昭著