day_03_Java程序结构

星期二, 十一月 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

猜你喜欢

转载自yuzhouxiner.iteye.com/blog/2254091