1. 顺序结构
顺序结构是java中的基本结构。即按照语句从上至下的顺序一句一句执行。它是任何一个程序都离不开的一种基本结构。
2. 分支结构
2.1 if单条件单分支
当条件成立时执行{}内的复合语句,不成立时跳过{}内语句。
if(布尔值或布尔表达式){
// 布尔值或布尔表达式为true时执行的语句
}
2.2 if-else单条件双分支
当条件成立时执行{}内的复合语句,不成立时执行else{}内的复合语句。
if(布尔值或布尔表达式){
// 布尔值或布尔表达式为true时执行的语句
}
else{
// 当布尔值或布尔表达式为false
2.3 if-else if多条件多分支
相当于单条件单分支的叠加。
if(布尔值或布尔表达式){
// 布尔值或布尔表达式为true时执行的语句
}else if(布尔值或布尔表达式){
// 布尔值或布尔表达式为true时执行的语句
}
……
- 此外,if-else语句还可以嵌套使用。
2.4 switch-case开关语句
- 多选择结构
- 通过判断参数与选项中的值是否匹配,来进行流程控制。
- 参数类型可以是byte、short、int、char、String,但不能是布尔类型。
- 需要注意的是,每个case后都要加上break语句,不然会陷入一个陷阱。
3. 循环结构
3.1 while循环
while(expression){
statement;
}
当expression的值为true时会循环执行statement语句,直到expression的值变为false。
3.2 do-while循环
do{
statement;
}while(expression);
do-while循环不同于while循环的地方是先执行语句,后进行expression值的判断,即do-while循环至少会执行一次。
4. 循环结构
4.1 for循环
// 打印九九乘法表
public class Demo01 {
public static void main(String[] args){
int row;
int col;
for( row=1;row<=9;row++){
for (col = 1;col<=row;col++){
System.out.print(row+"x"+col+"="+row*col+"\t");
}
System.out.println("");
}
}
}
// 输出为:
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
4.2 foreach循环
public class demo2 {
public static void main(String[] args) {
int numbers[] = {1,2,3,4,5,6,7,8,9,10};
for(int x:numbers){ // 这里的x只是一个临时变量
System.out.println(x);
}
}
}
//输出为:
1
2
3
4
5
6
7
8
9
10
5 小练习
打印实心、空心三角形:
package src;
public class Starts {
/**
*实心金字塔
*/
public static void solidStrarts(int n){
for(int i=1;i<n;i++){
for(int j=n;j>=i;j--){
System.out.print(" ");
}
for(int j = 1;j<=i;j++){
System.out.print("*");
}
for (int j =1;j<i;j++){
System.out.print("*");
}
System.out.println("");
}
}
/**
* 空心金字塔
*/
public static void emptyStarts(int n){
// 循环5次 打印5行
for(int i=1;i<=n;i++){
// 打印起始空格
for(int j=n;j>i;j--){
System.out.print(" ");
}
// 打印左边三角形的边
System.out.print("*");
// 打印中间空白三角形
if(i!=n){
for(int j=1;j<=i-1;j++){
System.out.print(" ");
}
}
if(i!=n){
for(int j=1;j<=i-1;j++){
System.out.print(" ");
}
}
// 打印右边三角形的边
if(i!=1){
System.out.print("*");
}
// 打印底部三角形的边
if(i==n){
for(int j=0;j<i*2-2;j++){
System.out.print("*");
}
}
// 换行
System.out.println("");
}
}
public static void main(String[] args) {
solidStrarts(5);
System.out.println(" ");
emptyStarts(5);
}
}
*
***
*****
*******
*
* *
* *
* *
**********