黑马程序员技术交流社区

标题: 周记问题汇总 [打印本页]

作者: qq563879497    时间: 2018-3-23 10:07
标题: 周记问题汇总
public class Test04 {
                public static void main(String[] args) {
                        int x = 4;
                        int y = (--x)+(x--)+(x*10);
                        System.out.println("x = " + x + ",y = " + y);

                        int a = 10;
                        int b = 20;
                        System.out.println((a++) + (++a) + (b--) + b * 10);
                }
        }
这段代码打印结果不会算         
已解决:关键在于变量x和y在计算的过程中在做自增运算,也就是说((a++) + (++a) + (b--) + b * 10)的运算应该是10+12+20+19*10
byte i = 3 +4
这个定义并不会做自动提升
如果是初始值是整数,系统会自动检查是否在byte范围内,如果运算结果在byte内,系统会直接把运算结果赋值给左边。     
已解决
关于&&和||的问题
如果左边成立,右边不会运算
举例:
a=10;//
b=20;//
System.out.println((a++)>10&&(b++>10));
System.out.println(a);
System.out.println(b);
打印结果
False
11
20                                                                
已解决:因为&&左边是false所以b不会自增
如何把一个整数的个十百千位的数单独取出来
已解决:举例:1234     1234/1000%10,因为int类型的整数做除法得到的结果只能是整数,所以1234/1000的结果本来是1.234,就会转换为1





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2