笔记
第二章 Java基础语法
2.4 常量
2.4.1 常量
2.4.1.1 概念
在程序执行的过程中,其值不可以发生改变的量
2.4.1.2 Java中的常量分类
A 字面值常量
- 字符串常量
—— 用双引号括起来的内容(“hello”,“HelloWorld”) - 整数常量
——所有整数 - 小数常量
——所有整数 - 字符常量
——用单引号括起来的内容(‘a’,‘A’,‘0’,这里为字符0而不是数值0;'ab’错误,ab是字符串应该用"") - 布尔常量
——较为特殊,只有true和false - 空常量
——数组部分讲解(null)
B 自定义常量(面向对象时再补充)
2.4.2 进制
Java中针对整数常量提供了四种进位方式,分别为二、八、十、十六进制
2.4.2.1 进制的概念
就是进位制,是人们规定的一种进位方法。 对于X进制,就表示某一位置上的数运算时是逢X进一位
2.4.2.2 不同进制的数据表现
- 二进制——由0,1组成。以0b开头
- 八进制——由0,1,…7组成。以0开头
- 十进制——由0,1,…9组成。整数默认是十进制的
- 十六进制——由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
注意:
1.用0、1分别表示电子元件的开、关状态,这是二进制的由来
2.在计算机中任何数据都是以二进制的形式存在的
3.国际标准化组织规定,用8个信号来表示一个数据,这个数据的单位是字节——byte
单位转换:
1byte=8bit
1k=1024byte
1m=1024k
1g=1024m
1t=1024g
2.4.3 进制的转换
2.4.3.1 一般方法
其他进制 → 十进制
位权展开法:
- 系数:每一位上的数值
- 基数:X进制的系数是X
- 权:从右往左依次以0,1,2……编号,这个编号就是该位上数值的权
十进制值 = ∑(每一位上的系数*基数^权)
十进制 → 其他进制
除以基数取余数,除至商为0之后,余数反转
2.4.3.2 快速转换法
二进制和十进制的转换
8421码
8421码是BCD代码中最常用的一种。在这种编码方式中每一位二进制代码的1都代表一个固定数值
-
二进制转十进制:
左补齐8位,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码
-
十进制转二进制:
从左往右将要转换的十进制数与每一位代表的十进制数进行比较,小于则在该位上取0,然后往右与下一位代表的十进制数比较;否则取1,并取差值与下一位比较
二进制和八、十六进制的转换
- 方法1:以十进制为桥梁
- 方法2:拆分法
二进制转八进制:从右往左三位一组合,最后一组不够就左补齐0
二进制转十六进制:从右往左四位一组合,最后一组不够就左补齐0
2.4.4 有符号的数据(正负数)表示法
计算机在操作时都是采用数据对应的二进制的补码来运算的
3种表示法分别为:原码、反码、补码
分为符号位和数值位,最高位为符号位,其余为数值位
- 原码
正数——正数的原码最高位是0
负数——负数的原码最高位是1 - 反码
正数——正数的反码与原码相同
负数——负数的反码符号位与原码相同,数值位取反 - 补码
正数——正数的补码与原码相同
负数——负数的补码是在其反码的末位加1
2.5 变量
2.5.1 概念
在程序执行的过程中,在某个范围内其值可以发生改变的量
2.5.2 组成
1.数据类型
2.变量名(标识符小节命名规则)
3.初始化值
从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用
2.5.3 定义格式
数据类型 变量名 = 初始化值;