JAVA笔记--编程基础(第一篇)
目录
一、变量与标识符
变数或变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表达,一般用拉丁字母
变量与常数相反。变量的用处在于能一般化描述指令的方式。
1、计算机解释:
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。
变量名代表这块内存中的数据。
2、变量的分类:
按所属数据类型分类划分:
基本数据类型变量-引用数据类型变量
按被声明的位置划分:
局部变量:方法或语句快内部定义的变量
成员变量:方法外部、类内部定义的变量
3、标识符及其,命名规则
标识符:Java对包、类、方法、参数和变量等要素命名时使用的字符序列。
命名规则:由字母是、数字、下划线(_)、和美元符号($)组成。
不能以数字开头。
区分大小写。
长度无限制。
不能是Java中的关键之和保留关键字。
命名习惯:驼峰命名法、见名知意。以单词或单词组合来命名。
示例:userId、userName、$abc_123
二、八种基本数据类型
1、字节(Byte)
计算机文件大小的基本计算单位。
1个字节(Byte)= 8个位(Bit)
Bit意为“位”或“比特”,是计算机运算的基础;二进制中的一位,是二进制最小信息单位,二进位可以用来表示一个简单的正、负的判断,有两种状态的开关(如电灯开关)。
换算:
1 byte = 8 bit
8 byte = 64 bit
1 KB = 1024 byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
在内存计算过程中,字节少的数据运算速度更快;在硬盘存储中,字节少的数据类型也可以存分存入更多的数据
2、数据类型表:
数据类型 | 关键字 | 占用字节 | 取值范围 | 默认值 |
布尔型 | boolean | 不定值 | true、false | false |
字节型 | byte | 1 | -128~127 | 0 |
短整型 | short | 2 | -32768~32767 | 0 |
整形 | int | 4 | -2^31 ~ 2^31-1 | 0 |
长整型 | long | 8 | -2^63 ~ 2^63-1 | 0 |
字符型 | char | 2 | 0~65535 | '\u0000' |
单精度浮点型 | float | 4 | 1.4E-45~3.4028235E38 | 0.0F |
双精度浮点型 | double | 8 | 4.9E-324~2^1024-1 | 0.0D |
三、进制与转换
1、进制
计算机中的数据都以二进制数字保存。
二进制:逢二进一。即只有0和1两个值。十进制的10在计算机中保存为二进制1010;
计算机中信息的存储单位
为(bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。
字节(byte):一个字节由8个位组成,它表示作为一个完整处理单位的8个二进制数码。
八进制:基础为八,Java中八进制数据要以0开头。如0123。八进制转换成二进制只需将每个八进制数值替换为相对应的三个二进制位即可。
二进制 | 八进制 |
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
十六进制:二进制表示法太冗长,所以在程序中一般喜欢用十六进制;基数位16,逢十六进一、它用abcdef表示0-9以上的值。Java中十六进制数据要以0x或0X开头,如:0x23D
二进制 | 十六进制 | 二进制 | 十六进制 |
0000 | 0 | 1001 | 9 |
0001 | 1 | 1010 | A |
0010 | 2 | 1011 | B |
0011 | 3 | 1100 | C |
0100 | 4 | 1101 | D |
0101 | 5 | 1110 | E |
0110 | 6 | 1111 | F |
0111 | 7 | ||
1000 | 8 |
2、补码
事实上,计算机内的二进制数值是以补码形式表示的。
补码:一个正数的补码和其原码的形式是相同的。
负数的补码是:将该数的绝对值的二进制形式,按位取反再加一。
由此可知,二进制补码数值的最高位(最左位)是符号位:该位为0,表示数值为正数;该位为1,表示数值为负数。
十进制 | 二进制 |
10 | 00000000 00000000 00000000 00001010 |
-10 | 11111111 11111111 11111111 11110110 |
主要原因:使用补码,可以将符号位和其他位统一处理;
同时,减法也可以按加法来处理。
另外,两个用补码表示的数相加时,如果最高位有进制位,则进制位被舍弃。
3、转换
二进制数转换成十进制数:
按权相加:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。
例:原码1011.01=1*2^3+0*2^2+1*2^1+1*2^0+0*2^-1+1*2^-2
=8+0+2+1+0+0.25
=11.25
十进制转换成二进制:
整数部分:"除2取余,逆序排列"法
小数部分:"乘2取整,顺序排列"法
例:89.625
89 | 0.625 |
89/2=44...1 | 0.625x2=1.25 1 |
44/2=22...0 | 0.25*2=0.5 0 |
22/2=11...0 | 0.5*2=1.0 1 |
11/2=5...1 | 0.101 |
5/2=2...1 | |
2/2=1...0 | |
1/2=0...1 1011001 |
十六进制转十进制:
2AC=2*16^2+10*16^1+12*16^0
=512+160+12
=682
十进制转十六进制:
684/16=42...12=>C
42/16=2...10=>A
2<16 2
684=>2AC
二进制转十六进制:
101 0110 1110
四个一组,从后往前计算,不够补0:
1110=0*1+1*2+1*2^2+1*2*3=14=>E
0110=0*1+1*2+1*4+0*8=6
0101=5
101 0110 1110=>56E
十六进制转化位二进制:
只需要将每一位的十六进制数据转化为对应的四位 二进制数即可,转化表如上图:
56E= 5 ---> 0101
6 ---> 0110
E ---> 1110
=0101 0110 1110= 101 0110 1110