1. 数据存储单元
计算机中最小的存储单元为bit(位)
计算机中基本的存储单元为byte/Byte/B(字节)
数据单位转换:
-
8bit = 1Byte
-
-
1024KB = 1MB
-
1024MB = 1GB
-
1024GB = 1TB
-
1024TB = 1PB
-
1024PB = 1EB
红楼梦 10w字 1.44MB
1PB = 745654044.4444444 本 红楼梦
2.常见进制
二进制 0b
八进制 0
十进制
十六进制 0x
3.原码、补码和反码
为了降低计算机的运行逻辑复杂度
-
正整数
原码、反码和补码都是对应的正整数二进制,三码合一;
最高位(符号位)为0。
符号位 数值位
原码 +7 0 0000111
反码 +7 0 0000111
补码 +7 0 0000111
-
负整数
原码数值位对应正整数的二进制位,最高位(符号位)为1;
反码的数值位与原码相同,符号位与原码相反;
补码的数值位在反码基础上加1,符号位与原码相反。
符号位 数值位
原码 -7 1 0000111
反码 -7 1 1111000
补码 -7 1 1111001
4.字符集
文字对于电脑来说,都是图片,字符集就是当前电脑识别文件的方式,和对应的处理方式。
-
GBK:新国标,包含了简体中文所有的文字,以及少数民族文字。
-
GB2312:老国标,包含了简体中文所有的文字,以及部分少数民族文字。
-
BIG5:中文繁体字编码集。
-
UTF-8:万国码,包含了所有国家的文字,开发中使用最多的编码。
-
ASCII:美国信息交换标准代码。
5.转义字符
把一个无意义的字符转化成一个带有特殊含义的字符,或者把本身带有特殊含义的字符转换成无意义的字符。
\ ' \ "
\n 换行
\t tab键
\之后的数字是八进制,默认可以省略0
\40是对应ASCII码的八进制展示方式,对应的字符是SP 空格
6.命名规范,标识符命名规则,AJCG
【标识符】
代码中使用的一些名字,变量名、方法名、接口名、类名、抽象类名
命名规范:
-
标识符可以使用的字符范围:
英文字母(a~z A~Z),数字(0~9),唯一可以使用的标点符号_
2. 标识符要求必须使用英文字母开头
3. 标识符严格区分大小写
4. 标识符没有严格的长度限制,但会考虑业务逻辑约束表示的长度
5. 标识符必须做到【见名知意,动宾结构】
6. 标识符要求使用驼峰命名法a)小驼峰
iPhone iPad Imac iPod
要求首字母小写,滞后的每一个单词首字母大写
studentName workName
适用于:方法名、变量名
b)大驼峰
要求所有单词的首字母大写
HelloWorld
适用于:class滞后的名字,或者XXXXXXXXX
7. 已经被Java或者系统占用的标识符不能用,关键字和保留字符不能使用
变颜色的都不能用!!!
public static void
7.代码中的变量
格式:
数据类型 变量名 = 初始化数据;
= :赋值号,把右边的数据赋值给左边的变量
数据类型:约束当前变量是什么类型
8.八大基本数据类型
整型 | 占用内存空间大小 | 数据范围 |
---|---|---|
byte | 1字节(8bit) | -128~127 |
short | 2字节(16bit) | -2^7~2^7-1 |
int | 4字节(32bit) | -2^31~2^31-1 |
long | 8字节(64bit) | -2^63~2^63-1 |
浮点型 | 占用内存空间大小 | 数据范围 |
---|---|---|
float | 4字节(32bit) | ±3.4*10^38 |
double | 8字节(64bit) | 10^308 |
字符型 | 占用内存空间大小 | 数据范围 |
---|---|---|
char | 2字节(16bit) | 可以保存中文 |
布尔类型 | 占用内存空间大小 | 数据范围 |
---|---|---|
boolean | 视情况而定 | true false |
9.自增自减运算符
自增自减运算符只能操作变量!!!!!
-
++
在变量之后,先执行当前语句,再执行自增操作;
在变量之前,先执行自增操作,再执行当前语句。
-
--
在变量之后,先执行当前语句,再执行自减操作;
在变量之前,先执行自减操作,再执行当前语句。
从开发者的阅读角度
1. 如果使用自增自减运算符,请单独成行!
-
能够使用 += 1 或者 -= 1 替代,就不要使用自增自减。
【面试题】
-
int num = 5;
ref = num++ * num;
ref = ? 30
num = ? 6
-
int num = 5;
ref = num * num++;
ref = ? 25
num = ? 6
-
num = 5;
++(num++);
num = ? 语法错误
10.关系运算符
开发中:> < >= <= != ==
结果为 true 或者 false
11.逻辑运算符
逻辑与(&),短路与(&&):
同真为真,有假即假
逻辑或(|),短路或(||):
有真即真,同假为假
逻辑非:!
取反
&与&&的区别:
&从左到右依此判断,直到结尾;
&&具有【短路效果】,遇到false将不再判断,最终结果为false.