不是,java中基本类型有8个: int、short、byte、boolean、float、char、double、long
不正确,3.4是双精度,将双精度给浮点型赋值,是向下转型,会损失精度,需要强制转型, flort f = (flort)3.4, 或者 flort f = 3.4f
3、short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1;有错吗?
short s1 = 1; s1 = s1 + 1;有错,由于1属于int型,s1+1也是int 型,将s1+1赋值short需要强转,
short s1 = 1; s1 += 1;没有错 因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。
int是基础数据类型,integer是引用数据类型,int的值是0 integer的默认值是null,integer是int的包装类型
&& 如果前面的是false 后面的判断就不执行吗,若为 true后面的再判断,
6、栈(stack)、堆(heap)和方法区(method area) 参考地址: https://blog.csdn.net/wu594914197/article/details/85256376
1、堆里面存放new出来的对象和数组,每个对象都包含一个与之对应的class的文件
2、jvm只有一个堆区,被所有线程共享,堆区不存放基本数据类型和引用对象,只存放对象本身
1、每个线程包含一个栈,栈中保存的是所有的变量,包括基本类型和引用类型,栈中每个变量包括类型、属性、值,
基本类型变量的值是具体的值,引用变量的值是对象在堆区存放的地址值,
3、栈分为3个本分:基本类型变量区、执行环境上下文、操作指令区(存放操作命令的)
1.方法区又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
3.—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。