# 程序逻辑
一般程序有三种结构:顺序结构,选择结构和循环结构。
程序默认是顺序结构,一条一条执行。
public class test{
public static void main(String[] args){
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 选择结构
# if语句
public class test{
public static void main(String[] args){
int a = 10;
if(a<2){
System.out.println("less than 2");
} else if(a < 5){
System.out.println("less than 5");
} else{
System.out.println("bigger than 5");
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# switch语句
public class test{
public static void main(String[] args){
String inputStr="orange";
switch(inputStr){
case "apple":
System.out.println("this is apple!");
case "orange":{
System.out.println("this is orange!");
}
case "banana":
System.out.println("this is banana!");
break;
default:{
System.out.println("other things!");
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
switch语句最早的时候只能是判断整数或字符,从JDK1.5支持枚举,从JDK1.7支持String。
# 循环结构
现在要用打印一个由*号组成的金字塔形。
public class test{
public static void main(String[] args){
int lineNum=5,i=1;
while(i<=lineNum){
for(int j=0;j<(lineNum-i);j++){
System.out.print(" ");
}
for(int j=0;j<i;j++){
System.out.print("* ");
}
System.out.println();
i++;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 循环控制
public class test{
public static void main(String[] args){
int lineNum=5,i=0;
do{
i++;
if (i % 2 ==0) {
if ( i==4 ) {
break;
}
continue;
}
System.out.println(i);
}while(i<lineNum);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 方法
也可以叫函数,在面向对象的语言中一般被称为方法。它是一段重复调用的代码。
public class test{
public static void main(String[] args){
int a=1,b=2;
System.out.println(add(a,b));
}
public static int add(int a,int b){
return a+b;
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 方法重载
方法名称相同,参数的类型或个数不同,实际调用时根据参数的类型,调用相应的方法,被称为重载。
public class test{
public static void main(String[] args){
int a=1,b=2;
System.out.println(add(a,b));
add(a);
}
public static int add(int a,int b){
return a+b;
}
public static void add(int a){
System.out.format("only a:%s",a);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 方法递归
方法递归调用指该方法自己调用自己,直到条件结束才返回。容易出现内存溢出。
public class test{
public static void main(String[] args){
System.out.println(sum(4));
}
public static int sum(int a){
if (a == 1)
return 1;
else
return a+sum(a-1);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12