java

导航

java入门教程:Java开关语句-switch

来源 :中华考试网 2016-04-25

Java开关语句-switch 

  在条件判断语句(if语句)过多时,可以使用开关语句来编写。开关语句的基本结构是: 

  switch(整数){

   case 整数值 1: 语句; break;

   case 整数值 2: 语句; break;

   case 整数值 3: 语句; break;

   ……………………..

   default: 语句;

   }

  当“整数”的值等于“整数值1”、“整数值2”、“整数值3”......中的一个时,执行相应的语句,执行完成跳出开关语句;若没有相当的数值,则执行default后边的语句,执行完成跳出开关语句。

  注:break语句用于跳出开关语句。

  示例:输出当前月份。

public class control17{

public static void main(String[] args){

int i=8;

switch(i){

case 1: System.out.println("是一月份");break;

case 2: System.out.println("是二月份");break;

case 3: System.out.println("是三月份");break;

case 4: System.out.println("是四月份");break;

case 5: System.out.println("是五月份");break;

case 6: System.out.println("是六月份");break;

case 7: System.out.println("是七月份");break;

case 8: System.out.println("是八月份");break;

case 9: System.out.println("是九月份");break;

case 10: System.out.println("是十月份");break;

case 11: System.out.println("是十一月份");break;

case 12:System.out.println("是十二月份");break;

default: System.out.println("fault");

}

}

}

  运行结果:

是八月份

以下是同学在学习java代码时,对java switch开关语句和if语句的练习,把源代码分享出来给大家,希望能够给初学者一个参考学习哦。

程序清单:

import java.util.Scanner;

 

public class 练习题1 {

 

    public static void main(String[] args) {

 

        System.out.println("请输入一个年份,求该年份是否为闰年,闰年能被4整除但不能被100整除,或者能被400整除");

 

        int a = new Scanner(System.in).nextInt();

 

        if (a <= 0) {

 

            System.out.println("你输入的年份有误,程序退出");

 

            System.exit(0);

 

        else if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {

 

            System.out.println("你输入的年份为闰年");

 

        else {

 

            System.out.println("你输入的年份不是闰年");

 

        }

 

        System.out.println("输入一个不超过五位的正整数,求出它是几位数并按逆序输出来");

 

        int b = new Scanner(System.in).nextInt();

 

        if (b < 0 || b > 100000) {

 

            System.out.println("你的输入没达到要求,程序退出");

 

            System.exit(0);

 

        else if (b >= 0 && b < 10) {

 

            System.out.println(" 你输入的是一个一位数" + b);

 

        else if (b >= 10 && b < 100) {

 

            System.out.println("你输入的是一个两位数,并且他的逆序是" + b % 10 + b % 100 10);

 

        else if (b >= 100 && b < 1000) {

 

            System.out.println("你输入的是一个三位数,并且他的逆序是" + b % 10 + b % 100 10 + b

                    1000 100);

 

        else if (b >= 1000 && b < 10000) {

 

            System.out.println("你输入的是一个四位数,并且他的逆序是" + b % 10 + b % 100 10 + b

                    1000 100 + b % 10000 1000);

 

        else if (b >= 10000 && b < 100000) {

 

            System.out.println("你输入的是一个五位数,并且他的逆序是" + b % 10 + b % 100 10 + b

                    1000 100 + b % 10000 1000 + b % 100000 10000);

 

        }

 

        System.out.println("输入一个数,判断它是否能被3、5、7整除,注意考虑同时整除的情况");

 

        double c = new Scanner(System.in).nextDouble();

 

        if (c % 3 == 0 && c % 5 == 0 && c % 7 == 0) {

 

            System.out.println("这个数能被3、5、7、同时整除");

 

        else if (c % 3 == 0 && c % 5 == 0) {

 

            System.out.println("这个数能被3和5同时整除");

 

        else if (c % 3 == 0) {

 

            System.out.println("这个数只能被3整除");

 

        else if (c % 5 == 0) {

 

            System.out.println("这个数只能被5整除");

 

        else if (c % 7 == 0) {

 

            System.out.println("这个数只能被7整除");

 

        else if (c % 3 == 0 && c % 7 == 0) {

 

            System.out.println("这个数能同时被3和7整除");

 

        else if (c % 5 == 0 && c % 7 == 0) {

 

            System.out.println("这个数能同时被5和7整除");

 

        else {

 

            System.out.println("这个数不能被3、5、7整除");

 

        }

 

        System.out.println("从键盘输入两个数和一个运算符,输出运算结果用if和switch分别写出");

 

        double d = new Scanner(System.in).nextDouble();

 

        double e = new Scanner(System.in).nextDouble();

 

        char f = new Scanner(System.in).nextLine().charAt(0);

 

        if (f != '+' || f != '-' || f != '*' || f != '/') {

 

            System.out.println("没有这个运算式");

 

            if (f == '+') {

 

            }

 

            System.out.println("你的输出结果为" + (d + e));

 

        }

        if (f == '-') {

 

            System.out.println("你的输出结果为" + (d - e));

 

        }

        if (f == '*') {

 

            System.out.println("你的输出结果为" + d * e);

 

        }

        if (f == '/') {

 

            System.out.println("你的输出结果为" + d / e);

 

        }

 

        System.out.println("用switch写出来则为");

 

        System.out.println("请输入两个数字和一个运算符1.+ 2.- 3.* 4./");

 

        double h = new Scanner(System.in).nextDouble();

 

        double i = new Scanner(System.in).nextDouble();

 

        char g = new Scanner(System.in).nextLine().charAt(0);

 

        switch (g) {

 

        case '+':

            System.out.println("你输入运算式结果为" + h + i);

            break;

 

        case '-':

            System.out.println("你输入运算式结果为" + (h - i));

            break;

 

        case '*':

            System.out.println("你输入运算式结果为" + h * i);

            break;

 

        case '/':

            System.out.println("你输入运算式结果为" + h / i);

            break;

 

        default:

 

            System.out.println("没有这个运算式");

 

        }

 

        System.out.println("请输入一个月份并输出它的天数");

 

        int t = new Scanner(System.in).nextInt();

 

        if (t <= 0 || t > 12) {

 

            System.out.println("你的输入有误。程序退出");

 

            System.exit(0);

 

        }

 

        if (t == 1) {

 

            System.out.println("你输入的是一月份,一月有31天");

 

        }

        if (t == 2) {

 

            System.out.println("你输入的是二月份,闰年的话二月是29天,不是闰年则为28天");

 

        }

 

        if (t == 3) {

 

            System.out.println("你输入的是三月,三月是31天");

 

        }

        if (t == 4) {

 

            System.out.println("你输入的是四月,四月有30天");

 

        }

        if (t == 5) {

 

            System.out.println("你输入的是五月份,五月有31天");

 

        }

        if (t == 6) {

 

            System.out.println("你输入的是六月份,六月有30天");

 

        }

        if (t == 7) {

 

            System.out.println("你输入的是七月份,七月有31天");

 

        }

        if (t == 8) {

 

            System.out.println("你输入的是八月份,八月有31天");

 

        }

        if (t == 9) {

 

            System.out.println("你输入的是九月份,九月有30天");

 

        }

        if (t == 10) {

 

            System.out.println("你输入的是十月份,十月有31天");

 

        }

        if (t == 11) {

 

            System.out.println("你输入的是十一月份,十一月有31天");

 

        }

        if (t == 12) {

 

            System.out.println("你输入的是十二月份,十二月有30天");

 

        }

 

        System.out.println("用switch写出来");

 

        int o = new Scanner(System.in).nextInt();

 

        switch (o) {

 

        case 1:

            System.out.println("你输入的是一月份,一月有31天");

            break;

 

        case 2:

            System.out.println("你输入的是二月份,闰年的话二月是29天,不是闰年则为28天");

            break;

 

        case 3:

            System.out.println("你输入的是三月,三月是31天");

            break;

 

        case 4:

            System.out.println("你输入的是四月,四月有30天");

            break;

 

        case 5:

            System.out.println("你输入的是五月份,五月有31天");

            break;

 

        case 6:

            System.out.println("你输入的是六月份,六月有30天");

            break;

 

        case 7:

            System.out.println("你输入的是七月份,七月有31天");

            break;

 

        case 8:

            System.out.println("你输入的是八月份,八月有31天");

            break;

 

        case 9:

            System.out.println("你输入的是九月份,九月有30天");

            break;

 

        case 10:

            System.out.println("你输入的是十月份,十月有31天");

            break;

 

        case 11:

            System.out.println("你输入的是十一月份,十一月有31天");

            break;

 

        case 12:

            System.out.println("你输入的是十二月份,十二月有30天");

            break;

 

        default:

 

            System.out.println("你的输入有误,程序退出");

 

            System.exit(0);

 

        }

 

    }

 

}

分享到

相关资讯