Java 八种基本类型和基本类型封装类
1.首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char;
它们的封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。
数据类型 | 包 装 类 | 字节长度 | 默 认 值 |
int | Integer | 4 | 0 |
short | Short | 2 | 0 |
long | Long | 8 | 0l或0L |
byte | Byte | 1 | 0 |
float | Float | 4 | 0.0F或0.0f |
double | Double | 8 | 0.0 |
char | Character | 2 | u0000 |
boolean | Boolean | 1 | false |
2.Java中的数值都是有符号的,不存在无符号的数,它们的取值范围也是固定的,不会随着硬件环境或者操作系统的改变而改变。
3.原始数据类型在传递参数时都是按值传递,封装类都是按引用传递。
4.Java语言中,默认声明的小数是double类型的,因此对float类型的变量进行初始化时需要进行类型转换。
float类型变量有两种初始化方法:float f = 1.0f 或者 float f =(float) 1.0 。
5."=="和"equals()"方法:
1)基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true。
2)两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
3)两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true。
4)基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3)中的比较。
int i=;
Integer j=new Integer();
System.out.println(i==j);
System.out.println(j.equals(j));
double d=0.5;
Double b=new Double(0.5);
System.out.println(d==b);
System.out.println(b.equals(d));
Integer aa=-;
Integer bb=-;
System.out.println(aa==bb);
Integer aaa=;
Integer bbb=;
System.out.println(aaa==bbb);
程序运行结果:
true
true
true
true
true
false
6.不同数据类型之间的转换规则:
在Java中当参与运算的两个变量的数据类型不同时,就需要进行隐式的数据类型转换,转换规则为:从低精度向高精度转换,即优先级满足byte<short<char<int<long<float
<double.反之,则需要通过强制类型转换来完成。
操作数1的类型 | 操作数2的类型 | 转换后的类型 |
int |
byte,short,char |
int |
long |
byte,short,char,int |
long |
float |
byte,short,char,int,long |
float |
double |
byte,short,char,int,long,float | double |
l类型自动转换时,需要注意的几点:
1)char数据类型转换为高级类型时,会自动转换为其对应的ASCII码。
2)byte, char, short 类型的数据在参与运算时会自动转换为int类型,但当使用''+=" 运算符时就不会产生类型转换,例如 short s1= 1; s1=(shot) (s1+1) 。short s2 = 1;s1+=1。
3)基本数据类型不能与boolean类型相互转换。
原操作数的类型 | 转换后操作数的类型 |
byte | char |
char | byte char |
short | byte char |
int | byte short char |
long | byte short char int |
float | byte short char int long |
double | byte short char int long double |
需要注意的是,在进行强制类型转换时可能会损失精度。
Java 八种基本类型和基本类型封装类的更多相关文章
- Java中的基本类型和包装类型区别
首先看一下几个测试题,验证一下java中对基本类型和包装类型的理解,看看最后输出的答案对不对,答案在这篇博客中哦: // 第一题: 基本类型和包装类型 int a = 100; Integer b = ...
- java的基本类型和对应的封装类
封装,是java这门语言的重要核心思想之一,封装也是对面向对象这一思想很好的体现. 在很多情况下,我们需要对数据进行一些转换,如:将一字符串"123"转换成int类型的123,或者 ...
- java中基本类型和包装类型实践经验
至今,小菜用java快两年了,有些事,也该有个总结. 基本类型和包装类型的概念在本文不作赘述. 如果这两种类型直接使用,倒没什么值得讨论的,无非就是自动装箱拆箱,java可以让你感觉不到他们的存在,但 ...
- java 八种基本数据类型之初始值、取值范围、对应的封装类
CreateTime--2017年12月6日10:03:53 Author:Marydon 一.java数据类型之基本数据类型 (二)八种基本数据类型的特征 import java.math.Bi ...
- java 八种基本数据类型之与对应的封装类之间的相互转化
迁移时间--2017年5月26日17:47:37 Author:Marydon 一.java数据类型之基本数据类型 UpdateTime--2017年1月9日17:31:14 (三)格式转换 1. ...
- Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?
参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...
- 【Java心得总结一】Java基本类型和包装类型解析
说到数据类型这个问题是一个基本的不能再基本的问题,我们当初编程入门第一课一般就是讲数据类型,而今天我想记录的是一个在Java中容易忽略的问题,即基本类型和包装类型. 一.基本类型出现的原因 我们都知道 ...
- Java 基本类型和包装类型
讲基本类型和包装类型之前,首先要介绍,装箱和拆箱 装箱:基本类型转化为包装类型 拆箱:包装类型转化为拆箱类型 为什么要有包装类型?Java是面向对象的语言,Java中一切都是对象除了基本数据类型,所以 ...
- Java 基本类型和对象类型的区别
Java 基本类型和对象类型的区别 基本类型: int long byte float double char boolean short 对象类型: Integer Long Byte Float ...
随机推荐
- node安装依赖
node 版本:v6.11.2 npm 版本:3.10.10 开发(在UI目录下) # 安装依赖 npm install ## 若上述不行则采取下面命令 npm install --regist ...
- 编译安装 logstash-output-jdbc
环境 mac https://github.com/theangryangel/logstash-output-jdbc logstash-plugin install logstash-output ...
- pycharm debug的操作
###################################### """ pycharm的debug按钮是右上角的一个小虫子, debug,要打断点,debu ...
- vscode中的live-server配置https?
json文件中使用绝对路径添加证书 "liveServer.settings.https": { "enable": true, "cert" ...
- 吴裕雄--天生自然HTML学习笔记:HTML <head>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Nginx笔记总结六:Nginx location配置
语法规则:location [= | ~ | ~* | ^~] /uri/ {....} = 表示精确匹配 ^~ 表示uri以某个常规字符串开头 ~ 表示区分大小写的正则表达式 ~* 表示不区分大小写 ...
- java 字符串转日期格式
/** * 字符串转日期格式 * */ public static Date date(String date_str) { try { Calendar zcal = Calendar.getIns ...
- Eclipse添加comment
1.给新增的Java类,自动生成Comment. 打开Preferences,找到Java-->Code Style -->Code Templates-->Comments--&g ...
- Numpy入门(二):Numpy数组索引切片和运算
在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...
- 正则表达式入门-python代码
题记 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例. 正则表达式在很多的应用中都有使用到,特别是在网络爬虫中格式化html后取出自 ...