以下内容为传智博客的《java基础入门》一书的读书笔记
第一章
- 命令行下使用java命令运行时只需输入类名,无需输入class
第二章
- 标识符:由字母数字下划线或美元符号组成,且不能由数字开头
- 命名规范:
- 包名一律小写
- 类、接口每个单词首字母大写(大驼峰命名法)
- 常亮以final修饰,且所有字母大写
- 变量或方法首单词首字母小写,其余单词首字母大写(小驼峰命名法)
- 进制标识
- 二进制使用0b或0B开头
- 八进制使用0开头
- 十六进制使用0x或0X开头
- 数据类型
- 八种基本数据类型,传递参数时为值传递;
- 引用数据类型:类,接口,数组,枚举,注解等,传递参数时为引用传递
- 八种基本数据类型
整型数据(默认值0)
- byte 1个字节,8位0/1
- short 2个字节
- int 4个字节(其他整型数据进行运算时会先转换为int后在进行计算)
- long 8个字节(赋值时数字后要加L,例子: long num = 2000L;)
浮点数类型(默认值0) - float 4个字节(小数默认类型为double,赋值是数字后要加f,例子: float num = 1.234f;)
- double 8个字节
字符型(默认值‘\u0000’)
char 2个字节
布尔类型(默认值false)
boolean false为0,true为非0
- 全局变量未被初始化时,jvm会为其设置默认值;局部变量不会设置默认值,故需要手动初始化,否则报错;
- +=符号运算时,原数据类型不会被jvm强转int或double而是保持原数据类型;
- >>>无符号右移运算符
- 方法重载:以参数列表为准,参数列表不同即为重载(顺序不同也视为重载)
- 冒泡排序:不断比较数组中相邻两个元素大小,每轮将最大者置于此轮最后位置
例子:
排序前 9 8 3 5 2
第一轮 8 3 5 2 9
第二轮 3 5 2 8 9
第三轮 3 2 5 8 9
第四轮 2 3 5 8 9 - 取模运算结果的符号取决于被模数,例子:(-5)%3=-2,5%(-3)=2;
- &与&&区别:使用&运算时,无论左边结果是true或false,右边表达式都会运算;使用&&表达式当左边为false时,右边不再运算
第三章
- 面向对象特点:封装、继承、多态
- 全局变量,也叫成员变量,在整个类中有效
- 构造方法要满足3个条件:
- 与类名相同
- 无返回值类型声明
- 不可以有返回值
(注:一个类中如果定义有有参构造方法,则无参构造方法需要重新定义)
- 类方法:由static修饰的方法,可以由类直接调用;实例方法:需对类实例化,利用对象调用
- 单例模式:分为饿汉式与懒汉式
饿汉式:一但创建类立即构建实例
1
2
3
4
5
6
7public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return singleton;
}
}懒汉式:创建类后不立即构建实例,被调用时才构建实例
1 | public class Singleton { |
- this调用构造方法,只能在构造方法中使用,不可以在成员方法中使用,且调用this的语句必须放在第一行