星期二, 十一月 03, 2015 11:59:30 上午
程序结构分为:
--------顺序结构、选择(分支)结构、循环结构
一:分支结构
---条件分支
if、if...else
---开关分支
switch
1.if
代码案例:
声明一个整型变量a=5,判断a的奇偶,输出判断结果
package day03;
public class TestIf {
public static void main(String[] args) {
/*设置a,b;当 a>b,result=a-b;最后都执行a*b */
int a = 6,b = 5;
int c = 0;
if(a > b) {
c = a - b;
System.out.println("a>b时,执行c="+c);
}
c = a * b;
System.out.println("此执行与ab大小无关="+c);
}
}
运行结果:
a>b时,执行c=1
此执行与ab大小无关=30
2.if..else if.. else
---太多不好用,可以用条件运算符 ? :
代码案例:
package day03;
public class TestIf {
public static void main(String[] args) {
/* 声明一个整型变量a=5,判断a的奇偶,输出判断结果*/
int a = 5;
if (a%2 == 0) {
System.out.println(a+"是偶数");
}
else {
System.out.println(a+"是奇数");
}
/*if..else if.. else
---太多不好用,可以用条件运算符 ? :*/
int b = 8;
String m;
m =( b % 2 == 1)?"奇数":"偶数";
System.out.println(b+"是"+m);
}
}
运行结果:
5是奇数
8是偶数
3.多重选择switch语句
---switch(表达式){
case 值1:语句主题1;
break;
case 值2:语句主题2;
break;
case 值3:语句主题3;
break;
default:语句主体;
}
注意:switch语句里的选择值只能是字符(用单引号'')或者常量
代码案例:
package day03;
public class TestSwitch {
public static void main(String[] args) {
int a = 10, b = 5;
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="+(a/b));
break;
default:
System.out.println("没对应的输入值");
}
}
}
运行结果:
a+b=15
二:循环结构
分为:while、do...while、for
(嵌套循环、循环的跳转)
----while循环
---1.执行过程是先计算表达式的值,若表达式的值为真,则执行循环体中的语句,继续循环;
否则退出循环,执行该while语句后面的语句。
---2.循环体可以是一条语句或空语句,也可以是符合语句。
---3、while循环的格式如下:
while(判断条件){
语句1;
语句2
语句N;
}
代码案例:
package day03;
public class TestWhile {
public static void main(String[] args) {
/*先判断while里的条件的真假,再进行while里的语句*/
int i = 1,sum = 0;
while (i<=10){
sum+=i;
i++;
}
System.out.println(sum);
}
}
运行结果:
55
----do...while循环
---1.首先执行一次循环体,然后判定循环条件
do{
语句1;
语句2;
....
语句n
}while(判断条件);
---2.先执行循环体--->再进行判断
a.先对循环控制变量(或表达式)赋起始值
b.直接执行循环主体,完成后进行判断条件的内容决定是否继续进行循环
c.执行完循环主体内的语句后,重新对循环控制变量(或表达式)赋值(增加/减少)。
然后再进行循环。
代码案例:
package day03;
public class TestWhile {
public static void main(String[] args) {
/*do...while循环,先执行后判断*/
int j = 1,sum = 0;
do {
sum = sum + j;
j++;
}while(j<=5);
System.out.println("sum="+sum);//sum=15
System.out.println("j="+j);//j=6
}
}
运行结果:
sum=15
j=6
----for循环
---1.当很明确地知道循环要执行的次数时,就可以使用for循环
---2.for(赋值初值;判断条件;赋值增减量){语句1;语句2;语句n;}
---3.执行步骤
a.先赋值初值
b.判断条件
c.根据判断条件的true/false是否进入循环体
d.执行完循环体主体语句后,循环体控制会根据增减量的要求,更改控制变量的值
e.再回到2重新判断是否继续执行循环。
代码案例:
利用for循环来完成由1至10的累加运算
package day03;
public class TestWhile {
public static void main(String[] args) {
/*利用for循环来完成由1至10的累加运算*/
int sum = 0;
for (int i = 1;i <= 10; i++) {
sum+=i;
}
System.out.println("sum="+sum);//sum=55
}
}
运行结果:
sum=55
+++嵌套循环
代码案例:
实现九九乘法表
package day03;
public class TestWhile {
public static void main(String[] args) {
/*嵌套循环,for实现九九乘法表*/
for (int i = 1; i <= 9;i++) {
for(int j = 1; j <= 9; j++) {
System.out.print(i+"*"+j+"="+(i*j)+'\t');
}
System.out.print('\n');
}
}
}
+++循环的跳转
---break
break语句不惯情况如何,先离开循环体再说;
利用for循环输出循环变量i的值,当i除以3所取的余数为0时,即使用break语句的跳离循环,
并于程序结束前输出循环变量i的最终值。
代码案例:
package day03;
public class TestBreak {
public static void main(String[] args) {
int i;
for(i = 1 ; i < 10 ; i++){
if ( i%3 == 0){
break;
}
System.out.println("i="+i);//1,2
}
System.out.println("循环中断i="+i);
}
}
运行结果:
i=1
i=2
循环中断i=3
---continue
跳过本次循环,回到循环的起点。
continue语句则不再执行此次循环的剩余语句,而是直接回到循环的起始处
代码案例:
package day03;
public class TestWhile {
public static void main(String[] args) {
/*continue*/
int i;
for(i = 1 ; i <= 10 ; i++){
if ( i%3 == 0){
continue;
}
System.out.println("i="+i);//1,2,4,5,7,8,10
}
System.out.println("循环中断i="+i);
}
}
运行结果:
i=1
i=2
i=4
i=5
i=7
i=8
i=10
循环中断i=11