栈空间存储效率高 仅次于寄存器,栈中的数据是按“先进后出” 的方式管理。
栈控件存储空间较小,不能存放大量的数据。
JVM将基本类型的数据存放在栈空间。
堆空间:
存取数据的效率很低。
数据存放的位置随机分配。
堆空间存储数据的空间大,能存放大容量的数据。
基本数据类型
类型 | 占用空间 | 取值范围 |
byte(字节型) | 1字节 | -128~127(2^7=128) |
short(短整型) | 2字节 | -2^16~2^16-1(65536~65535) |
int(整型) | 4字节 | -2^31~2^31-1(2147483648~2147483647) |
long(长整型) | 8字节 | -9223372036854776000~9223372036854776000(-2^63~2^63-1) |
float(单精度) | 4字节 | -3.4028235*10^38~3.4028235*10^38-1 |
double(双精度) | 8字节 | -1.797693*10^308-1~1.79769313*10^308 |
char(字符型) | 2字节 | 0~62235(2^16-1) |
boolean(布尔型) | 1或4字节 | false、true |
1字节=8bit:Byte.SIZE=8 bit
short(短整型):Short.SIZE=16 bit
int(整型):Integer.SIZE=32 bit
long(长整型):Long.SIZE=64 bit
float(单精度):Float.SIZE=32 bit
double(双精度):Double.SIZE = 64 bit
char(字符型):Char.SIZE= 8 bit
为什么定义和使用变量
1、定义变量:
变量:就是程序运行过程中值可以改变的量。([访问修饰符] 数据类型 变量名 [=初始值])
常量:就是程序运行过程中值不可以改变的量。([访问修饰符] final 数据类型 常量名称 = 值)
常量名称必须大写、有关键字final、先声明后使用、可声明时赋值或使用前任何时间赋值、只能赋值一次。
全局常量可以不手动赋值,系统会初始化这些全局常量的值。局部常量必须赋值,否则使用时编译报错。
字面量:Java的变量和常量中存放的具体的数据成为字面量。
整型字面量:1、2、3、4、5
字符串字面量:“a”、“b”、“c”、“张三”、“李四”
2、使用变量:
计算机的高级语言普遍使用变量来管理内存中的存储数据。
高级语言不使用内存地址来表示存储数据(如果用内存地址来表示存储数据,非常抽象,难以理解),要用变量名来表示存储数据,变量名和内存中的地址对应。
.变量管理基本数据类型:
.变量管理引用类型的数据
变量的命名、定义和初始化
1、首字母是英文字母、$或下划线,由字母、数字、下划线组成;
2、变量的命名遵循见名知义的原则。
3、Java 变量名建议不用中文
4、变量名首字母建议不用大写字母。(类名、接口名用大写字母开头)
5、用驼峰命名法命名多个单词组成的变量名(例如:sumScore)
6、变量命名不用使用Java关键字
.每个变量必须属于一种数据类型
byte score;//保存单科分数
short age;//保存年龄
int sumScore;//保存总分
long fileSize;//保存文件长度
float x,y;//单精度浮点类型,用来表示屏幕上一个点的活动坐标。
double result;//保存浮点类型运算的结果
char sex;//保存性别
boolean isContinue;//表示是否继续
String name; //表示人的姓名
.变量的初始化
变量定义以后要赋值(即变量的初始化),
等号(=)右边的数据存储到左边变量的内存占用中,
等号右边的数据可以是数据,也可以是运算,
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!