目录
变量基础
- 变量相当于内存中一个数据存储空间
- 变量三要素:类型、名称、值
- 变量必须先声明后使用
- 变量在同一个作用域内不能重名
程序中+号的使用
1.当左右两边都是数值型时,则做加法运算
System.out.println(100 + 98); //198
2.但左右两边有一个为字符串时,则做拼接运算
System.out.println("100" + 98); // 10098
3.运算顺序,从左到右
System.out.println(100 + 2 + "hello"); //先算100+2再拼接得到 102hello
System.out.println("hello" + 100 + 2); // hello1002
数据类型
1.基本数据类型
(1)数值型
- 整数类型,byte[1], short[2], int[4], long[8]
- 浮点型,float[4], double[8]
(2)字符型
- char[2], 存放单个字符
(3)布尔型
- boolean[1], 存放true, false
2.引用数据类型
(1)类(class)
(2)接口(interface)
(3)数组([])
字符编码表
- ASCII码:一个规定了128个字符的编码,只占用一个字节的后7位,一个字节实际可以表示2^8 = 256个字符,缺点:不能表示所有字符
- Unicode:将世界上所有字符都纳入其中,每个字符占用2个字节,能编码2^16 = 65536个字符,缺点:浪费存储空间(注意:编码0-127的字符与ASCII码一样,因此Unicode兼容ASCII)
- UTF-8:变长编码方式,使用1-6个字节表示一个字符,字母占1个字节,汉字占3个字节
基本数据类型转换
1.自动类型转换(精度小-->精度大)
注意:
- 当有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度最大的数据类型
- byte,short与char不能自动转换
- byte,short,char三者可以计算,在计算时都先转为int
- boolean不参与转换(与c语言可以转换为1或0不同)
到检验知识的时候了,来练练手吧,兄台!
(1)看看下面编译是否会出错
会出错吗?编译看看吧 ~
做对了否?
1.1是double, int + double 会得到double,不能赋值给float
(2)再接再厉,来看看下面这个
有编译问题吗?
变量赋值的话只能是byte型的,赋某一数值在其范围内就可以
(3)下面这个也是易错点
2.强制类型转换
大容量类型到小容量类型的转换,可能会降低精度或溢出