Java中的基本数据类型包装类
在 java 中为什么会有基本数据类型的包装类?
①:基本数据类型之间的相互转换不是都可以制动转换的,而你强制转换又会出问题,比如String类型的转换为int类型的,那么jdk为了方便用户就提供了相应的包装类;
②:有时候一个函数需要传递一个Object的变量 而你想传递int类型的进去显然不行,怎么办呢,用到了包装类;
故基本数据类型的包装类用法主要是:实现基本类型之间的转换; 便于函数传值; 在一些地方要用到Object的时候方便将基本数据类型装换
基本数据类型的包装类:
1. 每一个基本数据类型,在一般情况下分配在栈上面,如果你想把它包装一下,包装成一个对象,就可以分配在堆上面,使用基本数据类型的包装类;
2. 包装类(如:Integer,Boolean,Double 等)这些封装了一个相应的基本数据类型数值,并为其提供一系列操作;
3. 以 java.lang.Integer 类为例,相应的构造方法:
Integer(int Value)、Integer(String s)
包装类常见方法:
1. 以下方法以 java.lang.Integer 类为例:
1.1 public static final int MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值;
1.2 public static final int MIN_VALUE : 值为 -231 的常量,它表示 int 类型能够表示的最小值;
1.3 public int intValue():以 int 类型返回该 Integer 的值. 其返回的是转换为 int 类型后该对象表示的数值;
1.4 public long longValue():以 long 类型返回该 Integer 的值. 其返回的是转换为 long 类型后该对象表示的数值;
1.5 public double doubleValue():以 double 类型返回该 Integer 的值. 其返回的是转换为 double 类型后该对象表示的数值;
1.6 public static int parseInt(String s) throws NumberFormatException:将字符串参数作为有符号的十进制整数进行解析。
1.7 public static Integer valueOf(String s) throws NumberFormatException:返回 Integer 对象,其中封装的整型数据为字符串 s 所表示.
2. 包装类举例:
public class Test {
public static void main(String[] args){
Integer i = new Integer(100); // 分配在堆内存中
Double d = new Double("12.568"); // 相当于先把字符串转换为double类型的数,然后再封装到Double基本数据类型的对象中去
int j = (int) (i.intValue()+d.doubleValue());
double pi = Double.parseDouble("3.1415926");
double r = Double.valueOf("2.000").doubleValue();
System.out.println(r); //2.0
double s = pi*r*r;
try {
int k = Integer.parseInt("1.25");
} catch (NumberFormatException e) {
System.out.println("数据格式不对"); // 数据格式不对
}
System.out.println(Integer.toBinaryString(123)+'B'); // 1111011B
System.out.println(Integer.toHexString(123)+'H'); // 7bH
System.out.println(Integer.toOctalString(123)+'O'); // 173O
}
}
Java中的基本数据类型包装类的更多相关文章
- Java中的变量数据类型补充
Java中变量的数据类型的补充 变量按照数据类型进行分类 1.基本数据类型 数值型:①整数类型(byte,short,int,long)②浮点型(float,doubbe)③字符型(char)④布尔型 ...
- Java中常用类(包装类扩展知识)
Java常用类有哪些? 八大基本数据类型的包装类 包装类均位于java.lang包中,包装类和基本数据类型的对应关系如下表: 基本数据类型 包装类 byte Byte boolean Boolean ...
- Java中特殊的类——包装类
Java中特殊的类--包装类 包装类就是将基本数据类型封装在类中. 1.包装类 (1)自定义包装类 将基本数据类型包装成一个类对象的本质就是使用Object进行接收处理. 此时IntDemo类就是in ...
- JAVA中分为基本数据类型及引用数据类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- 二、java中的基本数据类型
总结: 1.java中的基本数据类型有byte.short.int.long;float.double;char;boolean. 2.基本数据类型与1相对应分别占1.2.4.8;4.8;2;1.(单 ...
- java中的基本数据类型一定存储在栈中吗?
首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的. 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型 ...
- java中的基本数据类型和引用数据类型
java中基本数据类型有8种:byte,short,int,long,char,float,double,boolean 整型有四种:byte short,int,long byte: 1字节 ...
- JAVA中分为基本数据类型和引用数据类型区别
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- java中8种数据类型和默认值所占字节数
java 8种基本数据类型的默认值及所占字节数 通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge; 2 3 public class Ceshi { 4 int a; ...
随机推荐
- JDBC中执行sql语句的 增 , 删 , 改 , 查 的方法
executeQuery() : 执行 SELECT 语句,它几乎是使用最多的 SQL 语句 executeUpdate() : 执行 INSERT.UPDATE 或 DELETE 语句以及 S ...
- node.js使用Sequelize 操作mysql
Sequelize就是Node上的ORM框架 ,相当于java端的Hibernate 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite ...
- laravel4.2 union联合,join关联分组查询最新记录时,查询条件不对,解决方案
需求: 分组联合查询,或者最新记录. 问题: mysql分组的时候默认会查询第一条记录,存在gourp by时 order by 无效. 一般解决办法就是 ,select * from ( sele ...
- ElasticSearch5插件安装
http://blog.csdn.net/napoay/article/details/53896348 #更新 sudo yum update -y sudo rpm -ivh http://dl. ...
- 一、Django初级
创建项目,也就是网站 1.cmd,输入:pip3 install Django==2.1.2 2.>>>import django 3.cmd进入需要建项目的文件夹,django-a ...
- QOS-交换机拥塞管理
QOS-交换机拥塞管理 2018年7月7日 20:29 优先级映射: 根据信任的优先级,查找映射表,标记丢弃优先级和本地优先级 如果信任端口优先级,不同产品优先级标记方式可能不同,S3610处理过程如 ...
- epoll 服务端 ET模式
windows下IOCP, linux下 epoll. epoll模型其实也是一个同步模型,ET是epoll里面的一种模式,叫 边缘触发. 个人理解,类似于 windows下的事件选择模型.代码如下: ...
- 笔记-jinja2语法
笔记-jinja2语法 1. 基本语法 控制结构 {% %} 变量取值 {{ }} 注释 {# #} 2. 变量 最常用的是变量,由Flask渲染模板时传过来,比如上例中的”nam ...
- FpSpread基本句法
1, 在调用的.aspx页面开头注册: "FarPoint.Web.Spread" Assembly="FarPoint.Web.SpreadJ, V ...
- 关于java的wait、notify、notifyAll方法
wait.notify.notifyAll 遇到的问题 之前开发打印机项目,因为需要使用多线程技术,当时并不怎么理解,一开始随意在方法体内使用wait.notify.notifyAll 方法导致出现了 ...