习题的总结(5.28,am)

来源:互联网 发布:mac 桌面壁纸放哪里 编辑:程序博客网 时间:2024/06/05 11:08

3.如下代码

                        char c='X';
                        int i=0;

        System.out.println(true?c:97);
        System.out.println(false?i:c);

运行的结果不一样,为X ,88;据同学说是因为第一次不知道‘X’的类型,所以默认原样输出,而第二次因为i是INT类型,所以C强制类型转化为ASIC码。netbeans验证,第2个输出语句变为(false?c:c);则输出变为X,X;推测为:此3目运算符运行时将参照第一个运算符的类型(按物理顺序),做主要类型,为后面的类型做强制类型转换。

4.班门弄斧下

             最近在做C#程序设计,老掉牙的题目,“xx管理系统”,被组长分配了一个判断天数差的任务,牵涉到月份天数的统计,嫌以前的各种if麻烦,搜索String类型对象的时候发现了一个办法,很实用。

           string   thirtyOne="01030507081012";

         string      tempmonth;//目标月份

         int     totalDay;//总相差天数

         if(thirtyOne.contains(tempmonth))
                      totalDay+=31;

照此下来,全部判断完只用几行代码。