Java语言基础—基础知识—基本数据类型

2018年3月26日16:28:38
  • Java语言基础—基础知识—基本数据类型已关闭评论
  • 115 views
  • A+
所属分类:java基础
  • 1、java 基本数据类型

Java 数据类型被分为:基本数据类型和引用数据类型。

 

Java中8中基本数据类型:

类型              位长/b    默认值 取值范围

布尔型 (boolean    1       false      true  false

字节型(byte        8        0       -128~127

字符型 (char)        16  ‘\u0000’ ‘\u0000’~’\uffff’即0~65535

短整型(short)        16       0        -32768~32767

整型(int)                32       0        -231~231-1

长整型(long)      64       0        -263~263-1

单精度(float)      32       0.0       +-1.4E-45 或+-3.4028235E+38

双精度(double)    64       0.0       +-4.9E-324 或+-1.797693134862315E+308

 

注:String 类型不是基本数据类型,它被定义为类,属于引用数据类型。

由于字符串是常用的数据类型。Java 提供了对 String 类型特殊操作,直接引用,

例如:String s="hello world";

 

引用类型是一个对象类型的,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。

很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。

接下来看看基本类型和引用类型变量的不同处理吧。

 

基本类型自然是简单,声明时自然系统就给它空间了。例如, int baijq;

baijq=250; //声明变量 baijq 的同时,系统给 baijq 分配了空间。

 

引用类型就不是了,只给变量分配了引用空间,数据空间没分配,因为谁都不知道数据是什么啊,整数,字符?

我们看一个错误的例子:

MyDate today;

today.day = 4; //发生错误,因为 today 对象的数据空间未分配。那我们怎么给它赋值啊?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。

 

举个例子:

MyDate today; //将变量分配一个保存引用的空间

today = new MyDate(; //这句话是 2 步,首先执行 new MyDate(,给 today 变量开辟数据空间,然后再执行赋值操作。

 

 

 

整数类型——byte

使用byte关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。

byte型是整型中所分配的内存空间是最少的,只分配1个字节;

取值范围也是最小的,只在-128和127之间,在使用时一定要注意,以免数据溢出产生错误。

 

整数类型——short

short型即短整型,使用short关键字来定义short型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。

系统给short型分配2个字节的内存,取值范围也比byte型大了很多,在-32768和32767之间,虽然取值范围变大,但是还是要注意数据溢出。

 

整数类型——int

int型即整型,使用int关键字来定义int型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。int型变量取值范围很大,在-2147483648和2147483647之间,足够一般情况下使用,所以是整型变量中应用最广泛的。

 

 

整数类型——long

long型即长整型,使用long关键字来定义long型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。

而在对long型变量赋值时结尾必须加上L或者l,否则将不被认为是long型

当数值过大,超出int型范围的时候就使用long型,系统分配给long型变量8个字节,取值范围则更大,

在-9223372036854775808和9223372036854775807之间。

 

 

public static void integerTest() {

byte mybyte = 124; // 声明byte型变量并赋值

short myshort = 32564; // 声明short型变量并赋值

int myint = 45784612; // 声明int型变量并赋值

long mylong = 46789451; // 声明long型变量并赋值

long result = mybyte + myshort + myint + mylong;// 获得各数相加后的结果

System.out.println("结果为:" + result); // 将以上变量相加的结果输出

}

 

 

浮点类型——float

float型即单精度浮点型,使用float关键字来定义float型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。

在对float型进行赋值的时候在结尾必须添加“F”或者“f”,

如果不加,系统自动将其定义为double型变量。float型变量的取值范围在1.4E-45和3.4028235E-38之间。

 

浮点类型——double

double型即双精度浮点型,使用double关键字来定义double型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。

在给double型赋值时,可以使用后缀“D”或“d”明确表明这是一个double类型数据,但加不加并没硬性规定,可以加也可以不加。

double型变量的取值范围在4.9E-324和1.7976931348623157E-308之间。

 

Java语言基础—基础知识—基本数据类型

 

注意:java中的浮点型是不精确的,如0. 1  != 2.0-1.9

比较浮点数相等时,需要采用Math.round四舍五入 或者Math.abs小于1e-6,比这个数小可以认为是零,即证明两个数相等

 

public static void FloatTest() {

System.out.println(2.0 - 1.9);

System.out.println(4.35 * 100);

System.out.println(Math.abs(0.10-(2.0-1.9))<1e-6);

System.out.println(Math.round(4.35*100));

 

DecimalFormat df = new DecimalFormat( "0.00000 ");

System.out.println(df.format(b));

}

 

字符类型——char

char型既字符类型,使用char关键字进行声明,用于存储单个字符,系统分配两个字节的内存空间。在定义字符型变量时,要用单引号括起来,例如‘s’表示一个字符,且单引号中只能有一个字符,多了就不是字符类型了,而是字符串类型,需要用双引号进行声明。

 

public static void charTest() {

char word = 'd', word2 = '@'; // 定义char型变量

int p = 23045, p2 = 45213; // 定义int型变量

System.out.println("d在unicode表中的顺序位置是:" + (int) word);

System.out.println("@在unicode表中的顺序位置是:" + (int) word2);

System.out.println("unicode表中的第23045位是:" + (char) p);

System.out.println("unicode表中的第45213位是:" + (char) p2);

}

 

布尔类型——boolean

布尔类型又称逻辑类型,只两个值“true”和“false”,分别代表布尔逻辑中的“真”和“假”。使用boolean关键字声明布尔类型变量,通常被用在流程控制中作为判断条件。

 

 

 

 

avatar