Java流程控制(20-12-04)
用户交互Scanner
通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用hasNext() 与 hasNextLine() 判断是否还有输入的数据。
next() 与 nextLine()
next():
1、一定要读取到有效字符后才可以结束输入。
2、 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、 next() 不能得到带有空格的字符串。
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();
nextLine():
1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");
//判断用户有没有输入字符串
if(scanner.hasNextLine()){
//使用nextLine方法接收
String str = scanner.nextLine();
System.out.println("输出内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,良好习惯用完就关!
scanner.close();
顺序与循环结构
顺序结构
选择结构
switch多选择结构
switch语句中的变量类型可以是:byte、short、int、或char
从JavaSE7开始,支持String类型,同时case标签必须为字符串变量或字面量
循环结构
while 循环
do while 循环
While和do-While的区别:
while先判断后执行。do-while是先执行后判断!
Do...while总是保证循环体会被至少执行一次! 这是他们的主要差别。
for循环
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行次数是在执行前就确定的。
增强for循环
for(声明语句 : 表达式)
{
//代码句子
}
int[] numbers={10,20,30,40,50};
for(int x:numbers){
System.out.println(x);
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break 和 continue
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
应用:打印三角形和 debug
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j=5;j>=i;j--){
System.out.print(" ");//打印空白区域
}
for (int j=1;j<=i;j++){
System.out.print("*");//先打印左边半个三角形
}
for (int j=1;j<i;j++){
System.out.print("*");//打印右边半个,算是补齐吧!
}
System.out.println();
}
}
关于debug设置断点:点击代码左侧区域,点击“瓢虫”开始debug,可以看到每个步骤的情况!!!