永发信息网

分支语句——JAVA程序设计

答案:4  悬赏:50  手机版
解决时间 2021-07-17 23:43
  • 提问者网友:献世佛
  • 2021-07-17 07:43
帮我解释一下switch这个关键字,它有哪些作用!帮我设计一个JAVA程序,有关switch语句的程序,实现多分支!谢谢!
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-07-17 08:02

补充下:


1. byte、char、short、int 四种基本类型以及它们的包装类(需要Java5.0/1.5 以上版本支持)
都可以用于switch 语句。


2. long、float、double、boolean 四种基本类型以及它们的包装类(在Java 所有版本中)
都不能用于switch 语句。


3. enum 类型,即枚举类型可以用于switch 语句,但是要在Java5.0 (1.5)版本以上才支
持。


4. 所有类型的对象(包括String 类,但在Java5.0/1.5 以上版本中,该项要排除
byte、char、short、int 四种基本类型对应的包装类)都不能用于switch 语句。

全部回答
  • 1楼网友:鸠书
  • 2021-07-17 11:43

switch是一个多分支语句,它的格式是:

switch(表达式){

case 情况1:执行的操作1;break;

case 情况2:执行的操作2;break;

……

case 情况n:执行的操作n;break;

default:其他情况下执行的操作;break;

}

default就是如果没有符合的case就执行它,default并不是必须的.

public static void main(String[] args) {

int x=1;

switch(x)

{

case 1:System.out.println("x为真。");break;

case 0: System.out.println("x为假。");break;

}

}

这是显然输出的结果为“x为真。”

  • 2楼网友:时间的尘埃
  • 2021-07-17 10:41
class SwitchDemo { public static void main(String[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; default: System.out.println("Invalid month.");break; } } }
  • 3楼网友:老鼠爱大米
  • 2021-07-17 09:21

switch语句是分支语句,它的参数只支持比int类型小的数据,当你穿进去的参数和case后设置的值相等时,它就执行case后的语句,每个case语句最好写上break,这样下一个case它就会先判断后执行,不然就不判断直接执行了

这是一个月有多少天的例子:

import java.util.Scanner;

public class CalendarOfYear {

static int year, monthDay, weekDay; // 定义静态变量,以便其它类调用

public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.print("请输入年份:"); int year1 = input.nextInt(); year = year1; weekDay = firstDay(year1);

System.out.println("\\n " + year1 + "年 "); printMonth(); }

public static boolean isLeapYear(int y) { return ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)); }

public static int firstDay(int y) { long n = y * 365; for (int i = 1; i < y; i++) if (isLeapYear(i)) n = n + 1; return (int) n % 7; }

public static void printWeek() { System.out.println("==========================="); System.out.println(" 日 一 二 三 四 五 六"); }

public static int getMonthDay(int m) { switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: if (isLeapYear(year)) return 29; else return 28; default: return 0; } }

public static void printMonth() { for (int m = 1; m <= 12; m++) { System.out.println(m + "月"); printWeek(); for (int j = 1; j <= weekDay; j++) System.out.print(" "); int monthDay = getMonthDay(m); for (int d = 1; d <= monthDay; d++) { if (d < 10) System.out.print(" " + d + " "); else System.out.print(d + " "); weekDay = (weekDay + 1) % 7; if (weekDay == 0) System.out.println(); } System.out.println('\n'); } } }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯