Java流程控制语句保姆级教程
一、复合语句
与其他语言相同,Java的复合语句是以整个区块为单位的语句,所以又称为块语句。
复合语句由开括号"{"开始,闭括号"}"结束
public class Compound{
public static void main(String args[]){
int x = 20;
{ //复合语句1开始
int y = 40;
System.out.print(y);
int z = 245;
boolean b;
{ //复合语句2开始
b = y>z;
System.out.print(b);
} //复合语句2结束
} //复合语句1结束
String word = "hello java";
System.out.print(world);
}
}
注:不论在什么语言中一定要遵守先开后闭的原则!
因为复合语句重要性不高这里就不重点讲解了!
二、条件语句
1.if条件语句
if条件语句是一个重要的编程语句。关键字if之后是作为条件的"布尔表达式" if条件语句:if条件语句、if…else语句、if…else if多分支语句
接下来的语句让代码代替语言吧!
1.if条件语句
借助流程图了解结构顺序
public class Test {
public static void main(String args[]){
int x = 10;
if(x<20){
System.out.print("这是 if 语句");
}
}
}
/*if语句结构如上
if (表达式){
语句块
}*/
2.if…else语句
public class Test {
public static void main(String args[]){
int x = 30;
if(x<20){
System.out.print("这是 if 语句");
}else{ //上面部分格式与if语句相同,这里else在两个大括号之间
System.out.print("这是 else 语句");
}
}
}
3.if…else if多分支语句
if…else if语句可以看成Python中的if…elif语句,这个作用是相同的
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{ //本语句可以与else一起使用
System.out.print("这是 else 语句");
}
}
}
以上三种的使用方法较为类似
2.switch多分支语句
switch语句与if语句类似,但是switch语句安全性更高,缺点就是代码数量可能较多
在使用条件语句的时候使用if语句也可以完成,但略显笨重。在Java中可以用switch多分支语句将动作组织起来,以一个简单明了的方式来实现"多选一"的选择
注意要点:switch语句中的值必须是整型、字符型、字符串类型或者是枚举类型,常量1~n的数据类型必须与表达式的值的类型相同
执行过程:先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则执行case后面的若干个语句直至break结束,若没有break语句,则一直执行至break结束。若没有值相同则执行default,若他也没有,那么语句将不做任何处理!
(1)同一个switch语句,case的常量值必须互不相同
(2)在switch语句中,case语句后常量表达式的值可以为整数,但绝对不可以是任何非整数的实数。例:case 1.1
switch结构:
switch(表达式){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("优秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
break;
case 'F' :
System.out.println("你需要再努力努力");
break;
default :
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}
}
image.png
三、循环语句
循环语句类型有很多种:while循环、do…while、for循环
1.while循环语句
🧸whlie循环语句又称为条件判断语句
public class Test {
public static void main(String[] args) {
int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
}
以上代码运行结果如下
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
2.do…while循环
🌟do…while循环与while循环类似 区别在于:while循环是符合条件之后再执行循环体;而do…while循环是先执行一次,再判断是否符合条件最后决定是否执行循环体。
public class Test {
public static void main(String[] args){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
以上代码运行结果如下
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
3.for循环
for循环是Java中最有用的循环语句之一,一个for循环可以用来重复执行某条语句,直到满足条件 for循环有两种语句一种是foreach语句,另一个就是传统的for语句
1.1for循环
以下为代码演示
/*
for(初始化; 布尔表达式; 更新) {
//代码语句
}
*/
public class Test {
public static void main(String[] args) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
以上代码运行结果
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
1.2foreach语句
foreach语句又称为增强for语句
以下为代码演示
/*for(声明语句 : 表达式)
{
//代码句子
}
*/
// 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
//表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
public class Test {
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(",");
}
}
}
运行结果如下
10,20,30,40,50,
James,Larry,Tom,Lacy,
五、循环控制
1.break语句
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块
public class Test {
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");
}
}
}
运行结果为10与20
break可以强制跳出循环或者是switch语句块!🙈
2.continue语句
continue语句的作用与break不同,他的作用就是强制跳过本次循环进入到下一次循环
public class Test {
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");
}
}
}
以上运行结果为10,20,40,50