Java流程控制
1.用户交互
Scanner 来获取用户的输入。
Scanner用next()和nextLine()的方法获取输入的字符串
在读取前hasNext()和hasNextLine()来判断是否还有输入的数据
基本语法
Scanner s = new Scanner(System.in);
String str=scanner.next();
System.out.println(str);
scanner.close();
hasNext 空格作为结束符号(不能识别空格后面的数据,hasNext里面不能使用空格)
package com.wang.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()==true){
//使用next方式接收:
String str=scanner.next();
System.out.println(str);
}
scanner.close();
}
}
hasNextLine Enter作为结束语
package com.wang.Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
//使用hasNextLine来判断输入的数据是否结束:
if(scanner.hasNextLine()==true){
String str = scanner.nextLine();
System.out.println(str);
}
scanner.close();
}
}
拓展
package com.wang.Scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
//输入多个数据,求其总和和平均数,每输一个数字需要用回车来确认,通过输入非数字的字符来结束输入
Scanner scanner = new Scanner(System.in);
//输出:请输入数字
System.out.println("请输入数字:");
//计算输入了多少个数字
int m=0;
//和
double sum=0;
//通过循环输入判断是否还有输入,并在里面对每一次进行求和
while(scanner.hasNextDouble()){
double d = scanner.nextDouble();
m++;
sum=sum+d;
}
System.out.println("一共有"+m+"个数,"+"它们的平均数为"+(sum/m));
scanner.close();
}
2.结构
a.顺序结构
b.选择结构
if语句
switch语句
package com.wang.Scanner;
public class demo04 {
public static void main(String[] args) {
char grade='B';
switch(grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("挂科");
}
}
}
c.循环结构
while循环
int i=0;
int sum=0;
while(i<100){
i++;
sum=sum+1;
}
System.out.println(sum);
do…while循环
先执行后循环(至少循环一次)
int i=0;
int sum=0;
do{
i++;
sum=sum+1;
}while(i<0)
System.out.println(sum);
结果为1
for循环
//初始化||条件判断||迭代
for(int i=0;i<100;i++){
System.out.println(i);
}
九九乘法表
package com.wang.Scanner;
public class Demo05 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int m = 1; m <= i; m++){
System.out.print(m+"*"+i+"="+(i*m)+"\t");
}
System.out.println();
}
}
}
3.break&continue
break:运行到此,强制终止循环,一般用在switch和for/while中,(不再执行循环)
contiune:满足某些条件,终止某次循环,再重新开始继续循环,(还要继续执行完)。
4.练习
打印三角形
package com.wang.struct;
public class TestDemo {
//打印三角形
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();
}
}
}