Day21-Java的程序控制语句
程序控制包括:顺序控制,条件控制,循环控制。
1.顺序控制
顺序控制就是从上至下运行。
public class Blog {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);
}
}
如果在
int a = 1;
和int b = 2
的中间写:int d = a+b;
即:int a = 1;
int d = a+b;
int b = 2;
则会报错,因为程序是从上至下运行,故如果变量b在变量d之下,则不会被程序优先加载到。
2.条件语句
条件语句分为if语句和switch语句。即给定一个条件,当符合条件则执行,不符合条件不执行。
格式:if(条件){条件成立执行部分}else{条件不成立执行部分}
public class Blog {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = a + b;
if(a>b){
System.out.println(a);
}else{
System.out.println(b);
}
System.out.println(c);
}
}
如果a>b,则输入a,否则输出b。
2.1多分支条件语句
public class Blog {
public static void main(String[] args) {
int a = 5;
int b = 7;
int c = 9;
if(a>b){
System.out.println(a);
}else if(a>c){
System.out.println(a);
}else if(c>b){
System.out.println(c);
}else{
System.out.println(b);
}
}
}
判断a是否大于b,成立则输出a,不成立继续判断a是否大于c,成立输出a,不成立继续判断c是否大于b,成立输出c,不成立输出b。
2.2 嵌套条件语句
public class Blog {
public static void main(String[] args) {
int a = 5;
int b = 7;
int c = 9;
if(a>b){
if(a>c){
System.out.println(a);
}else{
System.out.println(c);
}
}else if(b>c){
System.out.println(b);
}else{
System.out.println(c);
}
}
}
经典案例之一:比较三个数的大小,输出最大的数。
先判断a是否大于b,【成立判断a是否大于c,成立输出a,不成立输出c】,【不成立判断b是否大于c,成立输出b,不成立输出c】
2.3 条件语句的简写
格式:【条件】?【条件成立执行部分】:【条件不成立执行部分】
(注:中括号是为了区分开,实际不用中括号)
public class Blog {
public static void main(String[] args) {
int a = 5;
int b = 7;
int c = 9;
System.out.println(a>b?a>c?a:c:b>c?b:c);
}
}
这个和上面的判断三个数中最大的数是一样的。只是形式不同。
a>b?a>c?a:c:b>c?b:c 用括号区分一下 ----> (a>b)?[(a>c)?[a:c]]:[(b>c)?[b:c]]
大概就是这个样子。
3.循环语句
循环语句分为 while循环语句,do-while循环语句,for循环语句。即给定一个条件,在满足条件时,重复执行代码块。
3.1 while循环语句
格式:while(条件){重复执行代码块}
public class Blog {
public static void main(String[] args) {
int i = 0;
while(i<10){
System.out.print(i);
i++;
}
}
}
当i<10时,执行
System.out.print(i);
和i++
,当i>=10时,就结束循环。
输出:如图所示重复执行了10次。
3.2 do-while循环语句
格式:do{重复执行代码块}while(条件);
【注:末尾的分号千万不要忘记了】
public class Blog {
public static void main(String[] args) {
int i = 0;
do{
System.out.print(i);
i++;
}while(i<10);
}
}
看上去和while循环语句每什么区别,输出的内容也一样。
但是do-while循环语句,是先执行一次,再判断。所以至少会输出一次。
即使把循环条件改为i<0
,do-while语句还是会执行一次,而while就不会执行了。
for循环语句
格式:for(初始化变量;条件;迭代部分){重复执行代码块}
public class Blog {
public static void main(String[] args) {
for(int i = 0;i<10;i++){
System.out.print(i);
}
}
}
和之前的while循环一样,输出的内容也一样,只是形式不同。
for循环条件语句,可以清楚的知道循环的次数,也就是必须要定义循环的次数,即中间的int i = 0;i<10;i++
而while循环不用明确定义循环的次数。即使while(true){循环执行代码块}
也行,只要条件为true就行,不过很容易死循环。
当然。for循环语句也可以这样写:
int i = 0;
for(;i < 10);i++{重复执行代码块}
,变量i在外部声明。
或者。for循环语句也可以这样写:for(int i = 0;;i++){重复执行代码块}
,没有循环条件,死循环,不会报错。
或者。for循环语句也可以这样写:for(int i = 0;i < 10;){重复执行代码块}
,没有迭代部分,死循环,重复执行,不会报错。
- 更完~~~