流程控制
用户交互Scanner
- 通过Scanner类来获取用户输入,实现人机交互
- 基本语法
-
Scanner sc=new Scanner(System in);
-
next()一定要读取到有效字符后才可以结束输入,
对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,
next()方法会自动将其去掉,所以next方法不能得到带空格的字符串。 -
nextLine()方法的结束符只是Enter键,
即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
-
- 练习
顺序结构
- 按照顺序一句一句丛上而下执行
- 顺序结构是最简单的算法结构
- 任何算法都离不开的一种基本算法结构
选择结构
1.if单选择结构
判断为true就执行代码A
if(布尔类型){//执行代码A}
2.if双向选择结构
判断为true执行代码A,否则执行B
if(布尔类型){//执行代码A}
else{//执行代码B}
3.if多选择结构
4.嵌套的if结构
5.switch多选择结构
- switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
- 变量类型可以是 byte,short,int或者char,从jdk7开始支持字符串String类型
- case标签的值必须是字符串或者是字面量
其他知识
- 反编译 ,通过idea可以实现class字节码的反编译
首先找到class文件
存放class字节码的位置
找到对应的java文件位置
复制一份到上面
打开就可以看到反编译的代码
循环结构
在jdk5中引入了一个用于数组的增强型for循环
1.while循环
- while是最基本的循环,语法为:
- 布尔表达式是true,就会一直循环下去
- 服务器响应监听是为数不多的需要循环一直执行
- 正常业务逻辑需要避免一直循环的情况 死循环
2.do…while循环
- 语法
- 即使不满足条件也至少执行一次
- while和do…while的区别就是一个先判断后执行,一个是先执行后判断
3.for循环
- 语法
- for循环是支持迭代的一种通用结构,是最有效最灵活的循环结构
- for循环执行的次数在执行之前决定
- 初始化的循环控制变量可以一个或多个,也可以是空语句
- 先执行初始化,然后检测布尔表达式的值,true就执行循环体,更新迭代,false就退出循环体
- for( ; ; )相当于死循环
4.增强for循环
- jdk5的引入主要用于数组和集合的for循环
- 语法
- 相当于遍历数组的的元素
- 声明语句:声明新的局部变量,类型必须要和数组元素的类型一致,作用域限定在循环体内
- 表达式:表达式是访问的数组名,或者是返回值为数组的方法
相关练习
1.9*9乘法表
2.用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个
break&continue
- break在任何循环语句的主体部分,均可以使用break控制循环流程,break用于强制退出循环,不再执行剩下的语句
- continue语句在循环语句中,用于终止某次循环过程,就是跳过本次循环剩下的语句,接着进行下次循环的判定
- 在有两个for循环嵌套,continue在哪个循环就终止那个循环,break同样也是一样
练习
1.打印三角形