用户交互 Scanner
Scanner s = new Scanner(System.in)
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效支付后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
next Line()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
顺序结构
Java的基本结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BevRp2vf-1644756838920)(C:\Users\yudong\AppData\Roaming\Typora\typora-user-images\image-20220213123505020.png)]
选择结构
- if单选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Prmj7F0i-1644756838921)(C:\Users\yudong\AppData\Roaming\Typora\typora-user-images\image-20220213123620318.png)]
if(布尔表达式){表达式}
- if双选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kH3vyg5R-1644756838921)(C:\Users\yudong\AppData\Roaming\Typora\typora-user-images\image-20220213123845364.png)]
if(布尔表达式){表达式}else{表达式}
- if多选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y4ZpHnW5-1644756838922)(C:\Users\yudong\AppData\Roaming\Typora\typora-user-images\image-20220213124051037.png)]
if else(布尔表达式){表达式}
else{表达式}
- 嵌套的if结构
if(布尔表达式){if(布尔表达式){表达式}}
- switch多选择结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9wHPAQIe-1644756838922)(C:\Users\yudong\AppData\Roaming\Typora\typora-user-images\image-20220213124236013.png)]
循环结构
- while 循环
最基本的循环
while(布尔表达式){循环内容}
- 只要布尔表达式为true,循环就会一直执行下去
- 大多数情况要让循环停下来,需要一个让表达式失效的方法来结束循环
- 少部分情况需要循环一直执行,比如服务器的请求响应监听等
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务变成中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃
- do…while 循环
do{代码块}while(布尔表达式)
while和do-while的区别
- while先判断后执行,do…while先执行后判断
- do…while总是保证循环体会被至少执行一次
For循环
for(初始化;布尔表达式;更新){代码块}、
- for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
- for循环执行的次数是在执行前就确定的
增强For循环
for(声明语句:表达式){代码块}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等
表达式:表达式是要访问的数组名,或者是返回值为数组的方法
跳出循环
break:结束循环,继续编译循环之后的代码
continue:结束此次循环,进行下次循环
方法
语句的集合,在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或者对象中
- 方法在程序中被创建,在其他地方被引用
e:结束此次循环,进行下次循环
方法
语句的集合,在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或者对象中
- 方法在程序中被创建,在其他地方被引用
原则:方法的本意是功能块,就是实现某个功能的语句块的集合。最好保持方法的原子性,就是一个方法只完成一个功能,利于后期的扩展