目录
前言
这里是对Java程序逻辑控制的基本讲解内容,会尽个人之所能来帮助各位初学者了解并且去运用Java的程序逻辑控制。
程序逻辑控制课后习题链接:test · 17c390f · hunter/J_S - Gitee.com
这里是本文所有代码的合集:J-Study/src/CSDN.java · hunter/J_S - 码云 - 开源中国 (gitee.com)
温馨提示:这里为了方便不用每次书写都写 public class CSDN 就把里面每一个main后面加数字
以防报错(只能有一个main方法),各位如果要编译的时候注意去掉后面数字就行。
Java的程序逻辑
大致分为三种:顺序结构、选择结构、循环结构。
顺序结构
顺序结构比较简单,按照代码书写的顺序一行一行执行。
public static void main(String[] args) {
int a = 10;//第一个执行
System.out.println(a);//10 第二个执行
System.out.println(++a);//11 第三个执行
System.out.println(a-=1);//10 第四个执行
}
选择结构
例如:曾经有一份真挚的感情放在我面前。我没有珍惜,等我失去的时候才后悔莫及。换一种选择。如果我去珍惜了这份感情,就会有一份真挚的感情。
if语句
1.语句结构一:
if ( 布尔语句表达式 ) {
//语句
}
例子:
int a = 10;
if (a == 10) {
System.out.println("hunetr");
}
布尔表达式为true的时候,后面的语句才会执行。false的时候,后面的语句不会执行。
PS:if括号后面不要加分号;。否则将会出现不管布尔表达式是不是为true,后面的语句都会执行。
2.语句结构二:
if ( 布尔语句表达式 ) {
//语句
} else {
//语句
}
例子:
//判断一个数字是奇数还是偶数
int num = 10;
if (num % 2 == 0) {
System.out.println("num 是偶数");
} else {
System.out.println("num 是奇数");
}
当布尔表达式为true的时候,执行 if 后面的语句。否则将会执行else后面的语句。
3.语句结构三:
if ( 布尔语句表达式1 ) {
//语句1
}else if ( 布尔语句表达式2 ) {
//语句2
}
else {
//语句3
}
例子:
//判断一个数字是正数,负数,还是零
int num = 10;
if (num > 0) {
System.out.println("正数");
} else if (num < 0) {
System.out.println("负数");
} else {
System.out.println("0");
}
表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。
PS:可以设置多个else if语句夹杂其中。
switch语句
句子结构:
public static void main(String[] args) {
switch ( 表达式 ){
case 常量值1:{
//语句1;
break;
}
case 常量值2:{
//语句2;
break;
}
default:{
//当表达式与常量值都不匹配的时候执行次语句
break;
}
}
}
- case:是看着switch旁边()的整形表达式的结果进行选择的,只有对上了case后边的常量值,case后面的语句才会实现,如果没有case匹配的上且没有default,句子就会直接跳出switch语句,执行switch后面的语句。(case语句后面的常量值可以随便写,可以不用按照顺序)。
- default:当switch的判断条件没有一个匹配case,就会触发。
- break:用在switch语句和循环语句(for、while、do……while)里面,用于跳出switch语句和循环语句。如果匹配上了case,且当前case语句没有break句子就会顺着往下面执行,直到没有case语句或者在后面的case语句里面碰到了break。
- 如果case语句后面没有break,就会按照顺序读取代码,直到在后面的case里面找到break,或者switch语句执行完毕。
例子:
int day = 1;
switch(day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入有误");
break;
}
PS:
- 多个case后的常量值不可以重复
- switch的括号内只能是以下类型的表达式:基本类型:byte、char、short、int,注意不能是long类型 引用类型:String常量串、枚举类型。
循环结构
注意给循环结构,里面的语句写代码的时候,一定要注意些判断条件,就是说要让代码停止的语句。要不然容易形成死循环。
while语句
语句结构:
while(循环条件){
循环语句;
}
循环条件为 true, 则执行循环语句; 否则结束循环。
例子:
//1-100的数字
int a = 1;
while (a<=100){
System.out.println(a);
a++;
}
for循环
语句结构:
for(表达式1;布尔表达式2;表达式3){
表达式4;
}
- 表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次。
- 表达式2: 循环条件,满足则循环继续,否则循环结束。
- 表达式3: 调整循环变量。
执行顺序:
表达式1--布尔表达式2-->表达式4-->表达式3-->布尔表达式2……
例子:
public static void main(String[] args) {
//1-10之间数字的相加
int a = 0;
for (int i = 1; i <= 10; i++) {
a +=i;
}
System.out.println(a);//55
}
do……while循环
语句结构:
do{
循环语句;
}while(循环条件);
先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
特点:里面的循环语句至少执行一次。
例子:
//打印 1 - 10
int num = 1;
do {
System.out.println(num);
num++;
} while (num <= 10);
break、continue
- break其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
- continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到语句的判断部分。进行下一次循环的入口判断。
- break和continue循环语句(while、do…while、for)都适用,效果也都一样
- break也能用于switch语句中,continue不能用于switch语句中
例子:
public static void main(String[] args) {
int a = 1;
while (a<=10)
{//打印1-10的数字
if (a == 5)
//break;//这边停止 1 2 3 4
continue;//终止本次循环后面的代码不在执行 直接进入到while循环的判断部分
System.out.println(a);
a++;
}
}
后语:
希望本篇文章能对各位有所帮助,如果各位有任何问题欢迎各位老铁提出!!!