一、关键字
1. 关键字指的是Java程序中具有特殊含义的单词,例如package ,class,public等
2. 在Java中,到目前为止,一共有53个关键字,其中有2个关键字没有被使用, 因此这2个关键字也称之为保留字: goto、const
二、标识符
a. 标识符指的是在程序中自定义的名称,例如类名,包名等
b. 命名规则:
i. 可以由字母(不只是英文字母,包括了常见语言的基本字符。例如中文、俄语、韩语、日语等)、数字、_、$组成。 其中需要注意的是,虽然可以使用$命名,但是实际过程中很少使用$
ii. 数字不能开头。例如Demo1、Demo2是可以的,但是1Demo、2Demo这是错误的 iii. 不能使用关键字,例如class public是错误的
iv. 由于Java是一门大小写敏感(Java严格区分大小写)的语言,所以两个标识符只要有一点不一样就认为是两个不同的 标识符。例如demo和Demo是两个不同的标识符
v. 起名的时候尽量做到见名知意。例如Teacher、Cat、Car等,但是不建议使用中文
c. 驼峰命名法:
i. 对于类名、接口名,如果由多个单词组成,那么每一个单词的首字母要大写,其余字母小写。例如HelloWorld, Demo
ii. 对于变量名、方法名,如果由多个单词组成,那么第一个单词的首字母小写,其余单词的首字母大写。例如 playGame, sleep
iii. 对于包名,如果由多个单词组成,那么所有的字母都是小写,每一个单词之间用.隔开。例如: cn.tedu.demo
iv. 对于常量名,如果由多个单词组成,那么所有的字母都是大写,每一个单词之间用_隔开。例如INITIAL_CAPACITY
三、注释
1. 注释指的是在程序中用于进行解释说明的文字
2. 注释格式:
类型 | 格式 | 备注 |
单行注释 | // 注释文字 | |
多行注释 | /* 注释文字 */ | |
文档注释 | /** 注释文字 */ | 不同其他两种注释,可以命令工具将其中的注释文字提取出来形成文档 文档可以理解为这个类的一份说明书 例如:javadoc -d F:\software Demo.java 文档注释一般使用在类、接口或者方法上 |
四、常量
1. 将计算机中的常见数据进行分类,而且这些数据的特点是它本身不可变。称之为是计算机常量
2. 常量分类
分类 | 解释 | 示例 |
整数常量 | 所有的整数 | -3,1,10,200,0 |
小数常量 | 所有的小数 | -5.2,5.5,100.08,6.0 ,0.0 |
字符常量 | 将一个字母、数字或者符号用单引号标识起来 | 'a' ,'5' ,' +' ,' ' |
字符串常量 | 将一个或者多个字符用双引号标识起来 | "ab" , "123" , "2e" , "f5" , " +" , " " , "" |
布尔常量 | 用于表示逻辑值,只有两个值 | true,false |
空常量 | 一个特殊的值,只有一个值 | null |
五、进制
1. 进制实际上是生活中的一种计数方式。例如现实生活中习惯上是满十进一,所以常用的是十进制。但是也有其他进制的存 在,例如在时间单位中, 每满60秒钟则变为1分钟,那么秒和分之间就是六十进制
2. 计算机中常用进制
进制 | 基本元素 | 特点 | 运算 | 标记 | 备注 |
二进制 | 0~1 | 满二 进一 | 1+1=10 11+1 = 100 | 从JDK1.7开始,允许在程序中以0b或者0B开头标识一个 二进制数字 所以在程序中二进制数字应写为:0b1001,0B01011等 | 计算机中 最基本的机制 |
八进制 | 0~7 | 满八 进一 | 7+1=10 17+1 =20 77+1= 100 | 在程序中需要以0作为开头标识一个八进制数字 所以八进制数字应该写为:05,017等 | |
十进制 | 0~9 | 满十 进一 | 9+1=10 19+1 =20 99+1= 100 | 无标记 | 程序中的数字 默认为是十 进制 |
十六进 制 | 0~9, A~F/a~f | 满十 六进 一 | 9+1=A A+1=B B+1=C F+1=10 19+1 =1A 2F+1 =30 99+1 =9A 9F+1 =A0 FF+1 =100 | 在程序中需要以0x或者0X开头标识一个十六进制的数字 所以十六进制数字应该写为:0x2,0X3A,0xF5A等 |
进制的转换
a. 十进制转化为二进制:将这个十进制数字不断地除以2,然后取余数将余数倒序排列:
b. 二进制转化为十进制:从这个二进制数字的低位次开始,按位次乘以2的位次次幂,然后将这些幂求和:OB1011=1*29+1*2!+0*22+1*23= 1+2+0+8= 11
c. 二进制转化为八进制:从这个二进制数字的低位次开始,每三位划分为一组,每一组产生一个八进制数字。如果最高位 不足三位,则补0。所以二进制向八进制转化是一个三位变一位的过程:
d. 八进制转化为二进制:每一位八进制数字产生三位二进制数字,如果产生的二进制数字不足三位补0:
e. 二进制转化为十六进制: 二进制数字转化为十六进制的数字的过程和二进制数字转化为八进制数字的过程有些类似,是 从低位次开始,每四位二进制数字产生一位十六进制数字, 同样,最高位不足四位补0:
f. 十六进制转化为二进制: 十六进制数字转化为二进制数字的过程和八进制数字转化为二进制数字的过程有些类似,也是 从低位次开始,每一位十六进制数字产生四位二进制数字, 同样,如果产生的二进制数字不足四位需要补0:
六、原码、反码、补码
1. 在计算机中,数据是以二进制形式来存储的。任意数据在计算机中都存在三种形式:原码、反码、补码
2. 原码是直接就能计算出来的二进制数据,其中该二进制数据的最高位是符号位:如果最高位为0,表示该数字是一个正数;如 果最高位为1,表示该数字是一个负数
3. 原码、反码、补码的计算
a. 对于正数而言,它的原码、补码、反码是一致的。例如: int i = 10;
原码:00000000 00000000 00000000 00001010 反码:00000000 00000000 00000000 00001010 补码:00000000 00000000 00000000 00001010
b. 对于负数而言,直接计算出来的是它的原码;反码是在原码的基础上保持最高位不变,其余位置上的0变1,1变0;补码是在反码的基础上加1。例如: int i = -19;
原码:10000000 00000000 00000000 00010011 反码:11111111 11111111 11111111 11101100 补码:11111111 11111111 11111111 11101101
4. 计算机在存储的时候存储的是数据的补码,对数据计算,算的也是数据的补码
七、内存计量单位
1. 在计算机中,数据是以二进制形式来存储数据,而每一个二进制数字称之为是一个bit(位),简写为b。1bit只能表示2种可能
2. 单位划分:
计量单位(中文) | 计量单位(英文) | 缩写 | 倍率关系 |
位 | bit | b | 0bit或1bit |
字节 | byte | B | 1B = 8b |
千字节 | kilobyte | KB | 1KB = 1024B = 210 B |
兆字节 | Megabyte | MB | 1MB = 1024KB |
吉字节 | Gigabyte | GB | 1GB = 1024MB |
太字节 | Terabyte | TB | 1TB = 1024GB |
拍字节 | Petabyte | PB | 1PB = 1024TB |
艾字节 | Exabyte | EB | 1EB = 1024PB |
泽字节 | Zettabyte | ZB | 1Zb = 1024EB |
尧字节 | Yottabyte | YB | 1YB = 1024ZB |
-- | Brontobyte | BB | 1BB = 1024YB |
-- | NonaByte | NB | 1NB = 1024BB |
-- | DoggaByte | DB | 1DB = 1024B |
八、变量
1. 变量是在程序中用于临时记录或者存储数据的容器。该容器中的值可以改变
2. 变量的三个要素:
3.定义格式
格式 | 示例 | 解释 |
数据类型 变量名 = 数据; | int i = 10; | 表示定义了一个数据类型为int(整型) 变量名为i数据值为10的变量 |
数据类型变量名; 变量名 = 数据值; | intj; j = 7; | 表示定义了一个数据类型为int变量名为j的变量, 然后将变量j的值设置为7 |
数据类型 变量名1 = 数据1, 变量 名2 = 数据2, ...; | int i = 3, j = 5; | 表示定义了一个数据类型为int变量名为i数据值为3的变量, 定义了一个数据 类型为int变量名为j数据值为5的变量 |
4. 注意问题:
a. 变量在哪儿定义在哪儿使用,不能超出所定义的范围使用
b. 变量必须先定义后使用, 否则在代码编译期间会出现找不到符号的问题
c. 变量必须先赋值后使用, 否则会在代码编译期间出现变量尚未初始化的问题(初始化指的是变量第一次赋值)
九、数据类型
1. 数据类型分类
a. 基本数据类型
类型 | 内存(字节) | 范围 | 例子 | 备注 | |||
数值 类 | 整数 型 | 字节 型 | byte | 1个 | -27 ~27 -1 即-128~127 | byte b = 125; | |
短整 型 | short | 2个 | -215 ~215 -1 即-32768~ 32767 | short s = 305; | |||
整型 | int | 4个 | -231 ~231 -1 大概范围是-2.1* 1010 ~2.1*1010 | int i = 52689; | 在Java中,整数如果不指定默认就是 int类型 | ||
长整 型 | long | 8个 | -263 ~263 -1 大概范围是-9.9* 1018 ~9.9*1018 | long l = 25L; | 在Java中,long类型的数据的末尾 需要添加l/L作为标记 | ||
浮点 型 | 单精 度 | float | 4个 | 大概范围是-1038 ~1038 | float f = 2.53F; | 在Java中,float类型的数据的末尾 需要添加f/F作为标记 | |
双精 度 | doubl e | 8个 | 大概范围 是-10308 ~10308 | doubled = 2.58; | 在Java中,小数默认就是double类 型 | ||
字符 型 | char | 2个 | 0~232 -1 即0~65535 | char c = ‘a’; char c2 = '\u458e'; char c3 = '\t'; | char类型默认采用的是UTF-16,所 以一个char类型字符也可以 用'\u0000' | ||
布尔 型 | boole an | 目前,boolean一般 是占用4个字节,但 是要区分JDK和操作 系统 | boolean b = true; boolean b2 = false; |
b. 引用数据类型:数组[],类class, 接口interface int i = 97;
char c = (char)i; // 此时c的值是 ‘a’
十、编码
1. 按照指定规则,将字符映射成数字,这个映射过程就是编码。记录这个映射的表格称之为编码表,简称为码表
2. 在世界上,比较通用的码表:
a. 西欧码表ISO-8859-1,在这个码表中规定一个字符对应一个字节
b. 中国标准码表,简称为国标码gbk(gb2312),在这个码表中规定一个字符对应2个字节。这套码表中收录了常用的简体汉字以及一部分的繁体汉字,这套码表是在中国大陆范围内使用,港澳台使用不是gbk编码
c. Unicode编码体系,包含了很多码表,其中比较通用的是UTF-8和UTF-16码表。UTF-8中,规定一个字符对应3个字节; UTF-16中,规定一个字符对应2个字节
3. 规定其他的所有码表必须兼容西欧码表,即所有码表的前256个字符是一样的
4. 需要记住:A~Z:65~90,a~z:97~122,0~9:48~57
5. 转义字符:
字符 | 含义 |
\t | 制表符 |
\n | 换行 |
\r | 回车 |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |