1.流程控制
程序本质是指令集合,程序设计过程可以简化为编写一系列指令的过程。
程序设计的三种基本结构分别为:顺序结构、选择结构、循环结构。这三种结构通过组合、嵌套,可以实现所有复杂的程序流程控制。
1.1顺序结构
解释:顺序结构就是按照解决问题一步步写出程序执行,当没有别的控制语句时,程序会按照从上到下逐行执行,这样的结构就称之为顺序结构。
int num =10;
System.out.println("我是第一行");
System.out.println("num:"+num);
System.out.println("我是第三行");
//运行结果
我是第一行
num:10
我是第三行
1.2选择结构
解释:当顺序结构无法满足程序决定运行那些步骤需求的时候,往往进一步的使用选择结构,而选择结构在Java语句中由if和switch语句来实现,分别代表条件分支语句和多分支语句。
1.2.1条件分支语句
解释:条件分支语句是根据条件表达式的真假来决定程序的走向。
书写格式1为:
if(条件表达式){
//执行代码块
}
书写格式2:
if(条件表达式){
//执行代码块1
}else{
//执行代码块2
}
书写格式3:
//嵌套格式
if(条件表达式1){
//执行代码块1
}else if(条件表达式2){
//执行代码块2
}else{
//执行代码块3
}
三种书写格式示例:
//格式1
int num=59;
if (num<60) {
System.out.println("不及格");
}
System.out.println("考核结束");
//格式2
int num1=59;
if (num1 >60) {
System.out.println("及格");
}else {
System.out.println("不及格");
}
System.out.println("考核结束");
//格式3
int num2=90;
if (num2==90) {
System.out.println("为直角");
}else if (num2>90) {
System.out.println("为钝角");
}else if (num2>180){
System.out.println("为周角");
}else if (num2==180){
System.out.println("为平角");
}else{
System.out.println("为锐角");
}
注意:
- 条件表达式的结果必须时Boolean类型,当条件表达式结果为true时,执行if后的代码块。
- 条件分支结构在嵌套使用的时候注意每一层条件判断的作用域。
- 当有多个if时,else与离它最近的if相匹配。(就近原则)。
- else if可以无限嵌套使用。
- if else后面的花括号必须成对出现。
- 在不执行break、continue的情况下,一个代码块做为一个整体逐步执行。
1.2.2多分支语句
理解:switch分支语句是根据表达式的值做出判断,决定执行哪一行的代码块。
运行流程:
switch分支语句先进行对条件表达式的值就行判断,然后根据switch后面的case值进行匹配从而决定执行那一块的代码块。如果没有任何与case值想匹配的话则执行default后面的语句。
正确的命名格式:
switch(表达式){
case 值1:
//执行代码块;
break;
case 值2:
//执行代码块;
break;
.......
default:
//执行代码块;
break;
}
特点:
- switch表达式中可以使用,字节型(byte)、短整型(short)、整形(int)、字符串(String)、字符型(char),枚举。
- 在jdk1.7后才添加了字符串。
- default是可选的,如果没有的话,且没有case的常量值与switch语句中表达式值相匹配的话,switch不做任何操作。
- case的穿透性:如果匹配的case或者default没有对应的break的话,程序会一直往下执行 知道遇到break或者放在switch语句最后的default的时候才会停止。
- case后面的值不可以重复。
1.3循环结构
理解:
循环结构就是循环执行同一块代码的结构称之为:循环结构。循环结构分为两种有限循环和无限循环,常用的三种语句分别是while、for、do/while。
while命名格式:
while(条件表达式){
//循环体语句;
}
for命名格式:
for(初始化表达式;条件判断表达式;条件控制表达式){
//循环体语句;
}
do/while命名格式:
do{
//循环体语句;
}while(条件表达式);
运行机制:
先进行初始化表达式-->条件判断表达式-->为true执行循环体语句反之结束循环--
-->条件控制表达式-->条件判断表达式(直到为false的时候跳出循环)。
区别:
- do/while和while前者无论条件判断语句是否成立都会先执行一次循环体语句,后者条件判断语句不成立时一句循环体语句都不会执行。
- while和for区别:
- 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
-
条件控制语句所控制的自增变量,对于 while 循环来说不归属其语法结构中,在 while 循环结束后,该变量还可以继续使用
两种无限循环:
for(;;){
//循环体语句;
}
while(true){
//循环体语句;
}
1.3.1break和continue
break表示跳出循环体,continue表示跳出当前本次循环。
跳出循环还可以是条件判断语句为false的时候也会终止循环。
可以使用在选择结构和循环结构。
1.4随机数(Random)
理解:
会随机生成一些相同数据类型的不同的数值,而且还有可能会重复生成。
命名格式:
//导包
import java.util.Random;
public class 类名{
public static void main (String[]args){
//建厂或创建对象
Random 名称= new Random();
//产生随机数
数据类型 变量名 = 名称.next数据类型 (随机数的范围);//切记包左不包右
}
}