JAVA数据类型和变量
变量
变量是程序中存储数据的基本单元,在该存储空间中,存储的数据值可以改变。
通过变量名可以简单快速地找到它存储的数据
例如:
房间 | ←→ | 变量 |
---|---|---|
房间名字 | ←→ | 变量名 |
房间类型 | ←→ | 变量类型 |
入住的客人 | ←→ | 变量值 |
变量使用的步骤
第一步:声明变量,即根据数据类型在内存申请空间
变量的命名要遵守标识符的命名规范
数据类型 变量名; int age;
第二步:赋值,即将数据存储至对应的内存空间
变量名=数值; age=18;
第一步和第二步可以合并
数据类型 变量名=数值; int age=18;
第三步:使用变量,即取出数据使用
JAVA中3种类型的变量
1.全局变量:类的属性,也叫成员变量或实例变量
2.局部变量:某个方法或代码块中临时定义的变量
3.静态变量:被static修饰的变量,整个类的成员共享的变量
不同类型的变量的作用域:
8种基本数据类型
整型: byte、short、int、long
浮点型: float、double
字符型: char
布尔型: boolean
数据类型的转换
- 自动类型转换: 把一个表示数据范围小的数值或变量值赋给另一个表示数据范围大的变量。这种转换方式是自动的。例如:double num=10;
- 强制类型转换: 把一个表示数据范围大的数值或变量值赋给另一个表示数据范围小的变量。强制类型转换会造成精度丢失的问题
- 强制类型转化格式: 目标数据类型 变量名=(目标数据类型) 值或变量 例如 int a =(int) 3.14;
整数类型
数据类型 | 所占位数(比特位) | 取值范围 |
---|---|---|
byte | 8(1个字节) | -128~127 |
short | 16(2个字节) | -32768~32767 |
int | 32(4个字节) | -2的31次幂~2的31次幂-1 |
long | 64(8个字节) | -2的63次幂~2的63次幂-1 |
浮点类型
float为单精度浮点数
double为双精度浮点数
浮点数默认为double型,float型的数值后要有一个后缀“F”或"f"
数据类型 | 所占位数(比特位) |
---|---|
float | 32(4个字节 |
double | 64(8个字节) |
布尔类型
boolean类型的数据只有两个值:true和false,用于判定逻辑条件
public class Demo
{
public static void main(String[] args)
{
//布尔数据类型
boolean flag1 = true; //表示条件成立,为真
boolean flag2 = false;//表示条件不成立,为假
if(flag1) //表达式为真,输出下面语句
{
System.out.println("true"+"条件成立!");
}
if(flag2) //表达式为假,不输出下面语句,如果想让表达式的值为真改为(!flag2)
{
System.out.println("flase"+"条件不成立!");
}
}
}
字符类型
char: 存放由单引号括起的单个字符,占2个字节,取值范围[0,65535]。
char类型和int类型可自动转换
public class Demo
{
public static void main(String[] args)
{
char c = "中";
int i = c; //类型的自动转换
System.out.println(c+"在编码表中的序号是:"+i);
//输出结果为:中在编码表中的序号是:20013
char a = 20013; //类型的自动转换
System.out.println("20013对应的char字符为:"+a);
//输出结果为:20013对应的char字符为:中
}
}
编码的概念
-
计算机内部使用二进制数,一个字符在计算机中是以0和1构成的序列形式来存储的。将字符映射到它的二进制形式的过程称为编码(encoding)。字符有多种不同的编码方式,编码表(encoding scheme)定义该如何编码每个字符。
-
大多数计算机采用ASCII码,Uincode码包括ASCII码,Java支持Unicode码。
ASCII码
- ASCII:美国信息交换标准代码
- ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646.
- ASCII码使用指定的7或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用七位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。
Unicode码
- Unicode:统一码,也叫万国码、单一码(Unicode)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
- Unicode是为了解决传统的字符编码方案的局限而产生的,他早期被设计为16位的字符编码,能产生65536个字符。
- Unicode后期被扩展为1112064个字符,称为补充字符,Java支持这些补充字符。
引用数据类型
- 引用类型: 在C和C++里通过指针操作内存中的元素,在Java中是通过"引用"。在Java中一切都被视为对象,但我们操作的标识符实际上是对象的一个引用
- 引用数据类型包括:数组、接口、类