A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq563879497 中级黑马   /  2018-3-23 10:07  /  951 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马