Java数据类型

1.java数据类型简介

参考原则:
- 整数类型:byte(字节)、short(短整数)、int(整数)、long(长整型);
- 浮点型:double(双精度)、float(单精度);;
- 处理中文最方便的操作:char(可选);
- 控制程序流程、条件判断和逻辑运算的:boolean

2.整型数据

1.byte类型

byte是8位(1字节)有符号整数。
取值范围是从-128到127。
byte类型主要用于节省内存,适用于存储大量小整数或二进制数据。开发中,使用byte类型的数组buffer来存储从文件中读取的字节数据
举例:

byte num = 10;
byte flag = -128;

2.short类型

short是16位(2字节)有符号整数类型。
取值范围为 -32768 到 32767。
在处理空间有限且数值较小的情况下使用,可以用来减少内存消耗。
举例:

short a = 100;
short b = 200;

short sum = (short) (a + b);
short difference = (short) (a - b);
short product = (short) (a * b);
short quotient = (short) (a / b);

3.int类型

int是32位(4字节)有符号整数类型。
取值范围为 -2147483648 到 2147483647。
是Java中最常用的整数类型,默认情况下整数常量被认为是int类型。

举例:

//int int变量 = int的数值;
int max = Integer.MAX_VALUE;//获取int的最大值
int min = Integer.MIN_VALUE;//获取int的最小值
System.out.println(max);//2147483647
System.out.println(min);//-2147483648
// int型变量+int型常量 = int型计算结果
System.out.println(max + 1); // -2147483648 最大值+1
System.out.println(min- 1);// 2147483647 最小值-1

数字在进行处理的时候,如果超过了其最大的保存范围的问题在Java中被称为数据溢出,那么如果系要想解决这种溢出,那么可以继续扩大使用范围,

4.long类型

long是64位(8字节)有符号整数类型。
取值范围为 -9223372036854775808 到 9223372036854775807。
当超出int的取值范围时,需要使用long类型存储更大的整数值。
举例:

int max = Integer.MAX_VALUE;//获取int的最大值
int min = Integer.MIN_VALUE;//获取int的最小值
System.out.println(max);//2147483647
System.out.println(min);//-2147483648
// int型变量 + long型常量 = long型计算结果
System.out.println(max + 1L); // 2147483648 最大值+1
// int型变量 - long型常量 = long型计算结果
System.out.println((long)(min- 1));// -2147483649 最小值-1

1L其中L后缀用于指示该数字是long类型的,
范围小的数据类型可以直接转换为数据大的数据类型,大的数据类型要转为范围小的数据类型,那么就必须采用强处理模式,同时还需要考虑可能带来的数据溢出。

3.浮点型数据

所有的数据类型进行自动转型的时候都是由小类型向大类型进行自动转换处理。

1.float 单精度

举例:

float x = (float) 10.2;
float y = 10.1F;
System.out.println(x * y);//float 类型  =103.020004,所有java版本存在的bug。

2.double 双精度

举例:

double radius = 3.5;
double pi = 3.14159;

double area = pi * radius * radius;
double circumference = 2 * pi * radius;

System.out.println("圆的面积:" + area);                // 输出结果: 圆的面积:38.484475
System.out.println("圆的周长:" + circumference);       // 输出结果: 圆的周长:21.9917795

区别:
float: 单精度浮点数、32位(4字节)内存、数值范围-3.410(-38)~3.410(38)
double: 单精度浮点数、64位(8字节)内存、数值范围-1.710(-308)~1.710(308)

4.字符型数据

在任何的编程语言之中,字符都可以与int进行互相转换,也就是说这个时候字符中所描述的内容可以通过int获取其内容对应的系统编码。

举例:

char c = 'A';//一个字符变量
int num = c; //可以获得字符的编码
System.out.println(num);//

对于以上程序获得了编码可知,几个范围需要注意下:

  • “大写字母范围”:A(65)~Z(90);
  • “小写字母范围”:a(97)~Z(122);
  • “数字范围”:0(48)~9(57)

通过编码范围可以发现大小写字母之间差了32个数字的长度,在这样情况下就可以将小写字母变为大写字母。
举例:

char c = 'x';//一个字符变量
int num = c ;//可以获取得字符得编码
num = num -32 ;//让自己得那内容减少32
System.out.println((char)num);//int 强知转型为char

java中的char类型可以保存中文数据,是因为java使用的是unicode这种十六进制的编码,这种编码的特点是可以包括任意的文字内容,使得程序开发更加简单。

5.布尔型数据 boolean

布尔是一位数学家的名称,布尔的取值范围只有两个数据:truefalse

posted @ 2021-11-10 23:09  Jsonring  阅读(49)  评论(0编辑  收藏  举报
分享到: