Java程序基本结构
复合语句
Java复合语句(Compound statement)是由多个语句组成的语句块,通常使用花括号({})来定义语句块的开始和结束。复合语句可以包含条件语句、循环语句、switch语句等控制流语句,也可以包含变量声明、表达式等其他类型的语句。
下面是一个简单的Java复合语句的示例:
{
int x = 10;
if (x > 5) {
System.out.println("x is greater than 5");
} else {
System.out.println("x is less than or equal to 5");
}
for (int i = 1; i <= 3; i++) {
System.out.println("i = " + i);
}
}
在这个示例中,复合语句包含了一个变量声明语句、一个if条件语句和一个for循环语句。在if条件语句中,根据变量x的值,打印出不同的消息。在for循环语句中,打印出变量i的三个值。
注意,在Java中,复合语句是可选的,也就是说,你可以只使用单个语句来完成任务,而不必使用复合语句。但是,使用复合语句可以使代码更加清晰和易于维护。
顺序结构
顺序结构是Java的基本结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
分支结构
1.单分支结构
if(布尔表达式)
{
语句
}
当语句只有一条时可以省略大括号,但若为多条语句,则必须有大括号,否则含义将发生变化
int i=0,j=0;
if(i!=j)
{
i++;
j++;
}//该处运行后i,j的值仍为0
//如果将大括号去掉以后,则i仍旧为0,j变为1
//因为如果不加大括号,默认第一条
2双分支语句
if(布尔表达式)
{
语句1;
}
else
{
语句2;
}
此处增加了else结构,当布尔表达式为真时,执行语句1,否则则执行语句2
int i=0,j=0;
if(i==j)
{ i++;
j++;
}
else
{ i--;
j--;
}
3.分支结构嵌套
if(布尔表达式1)
if(布尔表达式2)
语句1:
或者
if(布尔表达式1)
语句1:;
else if(布尔表达式2)
语句2;
else
语句3;
或者
if(布尔表达式1)
if(布尔表达式2)
语句1;
else
语句2;
else
语句3;
4.switch语句
switch(表达式)
{
case 判断值1:语句1;
case 判断值2:语句2;
....
case 判断值n:语句n;
}
其中,表达式的值必须为有序数值(如整形和字母),不能为浮点数;case语句中的判断值必须为常量值,代表一个case分支的入口,每一个case分支后面的语句可以是单条的,也可以是多条的,并且当有多条语句时不需要用大括号括起来;default是可选的,必须在Switch语句的结尾,当表达式的值与任何case不匹配时,就执行default 字句,然后退出Switch结构,若无default则直接跳出Switch结构
5.循环结构
while循环体
while(条件表达式)
{循环体;}
先判断再执行
do while循环体
do
{
循环体;
}(条件表达式);
首先执行一遍循环体,然后再判断表达式的值
<!--注意与while结构不同do-while结构中,while后要加分号-->
for语句循环
for(表达式1;表达式2;表达式3)
{
循环体;
}
循环嵌套
跳转语句
break语句
break语句的作用是使程序的流程从一个语句块的内部跳出来
public class test{
public static void main(String[] args)
{
int i,s=0;
for(i=1;i<=100;i++)
{
s+=i;
if(s>50)
break;
}
System.out.println("s="+s)
}
}
continue语句
continue只能用于循环结构,有两种使用方式
不带符号:提前结束本次循环,即跳过循环体的后续语句,提前进入下一轮循环体继续执行,对于while和do-while循环,会使流程直接跳转到条件表达式,而对于for循环则会跳转至表达式3.
带符号的:continue语句一般用在多重循环结构中,标号的位置与break语句位置相似,一般要放在整个循环体前面,来标识这个循环结构。一旦内层循环执行了带标号的continue语句,程序流程则跳转到条件表达式;for循环,跳转到表达式3。