Scanner s = new Scanner(System.in)
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户是否输入数据
if(scanner.hasNext()){
//使用next方式接收
String str = scanner.next();//程序会等待用户输入完毕
System.out.println(str);
}
//关闭io流
scanner.close();
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextline进行接收");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println(str);
}
scanner.close();
【next()】:
【nextLine()】:
String str = scanner.nextLine();
if单分支结构:
if(布尔表达式){
语句块
}
if-else双分支结构
if(布尔表达式){
语句块 1
}else{
语句块 2
}
if-else if-else 多分支结构
if(布尔表达式 1) {
语句块 1;
} else if(布尔表达式 2) {
语句块 2;
}……
else if(布尔表达式 n){
语句块 n;
} else {
语句块 n+1;
}
switch 多分支结构
根据表达式的值从相匹配的 case 标签处开始执行,一直执行到 break语句处或者是 switch 语句的末尾。如果表达式的值与任一 case 值不匹配,则进入 default语句(如果存在 default 语句的情况)。
switch语句中的变量类型可以是:
JDK1.5之前必须是整数(long 类型除外)或者枚举
switch (表达式) {
case 值 1:
语句序列 1;
[break];
case 值 2:
语句序列 2;
[break];
… … … … …
[default:
默认语句;]
}
当型:while、for循环
当布尔表达式条件为 true 时,反复执行某语句,当布尔表达式的值为 false 时才停止循环。
直到型:do-while循环
先执行某语句, 再判断布尔表达式,如果为 true,再执行某语句,如此反复,直到布尔表达式条件为 false 时才停止循环
while 循环
while (布尔表达式) {
循环体;
}
do-while循环
do-while 循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while 循环的循环体至少执行一次。
do {
循环体;
} while(布尔表达式) ;
do-while循环和while循环的区别:
for循环
for循环执行次数在执行前就确定
for(chushihua1;布尔指;更新){
//语句块
}
for(;;){}//死循环: 相当于 while(true)
//九九乘法表
for(int i =1;i<=9;i++){
for (int j =1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
在 for 语句的初始化部分声明的变量,其作用域为整个 for 循环体,不能在循环外部使用该变量
Java5中引入了一种主要用于数组的增强型for循环
for(声明语句:表达式){
}
int[] nums = {1,2,3,4,5,6,7,8,9,0};
for(int x : nums){
System.out.println(x);
}
嵌套循环
while、do-while 与 for循环可以任意嵌套多层
break 语句和 continue 语句
在任何循环语句的主体部分,均可用 break 控制循环的流程。break 用于强行退出循环,不执行循环中剩余的语句。
continue :终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
带标签的 break 语句和 continue 语句
“标签”是指后面跟一个冒号的标识符,例:“label:”。在循环体前设置标签→在其中嵌套另一个循环。由于break和continue关键字通常指终端当前循环,但若随标签使用,他们就会终端到存在标签的地方。
//输出105-150之间的质数
outer: for (int i =101;i<150;i++){
for(int j = 2 ;j<i/2;j++){
if(i % j == 0)
continue outer;
}
System.out.print(i+" ");
}