丁保国的博客

收集整理工作生活,点点滴滴

  :: :: 博问 :: 闪存 :: :: :: :: 管理 ::

第三讲 Java结构化编程

主要内容

 

分支语句(if-else, switch)

循环语句(while, do-while, for)

循环嵌套和循环控制(break, continue

简单的Java程序设计

 

分支语句

通过条件的判断,转向不同的程序流程,以此实现流程控制。

if-else 语句

这是最基本的分支语句。

语句形式

if ( 条件 )

    语句块1

[else

    语句块2]

分支流程说明

说明:

1)      if后必须是一个boolean型的数据。

2)      else是可选的,如果此时条件为false,则这条语句将不执行具体操作。

2x+1       x≥0

练习:求Y=   

x+10       x0

 

if-else 语句的扩展形式

扩展形式1

if ( 条件1 )

    if ( 条件2 )

        语句块1

    else

        语句块2

else

   语句块3

 

扩展形式2

if ( 条件1 )

        语句块1

else if ( 条件2 )

        语句块2

else if  ( 条件3 )

        语句块3

else

   语句块n

 

1       x>0

练习:求Y=     0       x=0

-1       x<0

 

 

switch语句

switch是用基于整型数据的多分支判断

语句形式

switch ( 表达式 ) {

    case 1: 语句块1;

                  break;

    case 2: 语句块2;

                  break;

    ...

    default: default语句块;

                  break;

}

 

多分支流程说明

说明:

1)   switch后的表达式,必须是byte, char, short 或者 int型的。

2)   表达式的值与case后的值1、值2…进行比较,匹配的情况下流程转向。

3)   break是可选的,可用来中断switch语句。

 

分析和思考:以下程序的作用,可能存在的问题。

import javax.swing.*;

class TestSwitch{

  public static void main(String[] aa){

     int x;

     String s=JOptionPane.showInputDialog("Number");

     x=Integer.parseInt(s);

     switch(x){

        case 1:s="one";

        case 2:s="two";

        case 3:s="three";

        case 4:s="four";

        case 5:s="five";

        default:s="other";

     }

     System.out.println(x+"-----"+s);

  }

}

 

练习:输入一月份,求该月的天数

分析:1,3,5,7,8,10,12----31

4,6,9,11-----30

2----2829天(由年份再确定)

      

 

import javax.swing.*;

class Monthdays{

  public static void main(String[] aa){

     int month;

     int days;

     String s=JOptionPane.showInputDialog("Month?");

     month=Integer.parseInt(s);

 

  }

}

 

循环语句

程序经常需要重复一些操作。形成重复执行的一组语句称为一个循环。

设计一个循环时,要考虑到循环的终点,否则循环会是无穷尽的。

while 语句

条件循环语句形式

while ( 条件 )

    语句块

在循环体执行前先判断条件,只要条件成立,循环就继续。

条件循环流程说明

 

示例:

1.    求前100个自然数的和。

2.    12……    N的和(N在程序运行时输入)

 

 

do-while语句

do-while循环与while循环很相近,区别只在于先判断还是先执行。

循环语句形式

do

    语句块

while ( 条件 );

 

 

先执行后判断。条件成立,下一次的循环就又开始。

示例:

1.    do-while改写上面例1

2.    设计一累加器程序Accumulator.java,可用以对用户输入的数据进行累加,当用户输入9999时停止,即显示累加和。

 

for语句

for循环是一种计数循环,可以设置用来遍历某个范围的值

循环语句形式

for ( 语句块1; 条件; 语句块2)

    语句块3

 

while来改写for循环

语句块1;

while ( 条件 ) {

    语句块3;

    语句块2;

}

 

先执行后判断!条件成立继续循环。

循环流程分析

[说明]

[1]语句块1循环开始前先执行一次,可用来初始化一个或多个变量,如果是多个各语句间用逗号相间。

[2]条件循环前进行判断,用以确定循环是否继续。

[3]语句块2是一条在每次循环完后执行的语句。

[4]以上三项都是可选的!

 

示例:

1.    求前100个自然数的和。

2.    输入一个自然数,求N!。

 

循环控制和循环嵌套

循环控制

break语句

适用情况break语句用于switch, for, while, 以及 do-while语句中。

作用:中断语句,程序流程至这些语句后的第一句。

示例:

1.    求前N个自然数的和。

2.    输入一个自然数,求N!。

3.    123……+N<1000N的最大数。

4.    输入一个自然数,判断该数是否为素数。

 

Continue 语句

适用情况continue语句用于 for, while, 以及 do-while语句中。

作用:中止当前循环,转到循环的起始处,开始下一次的循环。

示例:

1.    改造累加器程序Accumulator.java,使之只对正数进行累加,直到999为止。(999为结束标志,不需加入)

 

 

循环嵌套

在解决复杂一些的问题时,需要在循环里继续设置循环语句,这就是循环的嵌套。比如输出一个二维的矩阵,用循环嵌套就很容易解决。

分析如下程序的输出结果

class Matrix {

    public static void main( String[] args ){

    for( int i=1; i<=3; i++ ) {

        for ( int j=1; j<=5; j++)

                System.out.print(i*j+"\t");

           System.out.println();

        }

    }

}

练习用循环嵌套的方法输出如下图案:

*

* *

* * *

* * * *

* * * * *

* * * * *

* * * *

* * *

* *

*

 

 

* * * * * * * * *

* * * * * * *

* * * * *

* * *

*

 

*

* * *

* * * * *

* * * * * * *

* * * * * * * * *

 

 

 

简单的Java程序设计

1、输出一个三角形的九九乘法表

2*、求所有三位数的素数

3、键盘输入一年份,判断并输出是否为闰年

4、显示菲波那契数列的前20项,并求其和。

1,12,35,813………

posted on 2007-07-21 10:28  丁保国  阅读(444)  评论(0编辑  收藏  举报