java流程控制
-
用户交互Scanner
-
顺序结构
-
选择结构
-
循环结构
-
break&continue
-
练习
我们可以通过Scanner类来获取用户的输入。
基本语法
Scanner s=new Scanner(System.in);
通过Scanner类的next()与nextLine()方法去获取输入的字符串,**在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据**
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接受:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接受
String str =scanner.next();
System.out.println("输出的内容为:"+str);
scanner.close();
//凡是输入输出流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉。
}
输入 hello world 会输出hello
因此有scanner.nextLine();
Scanner scanner =new Scanner(System.in);//从键盘接收数据
//判断是否还有输入。
systrm.out.println("使用hasNextLine()接收");
if(sacnner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("输出结果:"+str);
}
//输入hello world 输出hello world;
next():
-
一定要读取到有效字符后才可以结束输入。
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面输入的空白最为分隔符或者结束符。
-
next()不能得到带有空格的字符串
nextLine():
-
以enter作为结束符,也就是说nextLINE()方法返回的是输入回车之前的所有字符。
-
可以获得空白
如果要输入int,float类型
Scanner scanner = new Scanner(System.in);
int i=0;
float f=0.0f;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){
int i1=scanner.nextInt();
System.out.println("整数数据:"+i);
}else{
System.out.println(" 输入的不是小数数据!");
}
double sum=0.0;
Scanner scanner =new Scanner(System.in);
if (hasNextDouble()){
Double i=scanner.nextDouble();
sum+=i;
}
System.out.println(sum);
scanner.close();
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。
选择结构:
if单选则结构
if双选择结构
if多选择结构
嵌套的if结构
if单选则结构
if(boolean){
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String s=scanner.nextLine();
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
if双选择结构;
if(boolean){
}else{
}
if多选择结构
if(){
}else if(){
}else if(){
}else{
}
ep:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if(score==100){
System.out.println("恭喜!成绩满分!")else if(score<100&&score>=90){System.out.println("A级");
}else if(score<90&&score>=80){System.out.println("B级");
}else if(score<80&&score>=70){System.out.println("C级");
}else if(score<70&&score>=60){System.out.println("D级");
}else{
System.out.println("成绩不合法!");
}
scanner.close();
}
嵌套的if语句
使用嵌套的if...else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句,你可以像if语句一样嵌套else if...else
if(boolean1){
if(boolean2){
}
}
思考?我们需要寻找一个数,在1-100之间。
switch多选择结构
多选择结构还有一个实现方式就是switch case语句
switch case语句判断一个变量与一系列值中的某个值是否相等 每个值称为一个分支;
switch(expression){
case value:
break;
case value:
break;
default:
}
char grade="c";
switch(grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;//可选
//case 穿透 //switch 匹配一个值
case 'C':
System.out.println("及格");
case 'D':
System.out.println("再接再厉");
case 'E':
System.out.println("挂科");
}
没有 break 结束语句;则就会一直向下穿透全部输出。所以每次写一个case都要又break结束。
String name="狂神";
switch(name){
case "秦强":
System.out.println("秦将");
break;
case “狂神”:
System.out.println("狂神");
break;
default:
System.out.println("弄啥类!");
}
//##反编译 java---class(字节码文件)==反编译(IDEA);