数据类型
Java数据分成两种:
1.引用数据类型,又称为对象数据类型######
除了基本数据类型,其他所有类型都是引用数据类型,包括类、接口、数组。引用数据类型默认初始值都是null。
2.基本数据类型,又称为原生数据类型######
基本数据类型又分为8类
**1.整数型: byte、short、int 、long
2.浮点数型:float、double
3.字符型: char
4.布尔型: boolean
**
byte、short、int、long类型:
int是4个字节,32位,整型的范围与运行java代码的机器无关
整型常量的四种表示形式:
①二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B110;
②八进制整数:要求以0开头,如int a = 011;
③十进制整数:如:int a = 11;
④十六进制整数:要求0X或0x开头,如int a = 0xac
;
Java语言的整型常量默认是int型,声明long型变量后加上L,例如long a = 6666666666L;
** float、double类型:**
表示小数类型又称为浮点类型,其中float表示单精度类型,double表示双精度类型,精度是float的两倍,但是二者都不能表示精确的小数。因为浮点数值采用二进制系统表示,无法精确表示分数1/10,就想十进制不能精确表示1/3,若要求计算中不能有任何误差,应该使用BigDecimal类
Java的浮点类型常量有两种表现形式:
①十进制形式: 例如:3.14
②科学计数法形式: 例如:3.14e2 = 314
科学计数法表达式返回的结果是double类型
默认情况下,一个浮点类型的字面量默认是double类型.若要声明一个常量为float型,则需在常量后加上 F,double常量后面的D可省略。char类型:表示单个字符,使用Unicode字符集编码,Unicode字符集中也包含一部分的中文
char前256个字符和ASCII码中的字符相同
char常量有3种表示形式:
① 直接使用单个字符来指定字符常量,如char ch = 'A';
注意使用单引号括起来
双引号是表示字符串
② 直接作为十进制整数数值使用,但是数据范围在[0,65535],格式如97,但是打印出来的值依然是ASCII码表对于的符号,如97打印出来是字符a。
③16进制表示法,格式如char ch = '\uX'
,X表示16进制整数;如:97的16进制是61。那么表示为‘\u0061’
打印出来也是a。所以有人说char本质上也是整型
-
boolean类型:通常用于逻辑运算和程序流程控制。
该类型的值只能是true 或 false,表示真或假。
**不可以使用0或非0的整数来代替false和true,区分于C/C++。
if(x = 0) //在java中是不同通过编译的,因为表达式x=0不能转换为布尔类型
**
常量
常量: 程序中固定不变的量
- 字面量常量: 比如:整数常量1,2,3,小数常量3.14
-
利用final关键字指定常量:例如
final PI = 3.14;
关键字final表示这个变量只能被赋值一次,一旦被赋值就不能再改变了.习惯上,常量名使用大写.
变量
变量的定义:表示存储空间,每一个变量属于一种类型,没有固定值,可以重复使用。
变量名的命名字习惯:
- 变量名首字母小写.
- 驼峰表示法:若有多个单词组成,初首字母之外,其他字母的首字母大写
- 变量名应该有意义,使用英文名词
变量的定义:
- 先定义变量,再赋值:
int a; a = 10;
- 或在声明时同时赋值:
int a = 10;
变量的分类:
随着变量定义在类中的位置不同,故把变量分成两大类:
成员变量:直接定义在类里的变量,又称为全局变量或字段。
局部变量:变量除了成员变量之外,其他就是局部变量。根据定义的位置不同有3种表现形式:方法形参,方法内变量,代码块变量。
变量作用域:
指变量的存在范围,只有在这个范围内,程序代码才能访问它,作用域是定义开始到定义所在的花括号结束