用户交互Scanner
java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用户的输入。
Scanner s = new Scanner(System.in);
//通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
//创建一个扫描器对象用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收: ");
//判读用户有没有输入字符串
if(scanner.hasNext()){
String str = scanner.next();
System.out.println(str);
}
//凡事属于io流的类如果不关闭就会一直占用资源,用完就关闭
scanner.close();
}
}
next()
-
一定要读取带有效字符后才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去除
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
nextLine()
-
以Enter为结束符
-
可以获得空白
选择结构
if单选择结构
if(布尔表达式){
//如果布尔表达式结果为ture运行
}else{
//如果布尔表达式结果为false运行
}
if多选择结构
if(布尔表达式1){
//如果布尔表达式1结果为ture运行
}
else if(布尔表达式2){
//如果布尔表达式2结果为ture运行
}
else if(布尔表达式3){
//如果布尔表达式3结果为ture运行
}
else{
//如果以上布尔表达式都不为ture执行代码
}
//一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
switch选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
//jdk7之后,表达式结构可以是字符串
switch(expression){
case value: //value必须是字符串常量或字面量以及枚举变量
//语句
break;//跳出选择
case value:
break;
default:
//语句 都不是的时候
break;
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
do while循环
do while循环至少循环一次
do{
//循环内容
}while(布尔表达式)
for循环
for(初始化; 布尔表达式;更新){
//代码
}
增强for循环
for(声明语句:表达式){
//代码句子
}
/*
int a[] = {10, 20, 30, 40, 50};
for(int x; a){
//代码
}
*/
break、continue
break用于强行退出循环,不执行循环中剩余的语句。
continue语句用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着执行下一次是否执行循环的判定。
goto
java没有goto,但可以用带标签的break和continue实现一部分goto功能
标签是指后面跟一个冒号的标识符(lable:)
对于java来说唯一用到标签的地方是在循环语句之前。在循环之前设置标签唯一的理由是:我们希望在其中嵌套另一个循环。
int count = 0;
outer:for(int i = 101; i < 150; i++){
for(int j = 2; j < i / 2; j++){
if(i % j == 0){
continue outer;
}
}
}
标签:语句,java,Scanner,day01,else,循环,流程,表达式,布尔 From: https://www.cnblogs.com/echoryblog/p/17760159.html