Java流程控制
Scanner对象
基本语法:
Scanner s = new Scannner(System.in);
String str = s.next()/s.nextLine()/s.nextInt();
scanner.close();
通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
- next():一定要读取到有效字符串后才可以结束输入;对输入的有效字符之前遇到空格,next方法会自动将其去掉;只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符;next()不能得到带有空格的字符串;
- nextLine():以Eneter作为结束符,会返回输入回车键前的所有字符;可以获得空白;
Scanner类属于I/O流,使用后需关闭,减少资源占用;
顺序结构
任何一个算法都离不开的基本结构;
选择结构
-
if单选择结构
-
if-else双选择结构
-
if-else if-else多选择结构
-
switch多选择结构
switch(expression){ case value1: 语句; //每个case里加break防止case穿透 break; case value2: 语句; break; default: break; }
循环结构
-
while循环:需要一个让表达式失效的方式来结束循环;常用死循环场景(不是用while(true){}实现的):等待客户端连接、定时检查、监听服务器等,正常业务不会死循环,影响性能;
-
do…while循环:do中的循环体至少执行一遍,才进行while循环中判断;
-
for循环:是支持迭代的一种通用结构,是最有效、最灵活的循环结构;for循环执行册数在执行前就确定了。
关于for循环的几点说明:1)最先执行初始化步骤,可以声明一种类型,可以出师未一个或多个循环控制变量,也可为空语句;2)然后监测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句,可以为空语句;3)执行一次循环后,更新循环控制变量(迭代银子控制循环变量的增减);4)再次检查布尔表达式,循环执行2-4过程;5)for(;😉{}为死循环。
99乘法表
public class mathDemo{ 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循环
java5引入的一种主要用于数组或集合的增强型for循环;也是一种精简写法;声明语句: 声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式: 为要访问的数组名,或者返回值为数组的方法。
for(声明语句:表达式){ //代码块 } //example public class demo{ public static void main(String[] args) { int [] numbers ={10,20,30,40,60}; for(int i:numbers){ System.out.println(i); } } }
break&continue
break:用于强行退出循环,不执行循环中剩余的语句;
continue:用于终止某次循环过程,跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定;
goto关键字:goto是java的一个保留字,但是goto在java中没有正式使用;