基本数据类型
数据类型 大小 范围 默认值
byte(字节) 8 -27 ~ 27-1 0
shot(短整型) 16 -215 ~ 215-1 0
int(整型) 32 -231 ~ 231-1 0
long(长整型) 64 -263 ~ 263-1 0
注:定义时要在后面加L
float(单精度浮点型) 32 -3.40292347E+38~3.40292347E+38 0.0f
注:JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明;
double(双精度) 64 -1.79769313486231570E+308~1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000~u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
类类型:Integer、Float、Boolean、Character、Double、 Short、Byte、Long基本的数据类型由低级到高级分别 为:(byte,short,char)-int-long-float-double (此处的“级 别”是指表示值的范围的大小。)
引用数据类型
1.类 2.接口 3.数组 4.String (特殊的引用类型)
数据类型之间的转换
分为以下几种情况:
1.低级到高级的自动类型转换;
例如:short a=10;
int b=20;
System.out.print(a+b);输出结果会是 int类型的。
2.高级到低级强制类型转换(会导致溢出或丢失精度);
例如: long a=10;
int b=(int)a;
System.out.print(b);
注:
- 对于byte,short,char,这三种类型而言,他们是平级的,不能相互自动转换可以使用上面的强制类型转换。
- 不能在布尔值和任何数字类型间强制类型转换。
- 不同级别数据类型间的强制转换,可能会导致溢出或丢失精度
- 当字节类型变量参与运算,java作自动数据运算类型的提升,将其转换为int类型。
例如:byte b=3;
b=(byte)(b*3);//必须声明byte
- 基本类型向类类型转换;
1)正向转换:通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
- 反向转换:通过类包装器来转换
int b=a.intValue();
通过类包装器——>基本数据类型
eg1:int i=Integer.parseInt(“123”)
说明:此方法只能适用于字符串转化成整型变量
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Bolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数
- 基本类型向字符串的转换;
正向转换如下:
System.out.print(""+2+3);// “""”把2转成字符串操作;
System.out.print(2+3); //不存在转换。
System.out.println(2+3+"");//前两个数值相加后,被“""”转成字符串。
System.out.println(2+""+3);//同第一个。
输出显示为:(String)23,(int)5,(String)5,(String)23
5.类类型向字符串转换;
正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()来转换。
反向转换:通过类包装器new出一个新的类类型的变量
变量
1.定义:变量是Java 程序的一个基本存储单元。变量由一个标 识符,类型及一个可选初始值的组合定义。
语法:数据类型+变量名=初始化值;例如:int number=1;
2.变量的命名规则:
1). 变量名是以一系列字母、数字、下划线_ 、美元符$ 组合而成。
2). 变量不能以数字开头。
3).变量名严格区分大小写。
4).变量名的长度基本没有限制,但遵守见名知其意原则。
5).变量名中不能使用java的保留字。
6).除了类名首字母大写外,其余标识符命名时遵守驼峰标示法,即组合中的第一个单词首字母小写,之后的单词首字母大写。
3.变量的赋值和初始化
变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。
例如:int a =10; 这就是一个变量初始化的过程
下面两条语句的功能和上面一条的功能相同,只是这里将变量的声明和赋值分开来进行的。
int a; a =10; //在赋值语句的结尾应该是用分号来结束。
说明:
- 在Java中绝对不能出现未初始化的变量,在使用一个变量前必须给变量赋值。
- 声明可以在代码内的任何一个位置出现,但在方法的任何代码块内只可对一个变量声明一次。
- 变量的类型
- 成员变量:类里面方法和作用域外面定义的变量叫成员变量。
例如:public class VariableType {
int number=0;//这里就是成员变量
static int numb;//成员变量可以不赋值,在执行的时 候系统会给个默认值。
public static void main(String[] args){
System.out.println(number); //执行这里时会报错,因为main方法有static,会报无法从静态上下文获取非静态变量number。
System.out.println(numb);
}
}
- 局部变量:在方法或者作用域里面定义的变量叫局部变量。
例如:public class VariableType{
int number=0;//这里就是成员变量
public static void main(String[] args){
int numberTow=0;//这里就是局部变量
For(int i=0;i<numberTow;i++){
}//里面的i也是局部变量
}
}
注意:成员变量在类里面的各个方法或者作用域都可以 用,而局部变量只能在定义的方法里或者作用域里 面使用。
常量
定义:值不变的量称为常量。
语法:数据类型+final+常量名=常量值;
例如:final int NUMB=10;
- 在Java中使用final关键字来定义一个常数。
- 习惯上将常量的名字统统大写。
- 常量的值一旦确定就不能再做更改。
补充
static:静态的
public class AddContent{
public static void main(String[] args)
{
//代码块
{
int numb=10;
System.out.println(numb);
}
// 循环变量; 循环条件; 循环增量
for(int i = 0; i < 10; i ++)
{
//局部变量 i
System.out.println(i);
}
}
// 静态块 整个类执行的时候第一个被执行并且只执行一次
static {
System.out.println(“fist!”);
}
}