Java控制流程
Java SE 复习2
Scanner
next() 和 nextline()的区别:
众所周知,在Java中输入字符串有两种方法,就是next()和nextLine(),今天研究了一下其中的区别。
首先,nextLine()的输入是碰到回车就终止输入,而next()方法是碰到空格,回车,Tab键都会被视为终止符。
所以next()不会得到带空格的字符串,而nextLine()可以得到带空格的字符串。
具体代码:
package scanner;
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
//创建一个扫描器对象,用于接受键盘的数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next的方法接收: ");
//判断是否输入字符串
if (scanner.hasNext()){
//next接收
String next = scanner.next();
System.out.println(next);
}
Scanner scanner1 = new Scanner(System.in);
System.out.println("使用nextLine的方法接收: ");
//判断是否输入
if (scanner1.hasNextLine()){
//next接收
String next1 = scanner1.nextLine();
System.out.println(next1);
}
Scanner scanner2 = new Scanner(System.in);
System.out.println("请输入数据: ");
//判断是否输入
String next1 = scanner1.nextLine();
System.out.println(next1);
//属于io流,如果不关闭会占用资源,形成用完就关闭的好习惯
scanner.close();
scanner1.close();
scanner2.close();
}
}
效果图如下:

顺序结构
程序按照顺序执行
选择结构
if单选 if(boolean)
if双选择 if() else
if多选择 if() else if() else if() ***else
if嵌套if(){if()}
switch多选择 :
switch(expression){
case value: 语句; break;
case value: 语句; break;
case value: 语句;
case value: 语句; break;
default:语句;
}
循环结构
while
package xunhuan;
public class whileTest {
public static void main(String[] args) {
int i=0;
while(i<100){ //当xxx时,为真
//i++; //1到100
System.out.println(i);
i++; //0到99
}
int j=0,sum=0;
while (j<100){
j++;
sum=sum+j;
}
System.out.println(sum);//5050
}
}
do ..while
package xunhuan;
public class doWhileTesl {
public static void main(String[] args) {
int i=0,j=0;
do {
i++;
j=j+i;
}while (i<100); //当xxx时,为真
System.out.println(j);//5050
}
}
for
package xunhuan;
public class forTest {
public static void main(String[] args) {
/***
* for(初始化;布尔值;更新)
* 或者
* for(;;) 也可以
*/
int i=0,j=0;
for (i=1;i<=100;i++){
j=j+i;
}
System.out.println(j);
for (i=1;i<10;i++){
for (j=1;j<=i;j++)
System.out.print(j+"*"+i+"="+i*j +'\t');
System.out.println();
}
}
}
效果图如下:

增强for循环
语法格式为:
可以遍历数组和集合:
package xunhuan;
public class strongFor {
public static void main(String[] args) {
/**
*遍历数组
*/
int[] nums={10,20,30};
for (int num : nums) {
System.out.println(num);
}
//或者
try {
for (int i=0;i<3;i++){
System.out.println(nums[i]);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
break和continue
break:跳出循环主体,也可以在switch
continue:终止某次循环,继续下一次循环
求质数:
package xunhuan;
public class zhishu {
public static void main(String[] args) {
/***
* 打印质数 100~150
* outer: 标签::
*/
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;
}
System.out.println(i);
}
}
}

1 Scanner
2 顺序 选择 循环结构
3 break continue
浙公网安备 33010602011771号