每天二十分钟,成就Java大神,点点关注不迷路!
今天是第七天,给坚持到这里的小伙伴点个赞!
人生如登山,不必羡慕他人的高度,共勉!
目录
Java循环结构
在Java中,顺序结构的程序语句只能被执行一次。
如果想要同样的操作执行多次,就需要使用循环结构。
Java中有三种主要的循环结构:
while循环
do...while循环
for循环
while循环
while是程序中最基本的循环,它的结构为:
while( 布尔表达式 ) {
//循环内容
}
当布尔表达式为true时,while就会一直执行循环内容。
do...while循环
对于while循环而言,若一开始不满足条件,则不能进入循环。
有时候我们需要程序即使不满足条件也至少执行一次,这就需要用到do...while循环:
do {
//循环内容
}while(布尔表达式);
由于布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前会先执行一次。
如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
for循环
虽然所有的循环结构都可以用上述两种循环表示,但for循环可以是一些循环结构变得更加简单。
for循环的执行次数是在执行前就决定的:
for(变量初始化; 布尔表达式; 变量更新) {
//循环内容
}
第一部分:变量初始化,可初始化一个或多个循环控制变量,也可以是空语句。
第二部分:若布尔表达式值为true,则循环体被执行,若为false,循环终止。
第三部分:执行一次循环后,更新循环控制变量。然后检测布尔表达式,判断是否进入下一循环。
Java增强for循环
Java5引入了一种主要用于数组的增强型for循环,语法格式如下:
for(声明语句 : 表达式)
{
//循环内容
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句快外,其值与此时数组元素的值相等。
表达式:即要访问的数组名或者是返回值为数值的方法。
例子
public class forLoop {
public static void main(String[] args){
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"James", "Larry", "Tom", "Lacy"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
退出循环的方法
正常情况下,循环在检测到布尔表达式值为false时,退出循环。但若想要在某种情况下提前退出,可以使用break或者continue关键字,用法区别如下:
break关键字
break 主要用在循环语句或者 switch 语句(条件语句一节会介绍)中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
例:
public class breakLoop {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等于 30 时跳出循环
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
}
continue关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
例:
public class continueLoop {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
}
}
Java条件语句
条件语句允许程序根据条件的不同执行不同的代码块。
if语句
if
单个if语句的语法如下:
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则跳过这段代码。
if...else
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if... else if ... else
if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。
if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
if 语句可以有若干个 else if 语句。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
嵌套的if语句
上面提到的三种if语句的结构可以嵌套使用,构成多重条件语句。
switch...case语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case value ://语句
case value ://语句
//你可以有任意数量的case
}
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
//有break的情况
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
}
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
//有default的情况
switch(expression){
case value :
//语句
case value :
//语句
//你可以有任意数量的case语句
default : //可选
//语句
}
如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
public class breakCondition {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
下节预告
下节开始,笔者将详细展开介绍 Java 中的各种类的详细使用(Math类,Character类等),看到这里的小伙伴可以投票打卡(投票有效期为7天),有疑惑可私信或评论区提出,and不妨动动发财的手点个赞吧,明天见!