Java基础
关于Java基础的杂记
第一章 概述
java转义字符
\t
一个制表位,实现对齐功能
\n
换行符
\\\
一个真实的斜杠
\\”
一个真实的双引号
\\’
一个真实的单引号
\r
一个回车,没有换行,将光标置于最前,逐个输出\r后的字符
注释
单行注释
1
//需要注释的语句
多行注释
1
2
3/*
这里是多行注释
*/Javadoc注释
1
2
3
4/**
* @author lael
* @version 1.0
*/
细节
- 注释语句不会执行
- 多行注释不允许嵌套多行注释
代码规范
- 类、方法的注释,要以javadoc的方式来写
- 非javadoc注释着重告诉维护者如何修改、为什么这样写,以及注意事项
- 运算符和 = 两边加一个空格
- 实际工作使用UTF-8编码格式
- 行宽不超过80字符
- 代码编写使用行尾风格或次行风格
JDK、JRE、JVM之间关系
- JDK = JRE + JAVA开发工具
- JRE = JVM + 核心类库
第二章 变量
变量注意事项
- int 4个字节、double 8个字节,每个类型占用空间不同
- 变量必须先声明,后使用
- 变量在同一个作用域中不可重名
- 变量 = 变量名 + 值 + 数据类型 (三要素)
+ 号
- 当 + 左右两边有一方为字符串,则做拼接运算
两边均为数值类型,则做加法运算
运算顺序为从左到右
数据类型
- 数值型
- 整数:byte[1]、short[2]、int[4]、long[8]
- 浮点数(小数):float[4]、double[8]
- 字符型
- char[2]:存放单个字符,如 ‘a’
- 布尔型
- boolean[1]:存放true/false
整型使用细节
java整型常量默认为int类型,声明long型常量须后加 ‘l’ 或 ‘L’
bit:计算机中最小存储单位
- byte:计算机中基本存储单位
- 1 byte = 8 bit
浮点型使用细节
- 默认为double类型,声明float型单精度常量须后加 ‘f’ 或 ‘F’
- 表示形式:
- 十进制
- 科学计数法,如:5.12e10 = 5.12 x 1010
- 通常情况下应该使用double,因为它比float更精确,而float会损失一些小数位
字符型使用细节
- 字符常量用单引号括起单个字符
- 允许使用转义字符
- char的本质是一个整数,所以可以直接给char赋值整数,输出时是对应unicode对应字符
- char类型可以进行运算
基本数据类型的转换
精度小的类型自动转换为精度大的数据类型
char int long float double
byte short int long float double
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的数据类型,再进行计算
精度大的赋值给精度小的数据类型就会报错
(byte, short) 和 char 之间不会相互自动转换
byte, short, char 三者之间可以计算,在计算时首先转换为int类型
boolean不参与类型自动转换
强制转换细节
- 需要数据从大到小时,就需要使用强制转换
字符串转换基本类型
1 | int num1 = Integer.parseInt(s5); |
- 转换错误类型,会抛出异常,程序终止
运算符
% 取余,取模
1 | // % 取模,取余 |
++ 自增 / — 自减
1 | // ++ 自增 |
逻辑运算符
逻辑与 &
对于逻辑与,第一个条件为false,后面条件仍会判断执行
短路与 &&
对于短路与,第一个条件为false,后面条件不再判断执行
逻辑或 |
对于逻辑或,第一个条件为true,后面条件仍会判断执行
逻辑或 ||
对于短路或,第一个条件为true,后面条件不再判断执行
异或操作 ^
a ^ b,如果a与b结果不同,则为true,否则为false
取反操作 ~
对参数二进制格式进行01取反
三元运算符
条件表达式 ? 表达式1 : 表达式2
- 如果条件表达式为true,运算后的结果是表达式1
- 如果条件表达式为false,运算后的结果是表达式2
1 | int a = 10; |
位移运算符
左移运算符 <<
按二进制位数左移指定位数
右移运算符 >>
按二进制位数右移指定位数
右移补零操作符 >>>
按二进制位数右移指定位数,移动得到的的空位以零填充
标识符的命名规则和规范
标识符概念
- Java中对各种变量、方法和类等命名时使用的字符序列称为标识符
- 凡是自己起名字的地方都称为标识符
命名规则
- 由26个英文字母大小写,0-9,或$组成
- 不可以使用数字开头
- 不可以使用关键字和保留字,但可以包含
- 严格区分大小写,长度无限制
- 标识符不能包含空格
包名
多单词组成时所有字母小写
例:com.hahah.cpm
类名 、接口名
多单词组成时,所有单词首字母大写 [大驼峰]
例:TankShotGame
变量名、方法名
多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写 [小驼峰]
例:tankShotGame
常量名
所有字母都大写,多个单词时用下划线连接
例:定义一个所得税税率 TAX_RATE
进制
二进制
0,1
,满2进1,以 0b
或 0B
开头
转八进制
从低位(右)开始,将二进制数没三位一组,转成对应八进制数。
例:0b11010101转为八进制
0b11(3)010(2)101(5) = 0325
95
十进制
0-9
,满10进1
转二进制
将十进制数不断除以2,直到商为0,再将每步得到的余数倒置,就是对应的二进制
例:十进制34转为二进制
0b100010
转八进制
将十进制数不断除以8,直到商为0,再将每步得到的余数倒置,就是对应的八进制
例:十进制131转为八进制
0203
转十六进制
将十进制数不断除以16,直到商为0,再将每步得到的余数倒置,就是对应的十六进制
例:十进制237转为十六进制
0xED
八进制
0-7
,满8进1,以数字0
开头
十六进制
0-9
以及A(10)-F(15)
,
满16进1,以0x
或0X
开头
A-F
不区分大小写
快捷键
- Ctrl + d 复制本行到下一行