流程控制

没有特殊说明,我的所有这个系列的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.inScanner会自动转换数据类型,因此不必手动转换

if判断

  • if语句块只有一行语句时,可以省略花括号{},但是尽量不要省略花括号,这样在版本控制系统的时候会出现问题。

  • 串联多个if时正确的方式是按照判断范围从大到小依次判断,或者从小到大判断,不要从中间范围判断。

  • if时,还要特别注意边界条件,>>=是不同的。

  • 注意判断浮点数相等用==判断不靠谱,正确的方法是利用差值小于某一个临界值来判断。

  • 判断引用类型相等

    • 在Java中,判断值类型的变量是否相等,可以使用==运算符。但是,判断引用类型的变量是否相等,==表示是否指向同一个对象,却不表示对象的值是否相同。
    • 要判断引用类型的变量值的内容是否相等,必须使用equals()方法
      • 如果使用equals()时其中一个变量是null那么会报错NullPointerException
      • 可以把一个一定不是null的变量放到前面"hello".equals(s)

switch多重选择

  • 使用switch时,注意case语句并没有花括号{}

  • 如果有几个case语句执行的是同一组语句块,可以在执行语句前多放几个case

  • 使用switch语句时,只要保证有breakcase的顺序不影响程序逻辑

  • 使用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语句的返回值。

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语句总是跳出最近的一层循环。

到头来还是逃不过Java - 流程控制的更多相关文章

  1. JAVA流程控制

    JAVA流程控制 example1: --输出九九乘法表 public class chengfabiao { public static void main (String[] args){     ...

  2. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

  3. Java流程控制练习--万年历

    Java流程控制练习--万年历 标签: Java入坑之旅 0x01. 打印倒三角和正三角 public static void main(String[] args) { // TODO Auto-g ...

  4. Java 流程控制

                                   Java    流程控制 Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支 ...

  5. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

  6. 《快乐编程大本营》java语言训练班-第4课:java流程控制

    <快乐编程大本营>java语言训练班-第4课:java流程控制 第1节. 顺序执行语句 第2节. 条件分支语句:if条件语句 第3节. 条件分支语句:switch 条件语句 第4节. 条件 ...

  7. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  8. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  9. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

随机推荐

  1. 项目中常用的JS操作技巧

    1.<a>标签-超链接中confirm方法使用介绍 <a href="a.html" onclick="if(confirm('确定删除?')==fal ...

  2. 杭电oj3306:Another kind of Fibonacci(矩阵快速幂)

    Another kind of Fibonacci 题目链接 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (J ...

  3. TensorFlow2 Part2:基础知识回顾

    python面向对象编程回顾 基础概念: 面向对象的编程简称OOP,它把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向对象的设计思想是抽象出Class,根据Class(类)创建In ...

  4. 二十四、JavaScript之取字符串长度

    一.代码如下 二.效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" conten ...

  5. 137-PHP static修饰的类属性

    <?php class test{ //定义一个类 public static $num=0; //定义static修饰的类属性 public function __construct(){ / ...

  6. 【机器学习实战学习笔记(2-2)】决策树python3.6实现及简单应用

    文章目录 1.ID3及C4.5算法基础 1.1 计算香农熵 1.2 按照给定特征划分数据集 1.3 选择最优特征 1.4 多数表决实现 2.基于ID3.C4.5生成算法创建决策树 3.使用决策树进行分 ...

  7. 留学Essay写作常见谬误盘点

    留学生在完成英语论文作业的时候总会出现各种各样的谬误,导致最后拿不到高分,甚至挂科,最终只得选择写作完成.本文小编为大家总结出我们留学生在essay写作中几个常见谬误,希望大家有则改之,无则加勉. E ...

  8. C# Stream篇(七) -- NetworkStream

    NetworkStream 目录: NetworkStream的作用 简单介绍下TCP/IP 协议和相关层次 简单说明下 TCP和UDP的区别 简单介绍下套接字(Socket)的概念 简单介绍下Tcp ...

  9. 在执行 php artisan key:generate ,报 Could not open input file: artisan 错误

    Could not open input file: artisan 必须保证命令是在项目根目录,如下图所示:

  10. file:///D:/Program%20Files/Microsoft%20Visual%20Studio%2011.0/VC/VCWizards/CodeWiz/MFC/Variable/HTML

    title VS2005  VS2008添加变量,添加函数,添加类时弹出 Script Error  解决办法 问现象描述 : 问题大家都清楚了.不赘述 错误提示 :file:///C:/Progra ...