- 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
- 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
顺序结构
分支结构
循环结构
顺序结构
- 程序从上到下逐行地执行,中间没有任何判断和跳转。
分支结构
- 根据条件,选择性地执行某段代码。
- 有if…else和switch-case两种分支语句。
循环结构
- 根据循环条件,重复性的执行某段代码。
- 有while、do…while、for三种循环语句。
- 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。
Java
中定义成员变量时采用合法的
前向引用
。如:
public class Test {
public static void main(String[] args) {
int num1 = 12;
int num2 = num1 + 2;
}
}
错误形式:
public class Test {
public static void main(String[] args) {
int num2 = num1 + 2;
int num1 = 12;
}
}
分支结构:if-else使用说明
- 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
- 语句块只有一条执行语句时,一对{}可以省略,但建议保留
- if-else语句结构,根据需要可以嵌套使用
- 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
- 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
- 当多个条件是“包含”关系时,“小上大下 / 子上父下”
示例代码:
public class Test {
public static void main(String[] args) {
int age = 75;
if (age < 0) {
System.out.println("不可能!");
} else if (age > 250) {
System.out.println("是个妖怪!");
} else {
System.out.println("人家芳龄 " + age + " ,马马乎乎啦!");
}
}
}
运行结果:
示例代码:
public class Test {
public static void main(String[] args) {
int x = 4;
int y = 1;
if (x > 2) {
if (y > 2)
System.out.println(x + y);
System.out.println("atguigu");
} else
System.out.println("x is " + x);
}
}
运行结果:
示例代码:
public class Test {
public static void main(String[] args) {
boolean b = true;
//如果写成if(b=false)能编译通过吗?如果能,结果是?
if (b == false)
System.out.println("a");
else if (b)
System.out.println("b");
else if (!b)
System.out.println("c");
else
System.out.println("d");
}
}
运行结果:
示例代码:
public class Test {
public static void main(String[] args) {
int i = 1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
default:
System.out.println("default");
break;
}
}
}
运行结果:
示例代码:
public class Test {
public static void main(String[] args) {
String season = "summer";
switch (season) {
case "spring":
System.out.println("春暖花开");
break;
case "summer":
System.out.println("夏日炎炎");
break;
case "autumn":
System.out.println("秋高气爽");
break;
case "winter":
System.out.println("冬雪皑皑");
break;
default:
System.out.println("季节输入有误");
break;
}
}
}
运行结果:
switch语句有关规则
- switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);
- case子句中的值必须是常量,不能是变量名或不确定的表达式值;
- 同一个switch语句,所有case子句中的常量值互不相同;
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
- default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default
if
和
switch
语句很像,具体什么场景下,应用哪个语句呢?
- 如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。也就是说,使用switch-case的,都可以改写为if-else。反之不成立。
- 在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类
- for 循环
- while 循环
- do-while 循环
- 语法格式
for (①初始化部分
;
②循环条件部分
;
④迭代部分
)
{
③循环体部分;
}
- 执行过程:
①-②
-
③
-
④
-
②
-
③
-
④
-
②
-
③
-
④
-.....-
②
- 说明:
②循环条件部分为boolean
类型表达式,当值为
false
时,退出循环
①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
④可以有多个变量更新,用逗号分隔
示例代码:
public class Test {
public static void main(String[] args) {
int result = 0;
for (int i = 1; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?