欢迎您来到尚观教育——13年运营 精准教学 口碑见证 全国咨询热线:400-700-0056

当前位置

Java的基础数据类型
Java的基础数据类型
时间:2018-03-05    来源:尚观

在上一篇文章中,你们有没有感觉到Java其实很简单呢?简简单单的几行代码就可以把一个Java小程序搞定呢?那接下来的学习中你会发现更有意思的哦。

一、变量

前面我们已经学习了常量,接下来我们要学习变量。在Java中变量的应用比常量的应用要多很多。所以变量也是尤为重要的知识点!

什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。那么变量是装载什么的呢?答案是数据!结论:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

1.png

二、基本数据类型

大衣柜不能用来装载水,水杯也不能用来装载衣裤。这说明不同的容器装载不同的物品。变量也是如此,在创建变量时需要指定变量的数据类型,例如整型变量、浮点型变量等等。结论:变量必须要有明确的类型,什么类型的变量装载什么类型的数据。

水杯是用来装水的,那么水杯能装多少水呢?一吨?我们知道水杯在创建时不只确定了要装载的是水(数据类型),而且还确定了能装多少水(数据类型的具体种类)。变量也是如此,需要指定变量能装载什么类型的数据,同时也要指定变量能装载多大的数据。

Java中基本类型一共4类,把这4类展开后共8种基本类型。我们今后编写程序时使用的是这8种基本类型而不是4类,这8种基本类型指定了范围。

四类

八种

字节数

数据表示范围

byte

1

-128~127

short

2

-32768~32767

int

4

-2147483648~2147483647

long

8

-263~263-1

浮点型

float

4

-3.403E38~3.403E38

double

8

-1.798E308~1.798E308

字符型

char

2

表示一个字符,如('a''A''0''')

布尔型

boolean

1

只有两个值true与false

以下是对数据类型的4类八种做详细的介绍:

byte:

· ●byte 数据类型是8位、有符号的,以二进制补码表示的整数;

· ●最小值是 -128(-2^7)

· ●最大值是 127(2^7-1)

· ●默认值是 0

· ●byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;

· 例子:byte a = 100,byte b = -50。

short:

· short 数据类型是 16 位、有符号的以二进制补码表示的整数

· 最小值是 -32768(-2^15)

· 最大值是 32767(2^15 - 1)

· Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;

· 默认值是 0

· 例子:short s = 1000,short r = -20000。

int:

· int 数据类型是32位、有符号的以二进制补码表示的整数;

· 最小值是 -2,147,483,648(-2^31)

· 最大值是 2,147,483,647(2^31 - 1)

· 一般地整型变量默认为 int 类型;

· 默认值是 0 ;

· 例子:int a = 100000, int b = -200000。

long:

· long 数据类型是 64 位、有符号的以二进制补码表示的整数;

· 最小值是 -9,223,372,036,854,775,808(-2^63)

· 最大值是 9,223,372,036,854,775,807(2^63 -1)

· 这种类型主要使用在需要比较大整数的系统上;

· 默认值是 0L

· 例子: long a = 100000L,Long b = -200000L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float:

· float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;

· float 在储存大型浮点数组的时候可节省内存空间;

· 默认值是 0.0f

· 浮点数不能用来表示精确的值,如货币;

· 例子:float f1 = 234.5f。

double:

· double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;

· 浮点数的默认类型为double类型;

· double类型同样不能表示精确的值,如货币;

· 默认值是 0.0d

· 例子:double d1 = 123.4。

boolean:

· boolean数据类型表示一位的信息;

· 只有两个取值:true 和 false;

· 这种类型只作为一种标志来记录 true/false 情况;

· 默认值是 false

· 例子:boolean one = true。

char:

· char类型是一个单一的 16 位 Unicode 字符;

· 最小值是 \u0000(即为0);

· 最大值是 \uffff(即为65,535);

· char 数据类型可以储存任何字符;

· 例子:char letter = 'A';。

三、定义变量(创建变量)

定义变量的语法格式:

数据类型  变量名  =  数据值;

int         a    =  100;

 

其中int是数据类型,指定了变量只能存储整数,而且指定了存储范围为-2147483648~2147483647

其中a表示变量名,变量名是标识符,这说明只要是合法的标识符都可以用来做变量名。在程序中可以通过变量名来操作变量(内存中的小盒子)。

其中“=100”是给变量赋值,即向a变量中写入100(变量是个小盒子,现在小盒子中保存的是100)。注意,给变量赋的值一定要与类型符合,也就是说int类型只能存储整数,而且必须是在-2147483648~2147483648范围内的整数。100满足了这两个条件,所以是正确的。

、注意事项

我们使用变量的时候需要注意,要满足变量的使用规则才可以使用的,我们来看看都有哪些注意事项。

变量使用的注意事项

变量定义后可以不赋值,使用时再赋值。不赋值不能使用。

public static void main(String[] args) {

int x;

x = 20; //为x赋值20

System.out.println(x);//读取x变量中的值,再打印

}

变量使用时有作用域的限制。

public static void main(String[] args) {

int x = 20;

{

    int y = 20;

}

System.out.println(x);//读取x变量中的值,再打印

System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量

}

变量不可以重复定义。

public static void main(String[] args){

      int x = 10;

      double x = 5.5;//编译失败,变量重复定义

    }

 变量必须先定义后使用

 

五、数据类型转换

  不同类型的变量是否可以在一起运算呢?答案是可以的,但要先进行类型转换再运算。下面我们来学习一下类型转换。

其实,我们所学习的数据,它的表示方式是可以灵活多变的,比如把小数转换成整数的操作

转换的过程中,数据遵循一个原则:

范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);

范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)

 

那么,大家还记得每种类型表示数据的范围吗?忘记了不要紧,我来告诉大家,将各种数据类型按照数据范围从小到大依次列出:

byte -> short -> int -> long -> float -> double

 

关于数据类型转换有两种方式,我们来学习一下:

自动类型转换

表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换

自动类型转换格式:

范围大的数据类型 变量 = 范围小的数据类型值;

如:

    double d = 1000;

    int i = 100;

    double d2 = i;

 

强制类型转换

表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换

强制类型转换格式:

范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

如:

int  i = (int)6.718;   //i的值为6

double  d = 3.14;

int  i2 = (int)d;     //i2的值为3

在最后总结一下吧,变量就是把生活的事物归类是一样的,不要把它想的太复杂,整数一般使用int类型,小数就使用double类型的。其余的变量可根据实际开发情况需要来自行使用。


方向: 
分享至: