Java数据类型的划分
数据类型决定了数据的存储方式和运算方式
java中数据类型分为两大类
基本数据类型(primitive types)
数值型{整数型(byte,short,int,long)、浮点型(float,double)}
字符型(char)
布尔型(boolean)
引用类型(reference types)
类(class)
接口(rinterface)
数组
两种类型的差别
基本类型:变量在栈里
引用类型:变量引用到堆里
double d = 3.14;栈里是具体数值
Person p = new Person();栈里是位置
赋值时
double d2=d;复制的是值
Person p2=p2;复制的是引用
java基本数据类型
java中定义了四类/八种基本数据类型
整数型----byte、short、int、long
浮点型----float、double
逻辑性----boolean
字符型----char
逻辑型
boolean类型是用于逻辑运算,一般用于程序流程控制
boolean类型数据只允许读取值true或false
不可以0或者非0的整数替代true和false
if(a=5)在java中是不被允许的
用法举例
boolean b = false;
if(b==true){
//do sommething
}
字符型
char型数据用来表示通常意义上“字符”
字符常量是用单引号包括起来单个字符
char c = ‘a’ ;
java子夫差用Unicode编码,每个字符张两个字节
可用十六进制编码来表示
char c1 =‘\u0061’;
java语言中还允许使用转义字符‘\’辣酱其后字符转变为其他的含义
整数类型
java个整数类型有固定的表数范围和字段长度,而不受具体的操作系统的影响,以保证java程序的可移植性
类型 | 占用存储空间 | 表述范围 |
byte | 1字节 | -128-127 |
short | 2字节 | -2^15-2^15-1 |
int | 4字节 | -2^31-2^31-1 |
long | 8字节 | -2^63-2^63-1 |
java语言整数常量的三种表示形式
十进制整数,如12,-314,0
八进制整数,要求以0开头 ,如012
十六进制数,要求以0x或0X开头,如0x12
二进制数,以0b或0B开头,如0b00000010
java语言的整数常量默认为int型,如
int i = 3;
声明long型常量可以后加l或L,如
long l = 3L;
java中没有"无符号数"
可以用long来处理无符号整数(unit)
浮点型
jav浮点类型有固定的表数范围和字段长度
类型 | 占用存储空间 | 表数范围 |
float | 4字节 | -3.1403E38-3.403E38 |
double | 8字节 | -1.798E308-1.798E308 |
java浮点类型常量有两种表示形式
十进制数形式,必须含有小数点,类如
3.14,314.0,.314
科学计数法形式,类如
3.14e2 3.14E2
java浮点型常量默认为double型
如果要声明一个常量为float型,则需要在数字后面加f或F,如
double d = 3.14;
float f = 3.14f;
变量的声明和赋值
public class Test{
public static viod main{
boolean b = true;
int x,y = 8;
float f =4.5f;
double d = 3.1415;
char c;
c = ‘\u0031';
x=12;
}
}
标识符
名字就是标识符:任何一个个变量、常量、方法、对象和类都需要名字
标识符必须满足如下规定:
(1)标识符可以有字母、数字和下划线(_)、美元符号$组合而成
(2)标识符必须以字母、下划线或者美元符号开头,不能以数字开头
标识符最好与其意义相符合,可以增加程序的可读性
应注意java是大小写敏感的语言
按照java惯例,类名首写字母大写(Pascal) class
其余的(包名、方法名、变量名)手写字母都小写
少用下划线
变量、常量随时用随定义