流程控制【代码块与作用域】【选择结构】【循环结构】
@
目录
代码块与作用域
选择结构
循环结构
源码:
Gitee https://gitee.com/drip123456/java-se
GIthub https://github.com/Drip123456/JavaSE
专栏: JavaSE笔记专栏
代码块与作用域
在开始流程控制语句之前,我们先来介绍一下代码块和作用域。
不知道各位小伙伴是否在一开始就注意到了,为什么程序中会有一些成对出现的花括号?这些花括号代表什么意思呢?
public class Main { //外层花括号
public static void main(String[] args) { //内层花括号开始
} //内层花括号结束
}
我们可以在花括号中编写一句又一句的代码,实际上这些被大括号囊括起来的内容,我们就称为块(代码块),一个代码块中可以包含多行代码,我们可以在里面做各种各样的事情,比如定义变量、进行计算等等。
我们可以自由地创建代码块:
public static void main(String[] args) { //现目前这个阶段,我们还是在主方法中编写代码,不要跑去外面写
System.out.println("外层");
{ //自由创建代码块
int a = 10;
System.out.println(a);
}
}
虽然创建了代码块,但实际上程序依然是按照从上到下的顺序在进行的,所以说这里还是在逐行运行,即使使用花括号囊括。那咋一看这不就是没什么卵用吗?我们来看看变量。
我们创建的变量,实际上是有作用域的,并不是在任何地方都可以使用,比如:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
变量的使用范围,仅限于其定义时所处的代码块,一旦超出对应的代码块区域,那么就相当于没有这个变量了。
public static void main(String[] args) {
int a = 10; //此时变量在最外层定义
{
System.out.println(a); //处于其作用域内部的代码块可以使用
}
System.out.println(a); //这里肯定也可以使用
}
我们目前所创建的变量都是局部变量(有范围限制),后面我们会介绍更多种类型的变量,了解了代码块及作用域之后,我们就可以正式开启流程控制语句的学习了。
选择结构
某些时候,我们希望进行判断,只有在条件为真时,才执行某些代码,这种情况就需要使用到选择分支语句,首先我们来认识一下if语句:
if (条件判断) 判断成功执行的代码;
public static void main(String[] args) {
int a = 15;
if(a == 15) //只有当a判断等于15时,才会执行下面的打印语句
System.out.println("Hello World!");
System.out.println("我是外层"); //if只会对紧跟着的一行代码生效,后续的内容无效
}
if会进行判断,只有判断成功时才会执行紧跟着的语句,否则会直接跳过,注意,如果我们想要在if中执行多行代码,需要使用代码块将这些代码囊括起来(实际上代码块就是将多条语句复合到一起)所以说,我们以后使用if时,如果分支中有多行代码需要执行,就需要添加花括号,如果只有一行代码,花括号可以直接省略,包括我们后面会讲到的else、while、for语句都是这样的。
public static void main(String[] args) {
int a = 15;
if(a > 10) { //只有判断成功时,才会执行下面的代码块中内容,否则直接跳过
System.out.println("a大于10");
System.out.println("a的值为:"+a);
}
System.out.println("我是外层");
}
如果我们希望判断条件为真时执行某些代码,条件为假时执行另一些代码,我们可以在后面继续添加else语句:
public static void main(String[] args) {
int a = 15;
if(a > 10) { //只有判断成功时,才会执行下面的代码块中内容,否则直接跳过
System.out.println("a大于10");
System.out.println("a的值为:"+a);
} else { //当判断不成功时,会执行else代码块中的代码
System.out.println("a小于10");
System.out.println("a的值为:"+a);
}
System.out.println("我是外层");
}