第三章 变量
变量是程序的基本组成单位
变量有三个基本要素(类型 + 名称 + 值)
概念 :
变量相当于内存中一个数据存储空间的表示
使用步骤:
1) 声明变量 2)赋值 3)使用 System.out.print(a);
class Triangle{
public static void main(String [] args){
int age = 30;
double score = 88.9;
char gender = 'B';
String name = "king";
System.out.println("A man information:");
System.out.println(age);
System.out.println(score);
System.out.println(gender);
System.out.println(name);
}
}
注意事项:
1.变量表示内存中的一个存储区域,不同的变量,类型不同, 占用的空间大小不同
2.该区域有自己的名称 [ 变量名 ] 和类型 [ 数据类型 ]
3. 变量必须先声明, 后使用
4.该区域的数据可以在同一类型范围内不断变化
5. 变量在同一个作用域不能重名
6.变量 = 变量名 + 值 + 数据类型
‘ + ’ 的使用
1. 当左右两边都是数值型时,做加法运算
2. 当左右两边有一方为字符串,则做拼接运算
class sum{
public static void main(String [] args)
{
System.out.println("100" + 98);
System.out.println(100 + 98);
System.out.println(100 + 3 + "hello");
System.out.print("hello" + 3 +100);
}
}
数据类型:基本数据类型 引用数据类型
整数类型 : byte short long int
整型的使用细节
1.Java各整数类型有固定的范围和字段长度, 不受具体操作系统的影响
2.Java的整型常量默认是int型, 声明long型常量须后加‘l’ 或者 ‘L’
3.Java程序中变量长声明为int型, 除非不足以表示大数,才使用long
4.bit:计算机中的最小存储单位 byte:计算机中基本存储单元 1byte = 8 bit
浮点类型:
表示一个小数
float(4字节) double(八字节)
关于浮点数在机器中存放形式 : 浮点数 = 符号位 + 指数位 + 尾数位
尾数部分可能丢失,造成成精度损失
java 默认是double 声明float 须后加 ‘f’ 或 ‘F’
浮点型常量有两种表现形式
十进制表现形式 科学计数法形式
public class FloatDetail{
public static void main(String[] args)
{
//float num1 = 1.1; //error java is double not float
float num2 = 1.1f;
double num3 = 1.1;
double num5 = 0.123;
double num6 = .123;
System.out.print(5.12e2); //512.0
System.out.print(5.12e-2); //0.0512
double num9 = 2.131651561561;
float num10 = 2.131651561561F;
System.out.print(num9);
System.out.print(num10);
}
}
陷阱 : 当我们对运算结果是小数的结果进行运算时要小心
例如:
if (2.7 == (8.1 / 3)) //Java中这两个数字的结果不等
//因为java不知道8.1后面有没有数字 {
System.out.println(" equal ");
}
所以在Java中判断小数是否相等采用绝对值Math.abs()两个数字的差值在一定 范围内就认为是相等的
字符类型(char)
字符类型可以表示单个字符,字符类型是char char是两个字节
字符常量用 ‘ ’括起来的单个字符
java中还允许使用转移字符 ‘ \ ’ 来将其后的字符转变为特殊字符型常量
在java中,char的本质是一个整数,在输出时,是unicode码对应的字符
char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode编码
System.out.print('a' + 10); // 107
字符类型本质
1.字符型 存储到计算机中,需要将字符对应的码值找出来
存储: ‘a’ ==> 码值 97 ==> 二进制(110 0001) ==> 存贮
读取: 二进制(1100001)=> 97 ===> 'a' => 显示
2.字符和码值的对应关系是通过字符编码表决定的
ASCII(可以表示256个字符,但只用了128个)
UNICODE(固定大小的编码,使用两个字节来表示字符,字母和汉字同意都 是占用两个字节)
UTF-8(字母一个字节 汉字三个字节)
GBK(字母一个字节,汉字两个字节)
布尔类型 boolean
布尔类型也叫boolean类型,boolean类型数据只允许取值true和false
boolean类型占1个字节
boolean类型适用于逻辑运算
不可以使用非零来代表True 零代表False
基本数据类型转换
1.有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行计算
2.当我们把精度大的数据类型赋值给精度小的数据类型是,就会报错
3.(byte,short)和char之间不会相互自动转换
4.boolean不参与转换
5.byte short char 他们三者可以计算,在计算时首先转换为int类型
强制类型转换
使用时加上强制转换符()只对最近的操作数有效
1.当进行数据大 ----> 小 需要使用强制类型转换