← 返回首页
Java学习

1.Java基础概念学习

2026-09-19·2 次浏览
1.Java基础概念学习

#1 环境

IDEA:java web、Maven、Spring Boot、插件

2 Java核心基础

2.1 变量

final

与值对应的是常量

java Copy
int num = 1;
num = 2;
final int num1 =1;

final可以修饰变量、方法、类

修饰变量表示改变量的值不能修改

修饰方法标识改方法不能被重写

修饰类标识该类不能被继承

JMM Java Memory Model Java 内存模型

int num = 1;

Java 内存模型大致分为两部分,栈内存和堆内存,Java中所有的数据(变量)都是存储在栈内存和堆内存中

基本数据类型的数据存储在栈内存中,引用类型的数据存储在栈内存+堆内存

通过内存地址找到具体位置取值,内存地址是16进制的随机数值,所以说为了解决这种不方便的使用方式,我们就可以给其取个名字,也就是变量的概念了,就是上面提到的num = 1,相当于我们存储这个1,存储到了叫做num的位置(实际这个地方应该是个地址,只是这个名字指向了这个地址),int 4个byte

例如我有一个People类,我在进行如下操作的时候:

People people = new People( 1, ” 张三”);

实际上people这个名字依然是存在栈内存里的,但是后面跟随这个名字的数据(1, “ 张三”)是存在堆内存里的,那么很明显,要将这存在两个不同地方的东西联系在一起,就要靠地址的引用,也就是存在栈内存里署名为people这个地方存储的实际是对应的数据在堆内存里的地址。

在打印一个东西的时候,例如使用:

System.out.println(people);

它实际是会默认执行一个toString()方法,也就是上面这个语句也就是长这个样子的:

System.out.println(people.toString());

所以我们知道people这个地方存储的是对应数据在堆内存里的地址,所以说打印出来就是长这种模样的 People@1b6f3586

所以我们如果要使用这个打印出对应的属性的话,我们就要自己去在这个People类里面重写toString()方法。

例如此处有一个Student的继承于People的子类,父类重写了toString()方法的话,子类没有单独重写,子类就会去调用父类的重写方法然后输出。

2.2 基本数据类型

基本数据类型 占用空间
byte 1个字节 8位二进制
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
boolean 1/8个字节 1位(bit)

1 kb = 1024 byte = 2^10 byte

1 mb = 1024 kb

1 gb = 1024 mb

1 tb = 1024 gb

1 byte = 8 位二进制

2.3数据自动转换

2.3.1自动类型转换

Copy
int num = 100;
long num1 = num;

从小向大的转

2.3.2 强制类型转换

Copy
long num = 100;
int num1 = (int)num;

强制转换会有精度损失的风险

── 完 ──

评论

还没有评论,来说点什么
发表评论
0 / 1000