Java基础语法学习感悟(1)
进制
进制分类
- 二进制:用0和1表示,用0b开头;
- 八进制:用0~7表示,用0开头;
- 十六进制:用0~9、字母a~f表示,用0x开头;
- 十进制:用0~9表示,未用以上三者开头,默认十进制;
进制转换
-
十进制转其他进制----辗转相除法
辗转相除法:⽤这个数字除进制,再⽤商除进制,⼀直到商为0结束。将每⼀步得到的余数倒
着连接起来,最后得到的结果,就是转换成指定进制后的结果。
-
其他进制转十进制
⽤每⼀位的数字,乘进制的位数-1次⽅,最后将每⼀个结果相加,就是转换成的⼗进制的表
示形式。
-
⼆进制、⼋进制、⼗六进制之间的相互转换
- ⼀个⼋进制位可以等价替换成三个⼆进制位
- ⼀个⼗六进制位可以等价替换成四个⼆进制位
数据单位转换
每⼀个⼆进制位,称为⼀个⽐特位:1bit
每8个⽐特位,称为⼀个字节:1byte
1024byte => 1kb => 1024kb => 1mb => 1024mb => 1Gb => 1024Gb => 1Tb => 1024Tb => 1Pb => 1024Pb => 1Eb => 1024Eb => 1Zb
原码、反码、补码
复数的表示
在⼀个⼆进制的数字中,最⾼位(最左侧的⼀位)不是⽤来表示⼀个数字的⼤⼩的,⽽是⽤来表示⼀个
数字的符号的。如果0,代表是正数;如果是1代表是负数。这⼀位也被称为符号位。
关于补码
由于⼀个数字具有正负性,因此,在进⾏数据的计算的时候,需要考虑到数字的符号。因此,在计算机
中所有的数字存储和运算都是以补码的形式进⾏的。补码的存在,就是为了解决正负数字在进⾏存储和
运算时候会出现的符号问题。
如何计算补码
原码:就是⼀个数字直接计算得到的⼆进制本身。
反码:正数的反码与原码相同;负数的反码是符号位不变,其他位按位取反。
补码:正数的补码与原码相同;负数的补码是反码+1;
关于补码的计算
数字的存储和计算都是以补码的形式进⾏的。如果计算结果超出⼀位,那么这种情况称为是“溢出”。如
果出现了溢出的情况,则溢出的那⼀位舍去不要。
需要注意的是:两个数字通过补码进⾏运算,⽽运算结果也是⼀个补码。如果需要得到原码,则将这个
数字再求⼀次补码即可。对补码再求补码,得到原码。
数据类型
其实编程,就是操作若⼲数据进⾏各种计算。每个数据都有⾃⼰的类型。
在Java中,数据类型分为两种: 基本数据类型 和 引⽤数据类型 。
-
整型:就是整数类型
- 字节型:byte,占1个字节
- 短整型:short,占2个字节
- 整型:int,占4个字节
- ⻓整型:long,占8个字节
long类型后面要跟上L或l
byte a = 10;//定义byte类型 short b = 10;//定义short类型 int c = 10;//定义int类型 long d = 10L;//定义long类型 -
浮点型:就是⼩数类型
- 单精度浮点型:float,占4个字节
- 双精度浮点型:double,占8个字节
浮点型默认是double类型,定义float类型后面要跟上f或F;
double d=3.14;//定义double类型变量 float f =3.14F;//定义float类型变量 -
字符型:⽤来描述⼀个字符(字⺟、数字、符号、汉字...)
char,占2个字节
char类型要用单引号括起来,里面有且只有一个字符
char c = 'A'; -
布尔型:⽤来描述⾮真即假,⾮假即真的数据
boolean,占1个字节;true/false
标识符
编程其实就是操作很多的数据进⾏各种计算。但是这些数据⼀定要有⼀个标志来区分它们。标识符,是
⼀个有序的字符序列,⽤来表示内存中的数据。(就是取的啥名)
标识符命名规则
- 由字⺟、数字、下划线和$符号组成
- 不能以数字开头
- 不能与系统关键字、保留字重复。
关键字:其实也是⼀个满⾜以上两点要求的字符序列,只不过这个字符序列被系统占⽤了,已经被赋予了特
殊的含义。
保留字:也是满⾜以上两点要求的字符序列,同样被系统占⽤了,但是⽬前暂未赋予特殊的含义,可能会在
后续的版本更新中使⽤。
标识符的命名规范
-
望文知义:每⼀个标识符的命名需要有⼀定的含义,让⼈⼀眼看上去就知道想表示的数据是什么
-
遵循驼峰命名法:
- 在遵循望⽂知义的情况下,有些时候⼀个标识符的命名可能⽐较⻓,由多个单词组成
- ⼤驼峰:组成⼀个标识符的每⼀个单词的⾸字⺟都是⼤写的
- ⼩驼峰:⾸单词除外,从第⼆个单词开始,每⼀个单词的⾸字⺟都是⼤写的
类名遵循大驼峰,变量名遵循小驼峰