Java程序员的日常——《编程思想》一切都是对象

今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思。从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多啊!

关于对象

与C这种面向过程的语言不同,Java是面向对象的,在它眼里一切都是对象。
在Java中不同的东西是存放在不同的地方的,比如:

  • 通过new创建的对象,是存放在堆中的
  • 方法区用于存储元信息和常量
  • 本地方法栈存储了方法的调用链等信息

关于基本的数据类型

基本类型 | 大小 | 最小值|最大值|包装器
-----|------|----|----|----|----
boolean | - | -|-|Boolean
char|2字节 | Unicode 0 | Unicode 2^16-1|Character
byte|1字节|-128|127|Byte
short|2字节|-215|215-1|Short
int|4字节|-231|-231-1|Integer
long|8字节|-263|263-1|Long
float|4字节|IEEE754|IEEE754|Float
double|8字节|IEEE754|IEEE754|Double
void|-|-|-|Void

基本类型可以提升为包装器:

char c = 'a';
Character ch = new Character(c);

也可以降低为基本类型:

char ccc = ch;

作用域

在C、C++、Java中作用域都是通过{}控制。
但是在Java中是不可以重复声明的,比如:

{
int x = 1;
{
int x = 2;
}
}

而且对于new出来的对象作用域是不同的。通过new创建的对象,作用域之外,这个对象仍然存活,只能通过JVM进行销毁。

关于类

在Java中类可以包含一些基本的类型,在创建类的对象时,会自动进行初始化。
比如:

class Test{
int i;
float j;
}

初始化的规则如下:

基本类型 默认值
boolean false
char null
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
posted @   xingoo  阅读(699)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2015-05-06 过滤器导图详解
点击右上角即可分享
微信分享提示