java的运行顺序是自上而下,从左到右的运行模式。
java的语句结构和c语言的基本结构相同,不同的是两者的定义方式和编码方式。
1.分支结构–if
语句结构:
if(判断条件){
执行的语句块;
}
ex:
if(a == 1){
System.out.println("输出a=" + a);
}
2.分支结构嵌套
(1)if语句
双分支
if(判断条件){
执行的语句块;
}else {
不满足判断条件的,执行该块代码;
}
多分支结构嵌套
if(判断条件1){
执行的语句块;
}else if(判断条件2){
不满足判断条件1,但满足判断条件2,执行该块代码;
}else if(判断条件3){
不满足判断条件1和2,但满足判断条件3,执行该块代码;
}else {
三个条件均不满足的,执行该块代码;
}
(2)switch语句
switch…case方式不常用,因为switch语句块具有穿透的效果,如果不break,他会从满足条件的语句,直接执行到最后一条。
switch(判断条件){
case value1 : 语句块;break;
case value2 : 语句块;break;
case value3 : 语句块;break;
case value4 : 语句块;break;
.....
default :语句块;
3.循环结构
(1)for循环语句
for(循环变量;循环条件;循环步长){
循环体语句;
}
主要用于遍历数组的强for循环语句。foreach
for(接收单个变量:数组){
循环体语句;
}
for循环语句可以嵌套,但是嵌套太多的for循环语句会影响执行效率
(2)while循环语句
while(循环条件){
循环体;
}
(3)do…while循环语句
do{
循环体;
}while(循环条件)
while和do…while循环结构都需要自己在循环体内设置循环出口,不然会一直死循环。
package tedu.day04_fordowhile;
//For循环嵌套
/*ex:
* for(){
* for(){
*
* }
* }
*/
public class Test01_LoopNested {
public static void main(String[] args) {
//打印5X5的*正方形矩阵
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*" + "\t");
}
System.out.print("\n");
}
System.out.println("---------------------------");
//打印直角三角形
/*
*
* *
* * *
* * * *
* * * * *
*/
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print("*" + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
//打印直角三角形
/*
* * * * *
* * * *
* * *
* *
*
*/
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i; j++) {
System.out.print("*" + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
//打印直角三角形
/*
*
* *
* * *
* * * *
* * * * *
*/
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) {
System.out.print(" " + "\t");
}
for (int k = 0; k < i + 1; k++) {
System.out.print("*" + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
//直角三角形
/*
* * * * *
* * * *
* * *
* *
*
*/
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" " + "\t");
}
for (int j = 0; j < 5 - i; j++) {
System.out.print("*" + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i + j < 5)
System.out.print("*" + "\t");
else
System.out.print(" " + "\t");
}
System.out.println();
}
//打印99乘法表
for (int i = 0; i < 9; i++) {
for (int j = 0; j <= i; j++) {
System.out.print((j + 1) + "*" + (i + 1) + "=" + ((i+1)*(j+1)) + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
/*打印全三角形
*
* * *
* * * * *
*/
for (int i = 0; i < 9; i += 2) {
for (int j = 0; j < (9-i)/2; j++) {
System.out.print(" " + "\t");
}
for (int j = 0; j < i+1; j++) {
System.out.print("*" + "\t");
}
System.out.println();
}
System.out.println("---------------------------");
}
}