1.常量
常量概述:在程序的执行过程中其值不可以发生改的量
分类: A:字面值常量
B:自定义常量(后面讲)
字面值常量:
A: 字符串常量 用双引号括起来的内容.
举例: ”hello”,”world”,”HelloWorld”
B: 整数常量 所有的整数
举例: 100,200
C: 小数常量 所有的小数
举例: 10.23,110.66
D: 字符常量 用单引号括起来的内容
举例: ‘a’,’A’,’O 错误的: ‘ab’
注意: 只能是单个字符,如果是两个字符的就成了字符串了
E: 布尔常量 较为特殊,只有true和false(即真和假)。
F:空常量 后面讲
举例:null
例(代码段):
class ConstantDemo{
public static void main(String[] args){
//字符串常量的输出
System.out.println(“hello”);
//整数常量的输出
System.out.println(100);
//小数常量的输出
System.out.println(100.10);
//字符常量的输出
System.out.println(‘a’);
System.out.println(‘A’);
System.out.println(‘O’);
//字符常量的错误输出形式
//System.out.println(‘ab’);
//布尔常量的输出
System.out.println(true);
System.out.println(false);
}
}
- 进制
Java 针对整数常量有四种表现形式 : 二进制,八进制,十进制,十六进制
不同进制的数据组成 :
二进制:由0,1组成.以0b开头.
八进制:由0,1,…..7组成。以0开头。
十进制:由0,1,……..9组成。整数默认是十进制的
十六进制:由0,1,…….9,a,b,c,d,e,f(大小写均可以)。以0X开头。
例:
class JinZhiDemo{
public static void main(String[] args){
System.out.println(100);//十进制
System.out.println(0B100);//二进制
System.out.println(0100);//八进制
System.out.println(0X100);//十六进制
}
}
- 进制转换
例:以下是其他进制到十进制的转换
例:以下是十进制到其他进制的转换
练习:52分别得到二进制,十进制,十六进制。
得到二进制:0b110100
52 /2=26 0
26/2=13 0
13/2=6 1
6/2 =3 0
3/2 =1 1
1/2 =0 1
得到八进制:064
52/8 =6 4
6 / 8 =0 6
得到十六进制:0x34
52 / 16=3 4
3 / 16 =0 3
- 8421码
- 原码,补码,反码
原码 : 正数的原码最高位是0 , 负数的原码最高位是1 , 其他是数值位.
例 : 我们用原码,补码,反码分别来表示+7,和-7
原码:正数的原码最高位是0 , 负数的原码最高位是1 , 其他是数值位.
例:我们用原码,补码,反码分别来表示+7,和-7
首先我们得到7的二进制:111
符号位 数值位
+7 0 0000111
-7 1 0000111
反码: 正数的反码与原码相同.负数的反码与原码是符号位不变,数值位取反,就是1变0,0变1.
符号位 数值位
+7 0 0000111
-7 1 1111000。
补码:正数的补码与原码相同。负数的补码是在反码的基础上加1。
符号位 数值位
+7 0 0000111
-7 1 1111001
例题(1):已知某数x的原码为10110100b,试求x的补码和反码。
符号位 数值位
原码: 1 0110100
反码: 1 1001011
补码: 1 1001100
例题(2):已知某数x的补码为11101110不,试求其原码。
符号位 数值位
补码: 1 1101110
反码: 1 1101101
原码: 1 0010010
2. 变量
变量概述:在程序执行的过程中,在某个范围内其值可以发生改变的量。
变量的组成规则:
A:必须对其进行限定(如何限定呢?用数据类型)
B:我们在运算的时候,不可能是拿着这个空间去运算,我们真正运算时使用的是该空间中的值。我们就给该空间起了一个名字。
(变量名)。
C:即使你有数据类型,你有变量名了,但是如果没有值,这个空间是一个垃圾空间,没有任何意义。(初始化值)
变量定义的格式:数据类型变量名 = 初始化值