* 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。 * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 + b2; * 从两方面去回答这个题 1、b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值 2、byte类型的变量在进行运算的时候,会自动类型提升为int类型 这里第一种解释是不是错的,因为如果我定义 int x = 5;int y = 6;int z = x + y;x和y的和不也有可能会超过int的取值范围,jvm不也无法判断吗?求解释
|