java基本数据类型

在Java中有8种基本数据类型来存储数值、字符和布尔值,如图

8种java基本数据类型

整数类型

整数类型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整型数据在Java程序中有3种表示形式,分别为十进制、 八进制和十六进制。

  • 十进制: 十进制的表现形式大家都很熟悉,如120、0、-127。
  • 八进制:如0123 (转换成十进制数为83)、-0123 (转换成十进制数为-83)。
  • 十六进制: 如0x25 (转换成+进制数为37)、0Xb0le (转换成十进制数为45086)。

注意:
十进制数不能以0作为开头(0除外都可以)
八进制必须以0开头
十六进制必须以0X或0x开头

整型数据根据它所占内存大小的不同,可分为byte、short、int、long四种类型。它们具有不同的取值范围,如表所示

数据类型内存空间(8位等于1字节)取值范围
byte8位-128~127
short16位-32768~32767
int32位-2147483648
~2147483647
long64位-9223372036854775808
~922337203685477807

下面以int型变量为例讲解整型变量的定义。

int x;                    //定义 int型变量x
int x,y;                  //定义int型变量x、y
int x = 450,y = -462;     //定义int型变量x、y并赋给初值

在定义以上4种类型变量时,要注意变量的取值范围,超出相应范围就会出错。对于long 型值,若赋给的值大于int型的最大值或小于int型的最小值,则需要在数字后加L或l,表示该数值为长整数,如long num = 2147483650L。

在项目中创建类Number,在主方法中创建不同数值型变量,并将这些变量相加,输出。

public class Number {                                    //创建类
      public static void main(String[] args) {           //主方法
      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);             //将以上变量想加的结果输出
}

程序运行结果如图

不同数值型变量相加的和
不同数值型变量相加的和

浮点类型

浮点类型表示有小数部分的数字。Java 语言中浮点类型分为单精度浮点类型(float) 和双精度浮点类型(double), 它们具有不同的取值范围,如表所示。

数据类型内存空间
(8 位等于1字节)
取值范围
float32位1.4E-45~3.4028235E38
double64位4.9E-324~1.7976931348623157E308

在默认情况下,小数都被看作double型,若使用float型小数,则需要在小数后面添加F或f。可以使用后缀d或D来明确表明这是一个double类型数据,不加d不会出错,但声明float 型变量时如果不加f,系统会认为变量是double类型而出错。下面举例介绍声明浮点类型变量的方法。

定义浮点类型变量,实例代码如下:

float f1 = 13.23f;
double d1 = 4562.12d;
double d2 = 45678.1564;

字符类型

1.char型
字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符,而"s"则表示一个字符串,虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符。
使用char关键字可定义字符变量,声明字符型变量实例代码如下:

char x ='a';

由于字符a在unicode表中的排序位置是97,因此允许将上面的语句写成:

char x = 97;

同C和C++语言一样, Java语言也可以把字符作为整数对待。由于unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xfff),,所以Java中的字符几乎可以处理所有国家的语言文字。若想得到一个0-65536之间的数所代表的unicode表中相应位置上的字符,也必须使用char型显式转换。

在项目中创建类Gess,编写如下代码,实现将unicode表中某些位置上的字符以及些字符在unicode表中的位置在控制台上输出。

public class Gess { // 定义类
	public static void main(String[] args) { // 主方法
		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);
	}
}
运行结果
运行结果

2.转义字符
转义字符是一种特殊的字符变量,它以反斜杠“\” 开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。例如,printf 函数的格式串中用到的“\n”就是一个转义字符,意思是“回车换行”。Java 中的转义字符如表

转义字符含义
\ddd1~3 位八进制数据所表示的字符,如\123
\uxxxx4位十六进制数据所表示的字符,如\u0052
\'单引号字符
\\反斜杠字符
\t垂直制表符,将光标移到下一个制表符的位置
\r回车
\n换行
\b退格
\f换页

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。

布尔类型

布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。

发表评论