(006) java后台开发之基本数据类型
来源:互联网 发布:杭州网络推广营销 编辑:程序博客网 时间:2024/06/05 09:11
参考:https://course.tianmaying.com/java-basic+data-types#
数据类型是一门程序语言的基本构成元素,Java语言提供了八种基本类型,其中包括六种数字类型(四种整数型,两种浮点型),一种字符类型,还有一种布尔型。
byte
byte
数据类型是8位、有符号整数;有符号指的是有正数和负数之分- 最小值是
-128(-2^7)
- 最大值是
127(2^7-1)
- 默认值是
0
byte
类型用在大型数组中节约空间,主要代替整数,因为byte
变量占用的空间只有int
类型的四分之一
示例:
byte foo = 100;byte bar = -50;
short
short
数据类型是16位、有符号整数- 最小值是
-32768(-2^15)
- 最大值是
32767(2^15 - 1)
- 默认值是
0
short
数据类型也可以像byte
那样节省空间,一个short
变量是int
变量所占空间的二分之一
示例:
short number1 = 100;short number2 = -2000。
int
int
数据类型是32位、有符号整数- 最小值是
-2,147,483,648(-2^31)
- 最大值是
2,147,485,647(2^31 - 1)
- 默认值是
0
示例:
int number1 = 50000;int number2 = -60000。
整型变量默认为int
类型。
long
long
数据类型是64位、有符号整数- 最小值是
-9,223,372,036,854,775,808(-2^63)
- 最大值是
9,223,372,036,854,775,807(2^63 -1)
- 默认值是
0L
- 这种类型主要使用在需要比较大整数的系统上
示例:
long number1 = 50000L;long number2 = -60000L。
float
float
数据类型是单精度、32位的浮点数float
在储存大型浮点数组的时候可节省内存空间- 默认值是
0.0f
- 浮点数不能用来表示精确的值,如货币
float f1 = 123.f;float f2 = 456.f;
double
double
数据类型是双精度、64位的浮点数- 浮点数的默认类型为
double
类型 - 默认值是
0.0d
- double类型同样不能表示精确的值,如货币
示例:
double number1 = 3333.4;
boolean
boolean
数据类型表示一位的信息- 只有两个取值:
true
和false
- 默认值是
false
- 这种类型只作为一种标志来记录
true
/false
情况
示例:
boolean flag = true;boolean active = false;
char
char
类型是一个单一的16位Unicode字符- 最小值是
'\u0000'
(即为0) - 最大值是
'\uffff'
(即为65,535) - 默认值是
'\u0000'
(即为0) char
数据类型可以储存任何字符
示例:
char letter = 'A';
类型转换
一个浮点数字面量默认是double
类型,如果要定义float
类型则要在字面量最后添加f
或者F
:
double a = 1.23;float b = 1.23F;float c = 1.23; // 编译错误
以上代码中,第三行代码将出现编译错误,因为1.23
这个字面量是double
类型的,不能将其赋值给float
类型。
一个整数字面量默认是int
类型,如果要定义长整形(long
)则要在字面量最后添加l
或者L
。但是
int a = 100;long b = 100000L;long c = 100000;
第三行代码long c = 100000;
不会有编译错误,虽然字面量100000
是int
类型的,但是当int
类型赋值给long
类型时,可以自动转换为long
类型。
占用内存空间小的类型可以自动转换为占用空间大的类型,反之则不成立。你把一个变量的想象成一个箱子,更小的箱子里的东西可以放入到更大的箱子中,将更大的箱子里的东西放到更小的箱子则可能装不下。比如:
b = a;
是合法的赋值a = b;
则是非法的赋值,会有编译错误,这其实也是代码float c = 1.23;
会发生编译错误的原因
如果一定要将b
的值(long
类型)赋值给a
,则要进行强制转换:
a = (int)b;
b
变量前的(int)
表示将b
的值强制转换为int
类型。注意强制类型转换时,可能导致数据错误,比如b
的值超过了int
类型的表示范围,此时就会进行数据截断(丢掉箱子装不下的东西),我们应该尽量避免这种情况。
基本类型之间的自动转换关系如下:
我们来比较以下三个字符串:
String str1;String str2 = "";String str3 = new String();
str1
的值为null
,表示没有指向任何字符串对象str2
已经指向了一个字符串对象,这个对象的字符序列内容为空str3
是显式地调用构造函数创建字符串对象,该对象的字符序列内容为空,与第二行代码是基本一样的。
阅读全文
0 0
- (006) java后台开发之基本数据类型
- Java数据类型之基本数据类型
- java数据类型之基本数据类型
- Java之基本数据类型
- Java基本之数据类型
- java之基本数据类型
- java基础之基本数据类型
- Java核心技术之基本数据类型
- Java复习之基本数据类型
- Java基础知识之基本数据类型
- JAVA SE之基本数据类型
- Java[探索]之基本数据类型
- java基础之基本数据类型
- java基本语法之基本数据类型详解
- JNI开发之基本数据类型转换
- java基础之java中的基本数据类型
- Java开发之简单数据类型
- java基础整理之--基本数据类型
- 两种注解的基本使用
- 6.mv — 移动文件或改名
- ARP报文格式
- Visitor Design Pattern
- MYSQL基本命令
- (006) java后台开发之基本数据类型
- Apriori
- 7.cp — 将源文件复制至目标文件,或将多个源文件复制至目标目录
- hashmap
- 系统日志
- Smarty模板引擎
- Android 编码URL中文字符串
- 审计标准和相关人介绍
- 8.touch — 更改文档或目录的日期时间