到头来还是逃不过Java - 流程控制
2020-01-26 16:00:46来源:博客园 阅读 ()
到头来还是逃不过Java - 流程控制
没有特殊说明,我的所有这个系列的Java13的笔记都是从廖老师那里摘抄、总结过来的,侵删
引言
兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来。虽然Python好写舒服,但是毕竟不能完全面向对象,也没有那么多的应用场景,所以,奉劝看到本文的各位,还是提前学好C#或者Java,话不多说,这个系列,干就完了!
输出
println
是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()
- 格式化输出使用
System.out.printf()
,通过使用占位符%?
,printf()
可以把后面的参数格式化成指定格式 - 由于%表示占位符,因此,连续两个
%%
表示一个%
字符本身。
占位符 | 说明 |
---|---|
%d | 格式化输出整数 |
%x | 格式化输出十六进制整数 |
%f | 格式化输出浮点数 |
%e | 格式化输出科学计数法表示的浮点数 |
%s | 格式化字符串 |
输入
- 导入
java.util.Scanner
,创建Scanner
对象并传入System.in
,Scanner
会自动转换数据类型,因此不必手动转换
if判断
- 当
if
语句块只有一行语句时,可以省略花括号{},但是尽量不要省略花括号,这样在版本控制系统的时候会出现问题。 - 串联多个
if
时正确的方式是按照判断范围从大到小依次判断,或者从小到大判断,不要从中间范围判断。 - 用
if
时,还要特别注意边界条件,>
和>=
是不同的。 注意判断浮点数相等用
==
判断不靠谱,正确的方法是利用差值小于某一个临界值来判断。判断引用类型相等
- 在Java中,判断
值类型的变量
是否相等,可以使用==
运算符。但是,判断引用类型的变量
是否相等,==
表示是否指向同一个对象,却不表示对象的值是否相同。 - 要判断引用类型的变量值的内容是否相等,必须使用
equals()
方法- 如果使用
equals()
时其中一个变量是null
那么会报错NullPointerException
- 可以把一个一定不是
null
的变量放到前面"hello".equals(s)
- 如果使用
- 在Java中,判断
switch多重选择
使用
switch
时,注意case
语句并没有花括号{}
如果有几个
case
语句执行的是同一组语句块,可以在执行语句前多放几个case
使用
switch
语句时,只要保证有break
,case
的顺序不影响程序逻辑使用IDE时,可以自动检查是否漏写了
break
语句和default
语句,方法是打开IDE的编译检查。switch表达式
- 新语法使用
->
,如果有多条语句,需要用{}
括起来,不要写break
语句
- 新语法使用
public class Main { public static void main(String[] args) { String fruit = "apple"; switch (fruit) { case "apple" -> System.out.println("Selected apple"); case "pear" -> System.out.println("Selected pear"); case "mango" -> { System.out.println("Selected mango"); System.out.println("Good choice!"); } default -> System.out.println("No fruit selected"); } } }
- 新的
switch
语法,不但不需要break
,还可以直接返回值。
public class Main { public static void main(String[] args) { String fruit = "apple"; int opt = switch (fruit) { case "apple" -> 1; case "pear", "mango" -> 2; default -> 0; }; // 注意赋值语句要以;结束 System.out.println("opt = " + opt); } }
- yield
- 本来新的switch语句返回简单的值没有问题,但是如果需要复杂的语句,我们也可以写很多语句,放到
{...}
里,然后,用yield
返回一个值作为switch
语句的返回值。
- 本来新的switch语句返回简单的值没有问题,但是如果需要复杂的语句,我们也可以写很多语句,放到
- 新的
while循环
- 当
while
循环是一个死循环,但是,Java的int
类型有最大值,达到最大值后,再加1会变成负数,结果,意外退出了while
循环。
do while循环
for循环
for (初始条件; 循环检测条件; 循环后更新计数器) { // 执行语句 }
使用
for
循环时,千万不要在循环体内修改计数器!为了保证变量应该把访问范围缩到最小的原则,对于for循环中使用的
i
最好在循环体内定义。for
循环还可以缺少初始化语句、循环条件和每次循环更新语句for each循环
public class Main { public static void main(String[] args) { int[] ns = { 1, 4, 9, 16, 25 }; for (int n : ns) {//注意形式,先定义数组元素n,注意这里不再是计数器n,它对应着数组的每一个元素,在循环的主语句中可以直接调用。 System.out.println(n); } } }
- 除了数组外,
for each
循环能够遍历所有“可迭代”的数据类型,包括后面会介绍的List
、Map
等
- 除了数组外,
break和continue
- 无论是
while
循环还是for
循环,有两个特别的语句可以使用,就是break
语句和continue
语句。 break
语句总是跳出最近的一层循环。
原文链接:https://www.cnblogs.com/dawsonlee/p/12234429.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java还是真香啊! 2020-05-26
- 面试:东一个框架,西一个源码,不按套路出牌!我还是下次再 2020-05-26
- Java程序员是吃青春饭的吗?还是自身的能力达不到年龄的要求 2020-05-22
- 521灵魂拷问:代码重要还是我重要? 2020-05-21
- Google 6面,最终还是挂了… 2020-05-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash