程序的结构设计
- 顺序结构
- 选择结构
- 循环结构
选择结构
选择结构的两种分支结构
- 条件分支:根据给定的条件进行判断,决定执行某个分支的程序段。
- 开关分支:根据给定整型表达式的值进行判断,然后决定执行多路分支中的一支。
1. if语句
格式:
if(判断条件){
语句1;
…
语句2;
}
2. if…else语句
public class TestJava3_14 {
public static void main(String[] args) {
int a=5;
if (a%2==1) {
System.out.println(a+"是奇数");
}
else {
System.out.println(a+"是偶数");
}
}
}
3.if…else if…else语句
在if…else里判断多个条件
public class TestJavaduofenzhi {
public static void main(String[] args) {
int x=2;
if (x==1) {
System.out.println("x==1");
}else if (x==2) {
System.out.println("x==2");
}else if (x==3) {
System.out.println("x==3");
}
else {
System.out.println("x>3");
}
}
}
x==2
4.条件运算符
- 代替if…else语句
- ==?:==根据条件的成立与否,来决定结果为":"前或”:“后的表达式。
- 条件判断?表达式1:表达式2
public class TestJavatiaojian {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=5,b=13,max;
max=(a>b)?a:b;
System.out.println("a="+a);
System.out.println("b="+b);
System.err.println("最大的数:"+max);
}
}
max=(a>b)?a:b
赋值当a>b时,max=a,否则max=b.
5.多重选择switch
- switch语句里的选择值只能是字符或常量
- 也被称为“多路选择结构”,在许多不同的语句之间做出选择,switch语句用于实现该结构,与break语句联合使用。
public class TestJavaSwitch {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=100,b=7;
char oper='/';
switch (oper) {
case '+':
System.out.println(a+"+"+b+"="+(a+b));
break;
case '-':
System.out.println(a+"-"+b+"="+(a-b));
break;
case '*':
System.out.println(a+"*"+b+"="+(a*b));
break;
case '/':
System.out.println(a+"/"+b+"="+((float)a/b));
break;
default:
System.out.println("未知操作");
}
}
}
100/7=14.285714
选择值为字符时,必须用单引号将字符包围起来。
循环结构
1.while循环
- while循环语句先计算表达式的值,若表达式的值为真,则执行循环体中的语句,继续循环,否则退出循环,执行while语句后面的语句。循环体可以是一条语句或空语句,也可以是复合语句。
累加1-10的和:
public class TestJavawhile {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1,sum=0;
while(i<=10) {
sum+=i;
i++;
}
System.out.println("1+2+3+...+10="+sum);
}
}
1+2+3+...+10=55
2.do…while循环
- 在do…while循环中,首先判定循环的条件,若循环的条件不满足,循环体就一次也不执行。
- 执行过程是:先执行一遍循环体,然后判断表达式的值,如果是真,则再执行循环体,继续循环,否则退出循环,执行下面的语句。
- 循环体至少被执行一次
累加1-10的和:
public class TestJavadowhile {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1,sum = 0;
//do...while先执行一次,再进行判断。循环体至少被执行一次。
do {
sum += i;
i++;
} while (i<=10);
System.out.println("1+2+3+...+10="+sum);
}
}
1+2+3+...+10=55
3.for循环
累加1-10的和:
public class TestJavafor {
public static void main(String[] args) {
int i,sum = 0;
for (i = 1; i <=10; i++) {
sum+=i;
}
System.out.println("1+2+3+...+10="+sum);
}
}
4.循环嵌套
- 循环语句中又出现循环语句。
for循环嵌套的使用
public class TestJavafor2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=9; j++) {
System.out.println(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println("\n");
}
}
}