会计考友 发表于 2012-8-4 12:44:44

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

l         多分支语句switch 开关语句:控制传递给以表达式的值为标号的语句。
格式:
switch (int_expression)
{
               case n1:
                      Statements;break;
               case nk;
                     Statements;break;
               default:
                      Statements; break;
             }
这里int_expression必须返回一个int(或byte,char,short),n1到nk为int或可以返回int的一个表达式。
如果没有找到匹配的值,则执行default: Statements,不过default可有可无
每个case之后,可以包含一个或多个语句而不用用{}包起来。
一般在每个case后的语句末尾都要加一个break语句,否则若该case符合,则它下面一直到switch结束或遇到break,所有的语句都会执行。
程序例:

会计考友 发表于 2012-8-4 12:44:45

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

class DayCounter
{
public static void main(String[] arguments)
{
      int yearIn = 2001;             //可以改变 年 月的数据
      int monthIn = 3;
      if (arguments.length > 0)          //也可以从命令行上来输入
            monthIn = Integer.parseInt(arguments);
      if (arguments.length > 1)
            yearIn = Integer.parseInt(arguments);
System.out.println(monthIn + "/" + yearIn + " has " + countDays(monthIn, yearIn) + " days.");
    }
   public static int countDays(int month, int year)
{
      int count = -1;
      switch (month)
{
            case 1:      //识别大月
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                count = 31;
                break;
            case 4:      //识别小月
            case 6:
            case 9:
            case 11:
                count = 30;
                break;
            case 2:      //识别平月
                if (year % 4 == 0)
                  count = 29;
                else
                  count = 28;
                if ((year % 100 == 0) & (year % 400 != 0))
                  count = 28;
      }
      return count;
    }
}
页: [1]
查看完整版本: JAVA语言基础之语句及控制流3