星期二, 十一月 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
?
原文:http://yuzhouxiner.iteye.com/blog/2254091