一、修饰符public
Java语言语法(硬性规定):在Java语言中,一个Java文件中只能定义一个被public修饰的类且被public修饰的类的类名必须和Java文件的文件名相同。
二、关键字
1.定义:被Java语言赋予特殊含义的单词。
2.特点:组成关键字的字母全部小写。
注意事项:高级的编辑器或者专门的开发工具中,关键字会有高亮效果
goto和const作为保留字存在,目前并不使用
三、标识符
1.定义:标识符(我们自己起的一个名字)就是给类,接口,方法,变量等起名字时使用的字符序列。
2.组成规则:可以包含英文大小写字母、数字字符、$和_
3.注意事项
不能以数字开头
不能是Java中的关键字(保留字)
区分大小写
4.常见命名规则:驼峰命名
(1)包命名
包:就类似于在操作系统中,以文件夹的形式组织文件,在java语言中, 以包来组织java中的类。
关于包来说,为了防止类的命名冲突,一个包下不可以定义同名的类,但是不同包可以定义同名的类。
为了保证包名的唯一,以域名(唯一的)反转的形式来命名包。
baidu.com
com.cs.name
单级包: test 一个全部小写的单词。
多级包: 如 com.cs.name,以域名反转的方式来命名,单词全部小写,单词之间以.分隔。
(2)类和接口命名
单个: 首字母大写,其余字母全部小写 Student
多个单词: 每个单词首字母大写,其余字母全部小写 JavaBasic MaxAge
(3)变量和方法的命名:
单个: 所有字母小写 value
多个单词:第一个单词首字母小写,从第二个单词开始,每个单词首字母大写 intValue
(4)常量的命名:所有字母全部大写
单个: 单词的所有字母全部大写即可 MAX IP NONE
多个单词: 每个单词全部大写,单词之间以_来分隔: MAX_AGE MAX_VALUE IP_ADDRESS
在实际开发当中,命名要遵循的一个核心原则:见名知意
四、注释
1.注释:用于解释说明的文字
2.java注释的分类:
单行注释 格式 //
多行注释 格式 / * 注释内容 * / (不能嵌套使用)
文档注释 格式 /** 文档注释内容 */ (文档注释有一个特殊的效果,就是可以将文档注释中的内容生成文档)
3.重视注释的作用
写代码:写代码的过程中先写注释再写代码,方便理清思路
项目维护,阅读代码:方便其他人阅读你所写的代码,帮助理解
千万不要忽视注释的作用,尤其是对于初学者,最好先写注释,在写代码
五、常量
常量:在运行过程中,其值不会发生改变的量。
常量的分类:字面值常量、自定义常量
字面值常量:
1.字符串常量 :双引号引起来的内容 “csdn” 代表固定的字符序列csdn
2.整形常量:所有整数 1 ,2
3.小数常量:所有小数 0.1 ,3.2
4.字符常量:用单引号引起来的内容 ‘a’, ‘我’
5.布尔常量: 只有 true 和 false
6.空常量: null
六、进制转换
1.JAVA中的整数型常量的表现形式:
二进制
八进制
十进制
十六进制
2.进制:就是进位计数制。是人为定义的带进位的计数方法。(也有不带进位的计数方法,比如“正字计数法”)就表示每一位置上的数运算时都是逢X进一。
3.Java语言中表示不同进制的语法
二进制:由0,1组成,以0b开头,比如0b1100
八进制:由0~7组成,以0开头, 比如014
十进制:由0~9组成,默认10进制,比如12
十六进制:由0 ~ 9,A ~ F(或a ~ f)表示0~15,以0x开头
4.进制转换
进制:进位计数制,逢X进1
- X进制转十进制
X进制每一位的数字的取值固定0 ~ X-1,每一位都有固定的权重。
权重计算:x ^ m
其中x取值X进制的X,m是数字所处位置的编号,编号自X进制数的右边最低位从0开始编号依次为0,1, 2……
如二进制的1101转换为十进制的13
1101 = 1 * (2^3) +1 * (2^2) + 0 * (2^1 )+ 1 * (2^0)=8+4+0+1=13
如八进制的14转换为十进制的12
14 = 1 * (8^1) +4 * (8^0) =8+4=12
- 十进制转X进制
用十进制的数不断除以X,直到商是0为止,第一次除法得到的余数是X进制数的最低位(最右边的数字),依次如此,直到商为0。
如十进制的12转换为二进制的1100。
- 二进制转八进制、十六进制
每三位二进制数字转换为八进制的一位,每四位二进制数字转换为十六进制的一位。
如二进制的101001转换为八进制的51
101 -> 5 , 001 -> 1
- 八进制、十六进制转二进制
每一位八进制数字转换为二进制的三位,每一位十六进制的数字转换为二进制的四位。
如十六进制的63转换为二进制的01100011
0110 -> 6 , 0011 -> 3
七、原码和补码
之前我们讨论了Java语言中不同进制的表示方法,其实,计算机中的数据也是这样来表示的。那么,随之而来有一个问题,上面的进制表示,好像默认表示的是正整数,那负数在计算机中如何表示呢?
原码:在进制表示法的基础上,在最高位增加一 位,表示正负。
补码:所有整数在计算机中其实都是以补码形式存在。
二进制的原码表示和补码表示的关系:
1.对于一个正数,它的补码表示就是它的原码表示;
原码:00110110 -> 补码:00110110
2.对于一个负数,原码向补码转换的转换规则:
a.原码的符号位不变,其余各位按位取反(0变1,1变0)
b.末尾+1
原码:10110110 -> 11001001 -> 11001010(补码)
因为原码和补码互为补码,对补码求补,即补码的补码,得到补码对应的原码。
八、数据类型
1.变量
在程序运行期间,其值可以改变的量,在某个范围内可以改变的量,理解(通过名字访问到)变量就是“一片”内存空间。
2.变量定义的格式
数据类型 变量名 = 变量值
3.数据类型:一种数据类型,其实表示的就是一个数据集和基于该数据集的一组合法操作。
4.数据类型的转化(jvm默认类型转化规则):
(1)boolean类型的值不能直接转化为其它数据类型的值
(2)byte,short,char—>int—>long—>float—>double
(3)byte,short,char相互之间不转换,他们参与运算首先转换为int类型
强制转化
目标类型 变量名=(目标类型)(被转换的数据);
5.不同类型变量之间的运算和赋值
对于变量而言编译器,它不可能知道变量当前的值多少,禁止把大类型的值赋值给小类型。
这里有一个问题: 不同类型的变量之间可以做运算。
对于jvm来说,它要求参与运算的数量之间,他们必须是同一种类型。
比如说: int + byte,jvm首先会将byte变量读取出来,变成一个int类型的值,然后是两个int类型的值做运算。
类型之间默认的转化规则 小类型 ->大类型
6.使用变量的注意事项:
作用域:变量有效的时间范围,这个范围通常用{}来界定
初始化值:变量在使用之前,由编译器强制必须赋初值
建议一行定义一个变量,从代码的可读性角度来考虑。
#个人学习记录,如发现有错误之处,欢迎与我交流