Java语言基础面试题之变量相加和常量相加的区别
2017-01-23 10:27
274 查看
package cn.mldn.demo; public class Test1_DataTypeConversion { public static void main(String[] args) { byte b1 = 3; byte b2 = 4; // byte b3 = b1 + b2; // System.out.println(b3); // 从两个方面 // 1. byte 与 byte (或者 short char ) 进行运算的时候会提升int 两个int 类型相加的结果也是int 类型 // 2. b1 和 b2 是两个变量,变量存储的是变化 ,在编译的时候无法判断里面的值,相加有可能会超出byte的取值 // byte b4 = 3 + 4; System.out.println(b4); // java编译器有常量优化机制 } }
b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
byte类型的变量在进行运算的时候,会自动类型提升为int类型
3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
Java编译器有常量优化机制 和直接赋值7 是一个意思
相关文章推荐
- java语言基础(9)——变量相加和常量相加的区别
- java语言基础(54)——变量字符串拼接和常量字符串拼接的区别
- 磨刀不误砍材工 - Java的基础语言要素(从变量/常量切入,看8种基本数据类型)
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
- 黑马程序员——Java语言基础:常量、变量、运算符
- Java 基础笔记之二 变量和常量有什么区别
- 四:Java语言基础组成—— 常量和变量
- Java语言基础组成之:关键字、标识符、注释、常量和变量、运算符
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
- java入门2-语言基础之关键字,标识符,注释,常量和变量
- java语言基础入门——变量、数据及常量的介绍
- 黑马程序员--02.Java语言基础--01.【关键字】【标示符】【常量】【变量】【运算符】
- Java语言基础组成——关键字,标识符,注释,常量和变量,运算符
- 黑马程序员--Java语言基础组成 —关键字、常量与变量
- Java语言基础-3.常量和变量
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 黑马程序员_java语言基础_常量变量运算符
- 黑马程序员——java语言基础常量、变量、运算符
- 黑马程序员——Java语言基础(一)---关键字、标识符、注释、常量、变量、运算符
- Java语言基础(关键字、标识符、注释、常量、变量、运算符)