1.关键字的概述和使用
- 被java语言赋予特定含义的单词
- 组成关键字的字母都是小写
2.标识符概述和组成规则
- 标识符就是给类、方法、接口变量等起名字使用的字符序列
- 组成规则:英文大小写字母、数字字符、$、_
- 注意事项:不能以数字开头,不能是java关键字、区分大小写
3.标识符常见的命名规则
- 见名知意
- 包:全部小写
- 类、接口:每个单词首字母大写
-方法、变量:首字母小写,其他单词大写 - 常量:全部大写,单词之间用下划线隔开
4.注释以及分类
-注释不被JVM调用
-单行注释://
-多行注释:/* /
-文档注释:/* */,被javadoc工具解析,生成一个说明书
5.注释的作用
- 提高程序可读性
- 帮助调试程序:即注释掉部分代码
6.常量的概述和使用
- 程序执行过程中值不变的量
- A:字面值常量:
字符串常量:双引号,“hello”,
整数常量:100,
小数常量:12.2,
字符常量:单引号,‘a’
bool常量:true false
null常量 :null
B:自定义常量
7.二、八、十、十六进制
- 国际化标准组织,用8位bit表示一个数据,即字节byte
- 二进制(以0b开头),从右向左,每3位对应一位8进制,以0开头
-二进制,从右向左,每4位对应一位16进制,0x开头
System.out.pirintln(100);//100
System.out.pirintln(0b100);//4
System.out.pirintln(0100);//64
System.out.pirintln(0x100);//256
- 任意进制到十进制的转换:*k^i
- 十进制转其他进制:除基取余,直到为0,余数反转
-
十进制快速转二进制:8421码,一直减下去直到为08421码.png
8.原码反码补码
有符号的数据表示法
- 计算机中,有符号数由3种表示方法,原码、反码、补码。所有数据运算都是用补码进行的。
- 原码:最高位为符号位,其他正常
- 反码:正数同原码,负数除符号位按位取反
- 补码:正数同原码,负数补码在反码末位加1
9.变量的概述和格式
- 类似数学中的未知数
- 格式:数据类型 变量名 = 初始化值;
- 必须有限定,即数据类型;
运算时使用的是空间中的值,所以为该空间取了名字,即变量名;
必须有初始化值,否则是垃圾空间,无意义。
10.数据类型的概述和分类
不同类型内存空间大小不同
基本数据类型(4类8种):
A:整数
byte 1byte
short 2
int 4(默认)
long 8
B:浮点类型
float 4
double 8(默认)
C:字符
char 2
D:布尔
boolean 1长整型后缀用L或l标记,例:long l = 1000000000;会报错,后缀加L就不会
单精度浮点数用F或f标记,否则可能丢失精度,因为浮点数默认为double类型
注意事项:
A: 作用域:变量定义在哪个打括号内,它就在这个打括号内有效,并在同一个打括号内不能定义同名变量;
B: 初始化值:没有初始化值得变量不能直接使用,使用前需初始化;例:int y;System.out.printlin(y);因未初始化报错
C: 一行建议定义只一个变量
11. 数据类型的转换
默认转换(布尔除外;从小到大):参与运算的几个变量类型不一致时,
A:byte,short,char -int-long-float-double,转换优先级
B:byte,short,char相互间不转换,它们参与运算首先转为int类型
强制类型转换(大转小):
byte c =(byte)( a + b ),可能会造成精度损失;
float f1 = (float) 12.34566;//可能有精度损失
float f2 = 12.34566F;//本身就是float
例:变量运算和常量运算的区别
byte b1 = 3,b2 = 4, b;
b = b1 + b2;//报错,默认转为int后与b数据类型byte不符,可能会精度损失
b = 3 + 4;//常量,先计算结果,运行前就完成了加法(编译时),然后看是否在byte范围,在就不报错
例:强制转换数据溢出
byte b =130;//130超过了127,溢出,报错;可以强制类型转换(byte),但损失了精度变成原码-126
字符参与运算
'a' 97 'A' 65 '0' 48
'a' + 1//先转为int(ASCII码)后相加
字符串参与运算
字符串和其他数据做加法,结果是字符串类型,此时+是字符串连接符
"hello" + 'a' + 1;//从左到右运算,此时+是字符串连接符helloa1
'a' + 1 +"hello" ;//98hello
12 补充
- byte、short定义时候,接受的其实是一个int类型值,自己做数据监测,不在范围内就报错
- byte(-128~127):-128-10000000,此时1既是符号位又是数值位,-0的概念
- 默认转换:
byte,short,char--int--long--float--double
long,float底层存储结构不同、float表示的数据范围比long大
浮点数存储.png
浮点数存储举例.png - char可以存储一个汉字,因为char占用两个字节。Unicode编码