用户交互Scanner
-
导入java.util.Scanner包,通过Scanner类我们能获取用户输入
-
基础语法
Scanner s = new Scanner(System.in);
-
我们可以通过Scanner类的next()和nextLine()方法获取用户输入,读取前使用hasNext()和hasNextLine()方法判断是否还有输入数据
-
next()方法一定要读取到有效字符才会结束,会自动删除有效字符前的空白,把有效字符之后的空白作为结束符或分隔符,next()不能得到带有空格的字符串
-
nextLine()方法以Enter为结束符,可以获取到输入回车之前的所有字符,可以获取空白
-
hasNext()方法还有相应的判断数据类型的方法,例如判断int型的方法hasNextInt(),其他类似
-
使用完Scanner后使用close方法关闭Scanner
顺序结构
-
顺序结构是最简单的结构
-
java的基本结构就是顺序结构,按照顺序一行一行的执行语句
-
它是任何一个算法都离不开的基本算法结构
选择结构
-
if单选结构
-
程序运行时需要进行一次判断就使用if
if(布尔表达式){
//表达式为true时执行的语句
} -
-
-
程序运行时需要进行两次判断就使用if-else结构
if(布尔表达式){
//表达式为true时执行的语句
}else{
//表达式为false时执行的语句
} -
-
if多选结构
-
程序运行时需要进行多次判断就使用if-else-if结构
if(布尔表达式1){
//表达式1为true时执行的语句
}else if(布尔表达式2){
//表达式2为true时执行的语句
}else if(布尔表达式3){
//表达式3为true时执行的语句
}else if(布尔表达式4){
//表达式4为true时执行的语句
}else{
//以上表达式都不为true时执行的语句
}-
一个if语句至多有一个else语句,else语句在所有if else语句之后
-
-
if嵌套结构
-
程序运行时需要进行多层判断就使用if嵌套结构
if(布尔表达式){
//表达式为true时执行的语句
if(布尔表达式2){
//表达式2为true时执行的语句
}
} -
-
switch多选结构
-
switch case语句是判断一个值是否与一系列值中的某一个相等,每个值是一个分支
switch(变量名){
case 值1 : 语句1 ;
break;
case 值2 : 语句2 ;
break;
case 值3 : 语句3 ;
break;
default:语句4 ;
}-
case后的值可以是byte,short,int,char,String
-
break可写可不写,写就只执行符合的值相应的语句,不写就执行从符合的值开始的之后所有语句直到遇到break或switch语句结束
-
default语句是所有值不匹配执行语句
-
循环结构
-
while循环
-
最基本的循环
while(布尔表达式){
//循环内容
}-
只要表达式为true,循环就会一直运行
-
但大多数情况是会让循环停下来的,我们需要一个让表达式生效方法来停止循环
-
少部分情况需要循环一直执行,例如监听事件
-
循环条件一直为true就会造成死循环,编程中要尽量避免死循环
-
-
do-while循环
-
while如果条件不满足就直接停止,do-while循环至少会执行一次
do{
//循环内容
}while(布尔表达式)-
while先判断后执行,do-while先执行后判断
-
-
for循环
-
for循环是支持迭代的、最有效、最灵活的循环结构
for(初始化;布尔表达式;更新){ //循环内容 } //循环输出1-100 for(int i = 1;i<=100;i++){ Sstem.out.print(i); }
-
-
循环控制
-
break、continue
-
break用于跳出循环,常与if语句一起用,直接结束整个循环语句
-
-