1.用户交互Scanner
- java.util.Scanner 是java5的新特征,我们可以通过Scanner类来获取用户的输入
基本语法
Scanner s = new Scanner(System.in)
通过Scanner类的next()与nextLine()获取用户输入的字符串,在读取前我们一般需要,使用hasNext()与hasNextLine()判断是否有输入的数据
- next()和nextline()方法的区别

// nextline方式Scanner scanner = new Scanner(System.in);System.out.println("使用nextLine方式接收:");if (scanner.hasNextLine()){String s = scanner.nextLine();System.out.println("接收的数据"+s);}Scanner scanner = new Scanner(System.in);//next() 方式接收System.out.println("使用next方式接受:");if (scanner.hasNext()){String s = scanner.next();// 程序会等待用户输入完毕heSystem.out.println("输出的内容为"+s);scanner.close();}// 进阶Scanner scanner = new Scanner(System.in);System.out.println("接收int 类型数据了:");if(scanner.hasNextInt()){int i = scanner.nextInt();System.out.println("接收到的整数是" + i);}else{System.out.println("接收到的不是整数");}scanner.close();// 输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字结束输入来输出执行结果Scanner scanner = new Scanner(System.in);double sum = 0;int m = 0;System.out.println("请输入数: ");while(scanner.hasNextDouble()){double x = scanner.nextDouble();m ++;sum += x;}System.out.println("输入的总和是"+sum);System.out.println("输入的总次数是"+m);scanner.close();
2.顺序结构
语句和语句之间,框与框之间从上到下的顺序执行,它是由若干个一次执行的处理步骤组成,它是任何一个算法都离不开的一种算法结构
3.选择结构
1) if 选择结构
if 多选择结构 if (){}else if {}()else{}
if (x < 60){System.out.println("不及格");}else if(x > 60 && x < 80){System.out.println("良");}else{System.out.println("优秀");}
2) switch

case 穿透(不使用break的场景)
char c = 'C';switch (c){case 'A':System.out.println("良");break;case 'B':System.out.println("优秀");case 'C':System.out.println("漂亮");}
-
4.循环结构
1) while
int i = 10;while(i > 5){i --;System.out.println(i);}
2) do while
int i = 10;do{System.out.println(i);i --;}while (i>5);
3)for
```java package com.scanner;
public class Demo03 { public static void main(String[] args) { // 计算 0-100 奇数和偶数的和 // 用while 和for 循环 计算0-1000能被5整除的数,并且每行输出3个 // 打印 九九乘法表 int oddNum = 0; int evenNum = 0; for (int i = 0; i < 100; i++) { if (i % 2 != 0) { oddNum += i; } else { evenNum += i; } } System.out.println(oddNum); System.out.println(evenNum);
for (int i = 0; i <= 1000; i++) {if (i % 5 == 0) {System.out.print(i + "\t");}if (i % (5 * 3) == 0) {System.out.println();}}for (int i = 1; i < 10; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "*" + i + "=" + (j * i) + "\t");}System.out.println();}}
}
<a name="npG0Y"></a>#### 4) 增强for循环```javapackage com.scanner;public class Demo04 {public static void main(String[] args) {int[] numbers = {10,20,40,50,21};for(int x: numbers){System.out.println(x);}}}
5) 参数省略
package com.scanner;public class Demo04 {public static void main(String[] args) {for (; i < 5; i++) {System.out.println(i);}}}// 1.第一个参数必须要定义,不然编译失败// 2.第二个参数可以不写,因为没用终止条件所以无限循环下去// 3.第三个也可以不写,也是无限循环,但是输出的永远是零
5.break & contiune
// breakint i = 0;while (i < 100){i ++;System.out.println(i);if (i == 10){break;}}System.out.println("执行结束!");//continueint i = 0;while (i < 15){i ++;System.out.println(i);if (i == 10){continue;}System.out.println("执行 " + i);}System.out.println("执行结束!");
6.练习
package com.scanner;public class Demo05 {public static void main(String[] args) {// 打印三角形for (int i = 1; i <= 5; i++) {for (int j = 5; j >= i;j --){System.out.print(" ");}for (int j = 1; j <= i;j++){System.out.print("*");}for (int j = 1; j < i;j++){System.out.print("*");}System.out.println();}}}//*************************************************************************************进程已结束,退出代码为 0
