一,Java语句块的构成
一个JAVA程序是由一个个语句块构成的
1.语句块
(1)语句块的定义
又称复合语句 , 是用花括号扩起的任意数量的简单Java语句。
(2)语句块的特性
a. 块确定了局部变量的作用域。
b. 块中的程序代码,作为一个整体,是要被一起执行的。
c. 块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。
d. 语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句
块中定义的变量作用域只限于语句块。
(3)语句块的构成
-
变量和常量
-
数据类型 (决定变量或者常量的类型)
-
运算符和表达式
-
语句(分支,循环)
2. 变量和常量
变量: 可以不断变化的量
常量: 值定义后不会改变
变量定义语法:
数据类型 变量名 [= 初始值] ; 数据类型 变量名1 [= 初始值] , 变量名2 [= 初始值] ;
小结:
1.变量名规范:
(1)合法的标识符(字母 、数字 、$ 、 _ 且首字符不能是数字!)
(2)不能是关键字
(3)小写,复合单词驼峰式, xXX
2.= 赋给值 , 右侧的值赋给左侧变量
3.变量的值取最后一次的赋值结果
3. 基本数据类型
分两大类:基本数据类型( 简单数据类型 )和
引用数据类型
计算机内存
计算机内存存储:
二进制(0和1),0或1每个占位称之为一个比特位 bit 每8个比特位bit一组,叫一字节
8 bit = 1字节
符号位 数值位 数值位 数值位 数值位 数值位 数值位 数值位 0 正 1 负 0/1 0/1 0/1 0/1 0/1 0/1 0/1 举例 : 00000000 0 00000001 1
一字节 = 8 bit
1k = 1024字节
1m = 1024k
1g = 1024m
....
十进制: 0-9
八进制: 0-7
十六进制: 0-9 A-F
3.1 基本数据类型(简单数据类型)
3.1.1 整数型
类型 | 含义 | 字节数(位数) | 范围 |
---|---|---|---|
byte | 字节型 | 1字节(8位) | -128 ~ 127 |
short | 短整型 | 2字节(16位) | -32768 ~ 32767 |
int | 整型 | 4字节(32位) | -2^31 ~ -2^31 -1 |
long | 长整型 | 8字节(64位) | -2^63 ~ -2^63 -1 |
3.1.2 浮点型 (小数型)
类型 | 含义 | 字节数(位数) | 范围 |
---|---|---|---|
float | 单精度浮点 | 4字节(32位) | IEEE,大于long型 |
double | 双精度浮点 | 8字节(64位) | IEEE,大于float |
数值型内存有小到大排序: byte < short < int < long < float < double
小结:
-
JAVA默认所有整数均为int
-
JAVA默认所有浮点数值均为double,因此float类型数值后面必须加f或F,以作为标识。
-
double可加可不加d或D。
-
使用变量和数据类型的时候,赋值0开头为八进制。
-
使用变量和数据类型的时候,赋值0x开头为十六进制。
e.g.
int a = 10; //以0开头八进制 a = 071;// 1*1+7*8 = 57 //以0x开头十六进制 a = 0xFF; //15*1+15*16 = 255 System.out.println(a);
3.1.3 数据类型转换(重点)
自动转换: 大类型 = 小类型; double b = a;
强制转换: 小类型 = (小类型)大类型; int a = (int) b;
e.g.
double d = 10.5; //强制转换 int a = (int)d; //自动转换 d = 100;
强制转换原理:
1. 小数转成整数 直接砍掉小数点
2. 整数之间转换: 转化为二进制: short > byte 16位 强行 8位
3.1.4 字符型(char)
char: 使用 “ ” 扩起来的一个字符,无符号的
2字节(16位),范围: (0 ~ 65535)
代表一个字符: 一个字母,一个数字,一个汉字...
JAVA的编码机制:
Unicode: 只是一个符号集,它只规定了符号的二进制代码
没有规定这个二进制代码应该如何存储
UTF-8: Unicode的应用**最广的实现方式之一, 其他冷门的方式还有UTF-16 UTF-32..……
ASCII码: 早期美国一共规定了128个字符的编码
ASCII常用编码:a-z 97 ~ 122
A-Z 65 ~90
0-9 48~57
3.1.5 布尔型 (boolean)
(用于逻辑判断,值只有两个)
boolean: true 真 / false 假
1个bit
默认值 false
注意: 布尔类型唯一一个不能和其他数据类型转换的。
类型 | 含义 | 字节数(位数) | 范围 |
---|---|---|---|
byte | 字节型 | 1字节(8位) | -128 ~ 127 |
short | 短整型 | 2字节(16位) | -32768 ~ 32767 |
int | 整型 | 4字节(32位) | -2^31 ~ -2^31 -1 |
long | 长整型 | 8字节(64位) | -2^63 ~ -2^63 -1 |
float | 单精度浮点 | 4字节(32位) | IEEE,大于long型 |
double | 双精度浮点 | 8字节(64位) | IEEE,大于float |
char | 字符型 | 2字节(16位) | |
boolean | 布尔型 | 1 |
3.2 引用数据类型(复杂数据类型)
数组 类 接口 枚举 注解