问答详情
源自:4-6 Java条件语句之 switch

用逻辑符链接case为什么错了?

public class HelloWorld {

    public static void main(String[] args) {

char today='日';

   switch(today){

            case '一'||'三'||'五':

                System.out.println("吃包子");

            case '二'||'十'||'六':

                System.out.println("吃油条");

            case '日':

                System.out.println("吃主席餐");

   }

        


提问者:Maseghini4089428 2016-12-28 15:19

个回答

  • 慕粉0939456869
    2016-12-28 15:37:42
    已采纳

    把||改成&

  • 我拿青春赌明天01
    2017-01-06 15:56:02

    package com.lx;


    public class lx {

    public static void main(String [] args ){

    char today='日';

            switch(today){

                case 1|3|5:

                    System.out.println("早餐冲包子");

                    break;

                case 2|4|6:

            

                    System.out.println("早餐吃油条");

                    break;

                default:

                System.out.println("吃主席套餐");

            }       

    }

    }我这样可以运算出来哦!

  • Maseghini4089428
    2016-12-29 12:15:51

    谢谢谢谢

  • 慕粉0939456869
    2016-12-28 16:16:42

    或运算符用符号“|”表示,其运算规律如下:
    两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
    public class data14
    {
    public static void main(String[] args)
    {
    int a=129;
    int b=128;
    System.out.println("a 和b 或的结果是:"+(a|b));
    }
    }
    运行结果
    a 和b 或的结果是:129
    下面分析这个程序段:
    a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

  • 慕粉0939456869
    2016-12-28 16:15:39

    20125                         

  • 慕粉0939456869
    2016-12-28 15:39:12

    而且你没发现你少两个}}吗?