Java学习笔记03
1. 流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
1.1 分类
- 顺序结构
- 判断和选择结构(if, switch)
- 循环结构(for, while, do…while)
1.2 顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
2. 判断结构
2.1 if语句1
格式
if (关系表达式) {
语句体;
}
执行流程
- 计算关系表达式的值
- 如果关系表达式的值为
true,就执行语句体/如果关系表达式的值为false,就不执行语句体 - 继续执行后面的语句
2.2 if语句2
格式
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程
- 计算关系表达式的值
- 如果关系表达式的值为
true,就执行语句体1/如果关系表达式的值为false,就执行语句体2 - 继续执行后面的语句
2.3 if语句3
格式
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
} else {
语句体n+1;
}
执行流程
- 计算关系表达式1的值
- 如果关系表达式1的值为
true,就执行语句体1/如果关系表达式1的值为false,就计算关系表达式2的值 - 如果关系表达式2的值为
true,就执行语句体2/如果关系表达式2的值为false,就计算关系表达式3的值 - …
- 如果所有关系表达式的值都为
false就执行语句体n+1 - 继续执行后面的语句
3. 选择结构
格式
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
执行流程
- 计算表达式的值
- 和case后面的值依次比较,遇到对应的值就会执行相应的语句,执行过程中,遇到break就会结束
- 如果所有的值都不匹配,就会执行default语句体,然后结束
扩展
default语句可以放任意位置,也可以省略
不写break会引发case穿透
switch在JDK12中的新特性
int number = 10;
switch (number) {
case 1 -> System.out.println("一");
case 2 -> System.out.println("二");
case 3 -> System.out.println("三");
default -> System.out.println("其他");
}
4. 循环结构
循环语句可以在满足循环条件的情况下,重复执行某一段代码,这段被重复执行的代码称为循环语句。循环时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
4.1 for循环
格式
for (初始化语句; 条件判断语句; 条件控制语句) {
循环语句;
}
解释
- 初始化语句:用于表示循环开始时的起始状态
- 条件判断语句:用于表示循环的条件
- 循环语句:用于表示循环重复执行的内容
- 条件控制语句:用于表示循环每次执行变化的内容
执行流程
- 执行初始化语句
- 执行条件判断语句,如果值为
true,继续执行,如果值为false,循环结束 - 执行循环语句
- 执行条件控制语句
- 回到2继续
4.2 while循环
格式
while (条件判断语句) {
循环语句;
}
4.3 do…while循环
格式
do {
循环语句;
} while (条件判断语句);
注意:
- while与do…while的区别:
- while是先进行判断,满足条件再执行
- do…while是先执行一次,再进行判断,满足条件再继续执行
- do…while不常用
- 循环次数或者循环范围已知时,使用for循环
- 循环次数和循环范围都未知,但知道循环结束的条件,使用while循环
Java学习笔记03的更多相关文章
- 【8-21】java学习笔记03
内部类(静态内部类&非静态内部类) 静态外部类成员方法(如main方法)不能直接访问内部类,但是可以通过外部类的方法,在其中创建内部类实例对象,间接使用: 非静态内部类可以直接访问外部类的私有 ...
- Java学习笔记:03面向对象-接口_多态
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...
- Java学习笔记 03 数组
一.数组的创建和使用 数组的创建和使用 >>创建方法1:先声明,再用new关键字分配内存(使用new关键字分配内存,整形数组中各个元素的初始值都为0) String str[]; str= ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- java学习笔记11--集合总结
java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...
- SaToken学习笔记-03
SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
随机推荐
- Java中继承相关知识点
继承 1.继承概述 继承是面向对象的三大特征之一.可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法 1.1 继承的格式 格式:public class 子类名 extends ...
- CentOS安装并查看lm_sensors CPU温度监控
CentOS安装并查看lm_sensors 首先查看是否安装rpm包: [root@localhost home]# rpm -qa|grep sensors lm_sensors-libs-3.1. ...
- LeetCode刷题4:寻找两个正序数组的中位数
题目: 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 算法的时间复杂度应该为 O(log (m+n)) . 来源:力扣 ...
- jQuery实现论坛发帖Demo
目录 效果展示 思路 代码 改进空间 效果展示 思路 主要知识点:运用jQuery对HTML元素节点的操作(append)来添加帖子. 交互设计:用户点击页面上的"论坛发帖"按钮, ...
- 负数位运算的右移操作-C语言基础
这一篇探讨的是"负数位运算的右移操作",涉及到数据的源码.反码.补码的转换操作.属于C语言基础篇. 先看例子 #include <stdio.h> int main(v ...
- 第一课 Hello World程序
接触一门编程语言都是从HelloWorld开始的.我们以Idea为开发工具,写一个JAVA版的HelloWorld. 1,启动idea,点击菜单 File->New->Project 新建 ...
- dosbox debugger
通过中断看程序运行过程 最终目的是要找到数据保存位置,如何保存到文件的.
- el-table改变行高样式不生效的解决办法
之前的效果是这样的,怎么设置也没用
- SqlServer 高并发的情况下,如何利用锁保证数据的稳定性
sql的锁机制,是时刻贯彻在每一次的sql事务中的,为了理解更透彻,介绍锁之前,我们得先了解,锁是为了干什么!! 1.数据库异常情况 1.1 先来聊聊数据可能发生个异常状况 1)脏读:读未提交,顾名思 ...
- FWT/快速沃尔什变换 入门指南
来学点好玩的. 引入 我们也许学过,\(FFT\) 可以解决一类卷积: \[C_i=\sum^{k+j=i} A_iB_j \] 现在我们稍微变一下式子: \[C_i=\sum^{i=k \And j ...