数据类型
计算机中的数据存储
存储位数
- 一个字节:
(
00000000
)
2
(0000 0000)_2
(00000000)2? ~
(
11111111
)
2
(1111 1111)_2
(11111111)2?,即0~255
- 定长存储
- 8位(1字节):0~255
- 16位(2字节):0~65535
- 32位(4字节):0~4294967295
- 编写程序时应根据所处理数据可能的取值范围合理地选择存储位数
- 正数和负数
- 将最高位作为符号位:0表示正数,1表示负数
- 有符号格式、无符号格式
- 实数的科学表示法
- 浮点格式:阶码 + 尾码
- 将阶码
(
+
1
)
10
(+1)_{10}
(+1)10?转换成二进制
(
+
1
)
2
(+1)_{2}
(+1)2?
- 将尾码
(
?
0.82625
)
10
(-0.82625)_{10}
(?0.82625)10?转换成二进制
(
?
0.110110011100
)
2
(-0.110 11001 1100)_{2}
(?0.110110011100)2?
- 存储阶码和尾码的二进制编码。
存储格式
- 数据类型
- 计算机存储二进制数据要考虑两个因素,即存储位数和存储格式
- 存储非负整数可以使用无符号格式;如需要存储负阶数则必须使用有符号格式
- 如需要存储实数、则必须使用浮点格式,即“阶码+尾码”的存储格式
- 计算机使用定长存储,如果选择不当,则保存数据时可能会出现溢出或损失精度等问题
- 为了在申请内存时能方便地指定存储位数和存储格式,计算机高级语言引入了数据类型(data type)的概念
- Java语言将预定义的数据类型称为基本数据类型
变量和常量
- 变量:保存程序内的数据包括:原始数据、中间结果、最终结果等。
- 定义变量:为变量申请内存空间
- 访问变量:写入数据或读出数据
- 定义变量
- 变量如何存储
- 变量如何命名
- Java词法元素:关键字、标识符、常量、运算符、分隔符
- 如何编写定义变量语句
- 标识符:定义的程序实体名称
例如变量名
- 标识符命名规则
- 以大写或小写英文字母、下划线“_”、美元符号“$”开头
- 由大写或小写英文字母、下划线“_”、美元符号“$”、0~9组成
- 不能是关键字
定义变量
double x;
double y;
或者
double x,y;
访问变量的内存单元
- 写入数据
- 从键盘输入
Scanner sc = new Scanner( System.in); 创建键盘扫描器x = sc.nextDouble(); 从键盘接收数据并写入x变量内 - 使用赋值运算符“=”(即等于号),对变量进行赋值运算
- 定义时初始化
- 读出数据
x = x * 1.8 + 32; System.out.println(x);
编写Java程序时应遵循“先定义、后访问”原则 不能读取数值为null的变量
- 常量
- 十进制
- 八进制:有前导0
- 十六进制:有前导0x
- 二进制:有前导0b、0B
- 可以添加后缀“L”将其转换为long型
- 实数常量默认为double型
- 可以添加后缀“F”将其转换为float型
- 字符常量
- 可见字符; ‘A’、‘a’…
- 转义字符:‘\uxxx’…
- 预定转义字符:‘\n’、‘\t’…
- 字符串常量
- 布尔常量
- 只读变量(final)
运算符与表达式
- 表达式
- 运算符
- 优先级、结合性
- 双目运算符、单目运算符
- 算数运算、位运算、关系运算、逻辑运算
- 强制类型转换:(数据类型)操作数
- x = (float)x;
- 其他算术运算符
- 取正/负运算符:+、-
- 取余运算符:%
- 自增运算符:++
- 自减运算符:–
- 位运算
- 取反:~
- 与运算:&
- 或运算:|
- 异或运算:^
- 左移运算符:<<
- 右移运算符:>>
- 赋值运算符:=
算法结构与控制语句
- 算法基本结构
- 顺序结构、选择结构、循环结构
- 条件:真(true)、假(false)
- 布尔类型(boolean)
- 关系运算符:大于、小于、等于
- 逻辑运算符:与&&、或||、非!
- 选择语句
- if … else
- switch-case
- if … else if
- 表达式?表达式1:表达式2
- 循环语句:4个要素(循环变量、循环变量的初始值、循环条件、循环体)
- 控制语句
- break语句(停止并跳出循环)
- continue语句(跳过本次操作,进行下一次循环)
|