java.util.Scanner:我们可以通过Scanner类获得用户输入
- 基本语法:
Scanner s = new Scanner(System.in)
通过Scanner 类的 next()和nextline()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasLine()判断是否还有输入数据。
- next():
- 一定要读取到有效字符才可以结束
- 对有效字符 遇到空格,next()会自动将其去掉
- 只有输入有效字符才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
package Scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// 创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收");
// 判断用户还有没有输入字符串
if(scanner.hasNext()){
// 接收用户的输入使用next接收
// 只能接收下一个词
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
// 凡是属于IO流的类如果不关闭就会一直占有资源
scanner.close();
}
}
// 输入hello world
// 返回hello
- nextline():
- 以Enter为结束符,也就是说nextline()方法接收回车之前的所有
- 可以获得空白
package Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收");
// 判断用户还有没有输入字符串
if(scanner.hasNextLine()){
// 接收用户的输入使用next接收
// 会接收下一行的内容
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
}
// 凡是属于IO流的类如果不关闭就会一直占有资源
scanner.close();
}
}
// 输入hello world
// 返回hello world
- nextInt()
- nextFloat()
package Scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 从键盘输入数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数");
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数数据"+i);
}else {
System.out.println("输入的不是整数数据");
}
System.out.println("请输入小数");
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数数据"+f);
}else {
System.out.println("输入的不是小数数据");
}
}
}
Scanner小练习,求和求平均
package Scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
sum += x;
m++;
}
System.out.println(m+"个数的和为:"+sum);
System.out.println(m+"平均值为:"+(sum/m));
scanner.close();
}
}
顺序结构
java的基本结构就是顺序结构,从上往下一条一条的走。
它是任何一个算法都离不开的一种基本算法结构。
- if单选
if(布尔值类型){
//如果满足true , 则执行
}
package struct;
import javax.sound.midi.Soundbank;
import java.util.Scanner;
public class ifDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容");
String s = scanner.nextLine();
//equals:判断字符串是否相等
if(s.equals("hello")){
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
}
- if双选
if(布尔值类型){
//如果满足true , 则执行
}else{
//如果满足true , 则执行
}
- if多选
if(布尔值类型){
//如果满足true , 则执行
}else if{
//如果满足true , 则执行
}else{
//如果满足true , 则执行
}
- switch多选
while 循环switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//可以有任意数量的case
default:// 可选
//语句
}
先判断后执行
do…while循环while(布尔值){
//循环内容
}
至少执行一次循环,先进行do,在最后才判断是否满足条件
for循环do {
//代码语句
}while(布尔表达式);
太熟悉了,先不记录了
增强for循环for(初始值;布尔表达式;更新){
//代码语句
}
for(声明语句:表达式)
{
// 代码句子
}
package struct;
public class Demo05 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};
// 普通for
for (int i=0;i<5;i++){
System.out.println(numbers[i]);
}
// 增强for
for(int x:numbers){
System.out.println(x);
}
}
}
break,continue,goto
break:跳出本层循环
continue:跳出本次循环
goto少用 哈哈
打断点,点运行旁边的小蟑螂



