JAVA | 1 - 随笔

JAVA 开发准备

JAVA 可移植性的关键就是 JVM。

JAVA 基本概念

PATH:是属于操作系统属性,定义所有可执行程序的路径。

CLASSPATH:是JAVA程序解释类文件时所使用的加载路径。

JAVA 基本数据类型

基本数据类型:byte,short,int,long;float,double;char;boolean;

引用数据类型:数组,类,接口。

基本数据类型不牵扯到内存分配问题,而引用数据类型需要开发者为其分配空间,而后进行关系的匹配。

整数用 int,小数用 double,日期时间数字或者表示文件/内存大小用 long;实现内容传递或者编码转换使用 byte;逻辑控制用 boolean;

保存范围:byte < int < long < double

数据范围小的数据与数据范围大的进行科学运算时,自动向大的范围进行转换。

数据范围大的向数据范围小的转换时,必须采用强制转换。

int 并不保留小数位。

所有的数据类型如果遇见了 String 的 + ,那么数据类型都会转为 String ,然后再进行字符串的连接;String 是一个特殊的类。

JAVA 程序逻辑控制

选择语句首选 If else

基本不会使用上 do while

不知道循环次数时,但是知道循环结束条件,使用 while 循环。

知道循环次数,使用 for 循环。

continue 退出本轮循环,break 退出整个循环。

JAVA 方法的定义与使用

如果方法的返回类型为 void ,那么可以使用 return 来结束方法的调用。

建议所有方法的重载使用同一种返回值类型。

方法的重载是依靠参数个数与参数类型来区分不同方法的。

JAVA 类与对象

类描述的是公共属性,必须通过对象才能使用。

声明对象指的是未开辟堆内存的对象,不能直接使用,需要通过关键字 new 进行堆内存的开辟,堆内存开辟的过程就是对象实例化。

堆内存保存的是对象所有属性的内容,栈内存保存的是堆内存的地址。

垃圾空间指的就是没有任何栈内存指向的堆内存空间,会不定期地被 GC (垃圾收集器)回收。

构造方法的核心作用:对象实例化时设置属性的初始化值。

构造方法的重载:只考虑参数类型与参数个数,尽量按照参数个数进行排列。

对象实例化的过程经历:类的加载,内存的分配,属性值的设置,构造方法。即使已经在构造方法之前已经给属性初始化值,但是实际上只有在构造方法后才会把初始化的值真正地设置给属性。即在没有构造之前,属性都是其数据类型对应的默认值。

匿名对象:没有栈指向的对象。匿名对象没有其他对象对其进行应用,所以只能使用一次,使用后成为垃圾对象空间等待回收。

JAVA static 关键字

static 定义的属性与非 static 定义的属性最大的不同在于保存的内存区域不一样,static 属性是放在全局数据区里的,而不是堆内存空间中。

所有的非 static 定义的结构,必须要在类已经明确的产生了实例化对象时才会分配堆内存空间,才可以使用;而所有的 static 定义的结构并不受实例化对象的控制。

所以 static 方法不能直接访问非 static 属性和方法,只能够调用 static 属性和方法;而非 static 方法可以访问 static 属性和方法,不受任何限制。

使用 static 可以避免实例化对象才能调用方法这一限制,如果一个类没有任何属性只有方法,则将方法全部设为 static 方法。

JAVA 代码块

普通代码块:写在方法里的代码块。实际上为了防止在方法里面编写代码过多时有可能产生的变量重名,对一个代码进行局部的分割。

构造块:写在类里的代码块。实例化对象时,虽然执行的是构造方法,但是构造块也会执行,而且优先于构造方法执行,如果实例化了多个对象,代码块也会执行多次。

静态代码块:static 定义的代码块。使用分为两种情况使用。当在非主类中时,静态代码块优先于构造块执行,而且即使实例化了多个对象,静态代码块也只会执行一次,主要功能是为了类中的 static 属性初始化。当在主类中使用时,此时静态代码块优先于主方法执行。

唯一好用的代码块只有静态代码块,用于执行一些测试的时候。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值