a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 303|回复: 1

[专业语言] JAVA语言基础之语句及控制流3

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
l         多分支语句switch 开关语句:控制传递给以表达式的值为标号的语句。 7 H/ [7 f  [: i" i. z- F! y3 w/ a
格式:   Z3 B+ r9 \; V% s' C
switch (int_expression)  
- n0 T4 m0 g. J& ]: e& d, L3 \{
$ ]8 _: H2 n3 _8 x: c1 n               case n1: 1 n' L  W9 I1 T. D& N2 L: K  Z
                      Statements;  break;
/ r( P7 z+ ?+ B: ~% g               case nk;
7 ?( c! W* m2 B: O                       Statements;  break;
8 o. Q$ U( c0 L& k# H1 I" T0 I7 p               default: 8 X. m& }" @- c
                      Statements; break;
+ `7 d& r* b1 s) i0 p             } + y! M  p6 y% D, Q( e: U/ a$ Q
这里int_expression必须返回一个int(或byte,char,short),n1到nk为int或可以返回int的一个表达式。
) W3 G% Y# p% E+ r, Y* U5 ?如果没有找到匹配的值,则执行default: Statements,不过default可有可无
0 Y3 Y- g+ ]: X, ^每个case之后,可以包含一个或多个语句而不用用{}包起来。 ( Z" q! s: H8 z7 e) y2 T9 v  a4 U
一般在每个case后的语句末尾都要加一个break语句,否则若该case符合,则它下面一直到switch结束或遇到break,所有的语句都会执行。 " f, N) G& x" Q: d! l
程序例:
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:45 | 显示全部楼层

JAVA语言基础之语句及控制流3

class DayCounter  
! q7 j9 p& m5 ]{ ) O( X; y* u  O+ J( W: X
public static void main(String[] arguments)  
. N" h& C* ]* d, `9 U{
* a& Y2 U2 M+ G! Z( H        int yearIn = 2001;             //可以改变 年 月的数据
$ P' I' Z/ ?3 x; d9 u/ y        int monthIn = 3; 4 Z/ o: p8 G+ i% D- L% |
        if (arguments.length > 0)          //也可以从命令行上来输入
3 _. v+ w) X* }1 O; g' m1 n# G            monthIn = Integer.parseInt(arguments[0]); - r( G& ~, B8 k* D0 j5 Z( Y- [- t
        if (arguments.length > 1) 3 T$ q, `( v/ h1 w$ e
            yearIn = Integer.parseInt(arguments[1]);
& x  g4 q! Q5 n: T  a4 D$ } System.out.println(monthIn + "/" + yearIn + " has " + countDays(monthIn, yearIn) + " days.");
3 J4 z/ G" ~& f0 l; ]4 d    } $ |* p; ], f1 M9 {$ Y
   public static int countDays(int month, int year)  , b. h% Y, d% O9 \- @
{ , t, C; T' F: _% o# l, D. q& W
        int count = -1;
& O0 c5 l: K. |5 x  v( O8 W4 U$ R        switch (month)  " Q+ u" ?. E8 l! n; S' n
{ 1 F$ i. s" A, ^
            case 1:        //识别大月 , B0 Q' B  O6 ^! i2 b6 h
            case 3: 4 L: r* {5 W0 S! ^5 a
            case 5:
4 R" n: ?' K, U1 v6 Z: a& f            case 7: - ?9 e1 d  e3 c! J, m, R
            case 8:
& M2 {( M; j1 o  T0 C            case 10:
: m& H. A$ T* o4 F/ A& i' k            case 12: - e* \  d, v8 q
                count = 31; 8 H8 J+ b  \0 ~
                break; ; ~3 G- N9 }- A
            case 4:        //识别小月 ' X; C- ^4 u/ o) j
            case 6:
: s, R! G) z" y/ b( k$ h! {; x' J            case 9: " \, U+ W  T* G8 m$ N7 h
            case 11: ) K( E! I6 a; X+ l
                count = 30; ; _; j& I6 _+ O+ n7 d
                break; 8 b/ N. k$ ~% e( `+ i& O2 Z
            case 2:        //识别平月 : U+ k, a- l2 c7 p( Z
                if (year % 4 == 0)
& t5 X' ?' N7 q8 u& B8 {- y                    count = 29;
2 H+ l# S* U7 u4 y4 J# b                else & W6 T- K% L* g, G
                    count = 28; * m# G5 a5 W; S4 U) C( `' v5 ~% {
                if ((year % 100 == 0) & (year % 400 != 0))
, z% B& S% {6 X                    count = 28;
. b* z' M7 {$ y4 Q( G9 \        }
, l- _; H" O! U) |& l        return count;
2 U9 C" X/ N: X9 Q    }
! u) D/ n, S0 W7 V  Z}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-25 11:32 , Processed in 0.324412 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表