JAVA流程控制01
【今日】:再远的路走着走着也就近了,再高的山,爬着爬着也就上去了,再难的事,做着做着也就顺了,每次的重复不是相加,而是相乘,水滴石穿,不是水的力量,而是重复和坚持的力量。共勉之~~~
用户交互Scanner
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
基本语法:
Scanner s=new Scanner(System.in);
通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
eg:
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner sc=new Scanner(System.in);
System.out.println("使用next方式数据: ");
//判断用户有没有输入字符串
if(sc.hasNext()){
//使用next方式接受
String str=sc.next();
System.out.println("输出的内容为: "+str);
}
//凡是属于IO流的类如果不关闭会占用一定的资源,要养成好习惯用完就关掉
sc.close();
}
}
由结果可知,只有hello被输出,这里就涉及到了next()和nextLine()的区别。
next()、nextLine()区别和使用:
next()和nextLine()都是Scanner类中的方法,作用:获取输入的String类型的内容。
next():会自动消除有效数字之前的空格,只返回输入的字符,不会得到带有空格的字符串。也就是如果输入一串字符串,到了有空格的时候就会停止录入,只录入空格前面的东西。
nextLine():返回的是Enter键之前的所有字符,是可以得到带有空格的字符串的。
顺序结构
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行,顺序结构就是最简单的算法结构,语句与语句之间按照从上到下的顺序进行,他是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
我们很多时候需要判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中使用if语句来表示
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
if双选择结构
也就是if-else语句,意思:如果满足某种条件,就进行某种处理,否则就进行另外一种处理。
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
eg:
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner sc=new Scanner(System.in); int math=95; int english=56; if(math>60){ System.out.println("数学及格了"); } else{ System.out.println("数学没及格"); } if(english>60){ System.out.println("英语及格了"); } else{ System.out.println("英语没及格"); } //凡是属于IO流的类如果不关闭会占用一定的资源,要养成好习惯用完就关掉 sc.close(); } }
!
if多选择结构
语法:
if(布尔表达式1){
//如果布尔表达式的值为true
}else if(布尔表达式2){
//如果布尔表达式的值为true
}else if(布尔表达式3){
//如果布尔表达式的值为false
}else{
//如果以上布尔表达式都不为true执行代码
}
eg:
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner sc=new Scanner(System.in); int x=20; if(x>30){ System.out.println("a大于30"); } else if(x>10){ System.out.println("a大于10但小于30"); } else if(x>0){ System.out.println("a大于0但小于10"); } else{ System.out.println("a小于0"); } //凡是属于IO流的类如果不关闭会占用一定的资源,要养成好习惯用完就关掉 sc.close(); } }
switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法:
switch(表达式){
case 常量值1:
语句块1
break;//可选
case 常量值2:
语句块2
break;//可选
……
default://可选
语句块n+1
}
switch语句中的变量类型可以是:byte、short、int、或者char,从JavaSE 7开始,switch支持字符串String类型了,同时case标签必须为字符串常量或者字面量。
eg:
public class Demo01 {
public static void main(String[] args) {
char grade='C';
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;
}
}
}