- 初始化一个 Scanner 对象
- 采用 next 方法或者 nextline 方法接收数据,使用前可使用 hasNext 或hasNextLine 来判断是否还有输入。
- 关闭 Scanner 对象。
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
// 初始化一个Scanner类实例对象,用于接收用户输入
Scanner scanner = new Scanner(System.in);
// 采用next方式接收
System.out.println("请输入:");
String s = scanner.next();
System.out.println("输入的内容为:"+s);
// 若在此处 scanner.close() 出现在此处则后面会报错;
// 采用nextLine方式接收
Scanner scanner2 = new Scanner(System.in);
System.out.println("请输入:");
String s2 = scanner2.nextLine();
System.out.println("输入的内容为:"+s2);
scanner.close();
scanner2.close();
}
}
next 方法
next 方法只用于接收单个单词,有效字符前的空白会被忽视,有效字符后的空白会被认为是结束符。
nextLine 方法nextLine 方法用于接收一行数据,可以接收空白,回车符被认为是接收标志
扩展Scanner 有对应的nextInt,nextDouble 等方法和与之匹配的hasNextInt等方法。
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
// 初始化一个Scanner类实例对象,用于接收用户输入
Scanner scanner = new Scanner(System.in);
// 输入多个数,并求得总和和平均值
int sum = 0; // 总和
int m = 0; // 用于计数
System.out.println("请输入一个整数:");
while(scanner.hasNextInt()){
int a = scanner.nextInt();
sum = sum + a;
m++;
System.out.println("已输入"+m+"个数,总和:"+sum);
System.out.println("请输入一个整数:");
}
System.out.println("共输入"+m+"个整数,总和:"+sum+" 平均值:"+sum/m);
scanner.close();
}
}
顺序结构。
最基本的结构,代码从上至下依次执行。
选择结构 if 、if…else 、if …else if …else-
若if表达式为真则执行其后面的代码块,否则不执行
-
else在一个选择结构中至多只能有一个
- switch 后的表达式中可以是byte、short、int、char 还可以是字符串
- case 标签后面必须是常量
- 若 case 后的代码块中没有 break,则条件满足后的所有代码都将执行,即若在下面的代码中 case 100 后的代码块中没有break,则当输入100时,自动视为满足 case 90。
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
// 初始化一个Scanner类实例对象,用于接收用户输入
Scanner scanner = new Scanner(System.in);
System.out.println("请输入");
int a = scanner.nextInt();
if(a>90){
System.out.println("优秀");
}else if(a>80){
System.out.println("不错");
}else{
System.out.println("合格");
}
switch (a){
case 100:
System.out.println("100分");
break;
case 90:
System.out.println("90分");
break;
case 80:
System.out.println("80分");
break;
default:
System.out.println("不错哟");
}
scanner.close();
}
}
反编译
IDEA实现反编译,在项目结构中可以看到编译后的class文件所在的位置,如果直接用记事本打开的话,会显示乱码,可以直接在IDEA中双击打开class文件,此时会显示反编译后的结果。
循环结构 while 、do…while 、forpublic class Demo1 {
public static void main(String[] args) {
// while 循环 :先判断条件是否满足,若是,则执行代码块,否则,不执行代码块。
int a = 0;
while (a<10){
System.out.println(a);
a = a + 2;
}
System.out.println("========================");
// do...while 循环: 先执行一次代码块,在判断条件是否满足,若是,则继续执行代码块,否则,不执行代码块。
int b = 1;
do{
System.out.println(b);
b = b + 2;
}while(b < 5);
System.out.println("========================");
// for(初始化;条件判断;更新)
for (int c=1;c<10;c++){
System.out.println(c);
}
}
}
break&continue
break 强制跳出循环,不执行后续语句,也可用在switch语句中。
continue 用在循环中,跳过后续语句,直接开始下一次循环。
练习- 打印九九乘法表
public class Demo1 {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
-
打印三角形
public class Demo1 { public static void main(String[] args) { for(int i=1;i<9;i++) { for (int a=0; a<9-i; a++) { System.out.print(" "); } for (int b=0; b System.out.print("*"); } for (int b=1; b System.out.print("*"); } System.out.println(); } } }



