Java学习笔记:Java流程控制
Java流程控制
用户交互Scanner
Scanner对象
Scanner知识点:
java.util.Scanner是Java5的新特性,我们可以通过Scanner类来获取用户的输入。
基本语法:
Scanner s = new Scanner(Sysem.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入数据。
next()和hasNext():
import java.util.Scanner; public class Demo{ public static void main(String[] args){ //创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.printn("使用next()方法接收:"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用next()方法接受 String str = scanner.next(); System.out.println("输出的内容为:" + str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完关掉 scanner.close(); } }
答案: 使用next()方法接收:
hello world //手动输入内容
输出的内容为:hello
nextLine()和hasNextLine()
import java.util.Scanner; public class Demo{ public static void main(String[] args){ //创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.printn("使用nextLine()方法接收:"); //判断用户有没有输入字符串 if(scanner.hasNextLine()){ //使用nextLine()方法接受 String str = scanner.nextLine(); System.out.println("输出的内容为:" + str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完关掉 scanner.close(); } }答案: 使用nextLine()方法接收:
hello world //手动输入内容
输出的内容为:hello world
注意
next(): 读取有效字符后才会结束输入,对输入的有效字符之前遇到的空白,next()会自动去除,只有输入有效字符后才会将其后面输入的吧、空白作为分割符后结束符,next()不能得到带有空格的字符串。
nextLine(): 以Enter为结束符,可以获得空白。
Scanner示例
判断整数和小数
import java.util.Scanner; public class Demo{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); //从键盘中接受数据 int i = 0; float f = 0.0f; System.out.println("请输入整数:"); //整数 if(scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("整数为:" + i); }else{ System.out.println("输入的不是整数!"); } System.out.println("请输入小数:"); //小数 if(scanner.hasNextLine()){ f = scanner.nextFloat(); System.out.println("小数为:" + f); }else{ System.out.println(("输入的不是小数!")); } Scanner.close(); } }答案:请输入整数:
10
整数为:10
请输入小数:
0.52
小数为:0.52
顺序结构
public class Demo{ public static void main(String[] args){ System.out.println("hello1"); System.out.println("hello2"); System.out.println("hello3"); System.out.println("hello4"); } }答案:hello1
hello2
hello3
hello4
选择结构
if选择结构
if单选择结构
1.语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }2.代码示例
public class Demo{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); if(s.equals("hello")){ system.out.println(s); } System.out.println("End"); scanner.close(); } }答案:请输入内容:
11111 //用户手动输入的内容
End
if双选择结构
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }else{ //如果布尔表达式为false将执行的语句 }if多选择语句
语句:
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 }else if(布尔表达式2){ //如果布尔表达式2为ture将执行的语句 }else if(布尔表达式3){ //如果布尔表达式3为ture将执行的语句 }else{ //如果以上布尔表达式都不为true将执行的语句 }Switch多选择结构
语句
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //可以有任意数量的case语句 default : //可选 //语句 }switch case 语句判断一个变量与一系列值中的某一个值是否相等,每一个值成为一个分支。
循环结构
while循环
语句:
while(布尔表达式){ //循环内容 }只要布尔表达式为true,循环就会一直执行下去。
我们大多数情况是会让循环停下来,我们需要一个让表达式失效的方式来几位数循环。
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
循环条件一直为true会造成无限循环【死循环】,正常业务要尽量避免。会影响程序性能或造成程序卡死!
do...while循环
语句
do{ //代码语句 }while(布尔表达式);do...while循环至少会执行一次
While和do...while的区别:
while先判断后执行。do...while先执行后判断
Do...while总是保证循环体会被至少执行一次!
for循环
1.语句:
for(初始值; 布尔值表达式; 更新){ //代码语句 }2.代码示例(打印九九乘法表)
public class Demo{ public static void main(String[] args){ for(int i=1; i<=9; i++){ for(int j=1; j<=i; j++){ System.out.print(i + "*" + j + "=" + (i*j) + (\t)); } System.out.println(); } } }增强for循环
1.语句
for(声明语句 : 表达式){ //代码语句 }2.代码示例
public class Demo{ public static void main(String[] args){ int[] numbers = {10, 20, 30, 40}; //遍历数组的元素 for(int x : numbers){ System.out.println(x); } } }答案:10
20
30
40
break 和 coutinue
1.Break
break用于强制跳出循环,不执行循环内剩余语句
3.Continue
continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。
