Java自学-数字与字符串 装箱和拆箱
Java中基本类型的装箱和拆箱
步骤 1 : 封装类
所有的基本类型,都有对应的类类型
比如int对应的类是Integer
这种类就叫做封装类
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
//把一个基本类型的变量,转换为Integer对象
Integer it = new Integer(i);
//把一个Integer对象,转换为一个基本类型的int
int i2 = it.intValue();
}
}
步骤 2 : Number类
数字封装类有
Byte,Short,Integer,Long,Float,Double
这些类都是抽象类Number的子类
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
Integer it = new Integer(i);
//Integer是Number的子类,所以打印true
System.out.println(it instanceof Number);
}
}
步骤 3 : 基本类型转封装类
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
//基本类型转换成封装类型
Integer it = new Integer(i);
}
}
步骤 4 : 封装类转基本类型
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
//基本类型转换成封装类型
Integer it = new Integer(i);
//封装类型转换成基本类型
int i2 = it.intValue();
}
}
步骤 5 : 自动装箱
不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
//基本类型转换成封装类型
Integer it = new Integer(i);
//自动转换就叫装箱
Integer it2 = i;
}
}
步骤 6 : 自动拆箱
不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
package digit;
public class TestNumber {
public static void main(String[] args) {
int i = 5;
Integer it = new Integer(i);
//封装类型转换成基本类型
int i2 = it.intValue();
//自动转换就叫拆箱
int i3 = it;
}
}
步骤 7 : int的最大值,最小值
int的最大值可以通过其对应的封装类Integer.MAX_VALUE获取
package digit;
public class TestNumber {
public static void main(String[] args) {
//int的最大值
System.out.println(Integer.MAX_VALUE);
//int的最小值
System.out.println(Integer.MIN_VALUE);
}
}
练习: 装箱拆箱
对byte,short,float,double进行自动拆箱和自动装箱
byte和Integer之间能否进行自动拆箱和自动装箱
通过Byte获取byte的最大值
答案:
package digit;
public class TestNumber {
public static void main(String[] args) {
// 1. 对byte,short,float,double进行自动拆箱和自动装箱
byte b = 1;
short s = 2;
float f = 3.14f;
double d = 6.18;
// 自动装箱
Byte b1 = b;
Short s1 = s;
Float f1 = f;
Double d1 = d;
// 自动拆箱
b = b1;
s = s1;
f = f1;
d = d1;
// 2. byte和Integer之间能否进行自动拆箱和自动装箱
Integer i1 = b; //不能把byte直接自动装箱成Integer
b = new Integer(1); //也不能把Integer自动拆箱成 byte
// 3. 通过Byte获取byte的最大值
System.out.println(Byte.MAX_VALUE);
}
}
Java自学-数字与字符串 装箱和拆箱的更多相关文章
- Java学习笔记之——自动装箱与拆箱
自动装箱与拆箱 基本类型与引用类型的互相转换 1. 基本类型对应的包装类 byte short char int long flaot double ...
- java和c#中的装箱和拆箱操作
c#装箱和拆箱 装箱:整体上来说,装箱是将值类型转换成引用类型,比如将Vector3转换成Object类型. 具体而言: 1)在托管堆中为值类型分配内存.除了原始的数值以外还应该有指向该数值的引用. ...
- Java包装类,基本的装箱与拆箱
我的博客 何为包装类 将原始类型和包装类分开以保持简单.当需要一个适合像面向对象编程的类型时就需要包装类.当希望数据类型变得简单时就使用原始类型. 原始类型不能为null,但包装类可以为null.包装 ...
- Java自学-数字与字符串 字符
Java中的字符 示例 1 : 保存一个字符的时候使用char package character; public class TestChar { public static void main(S ...
- Java自学-数字与字符串 字符串转换
Java中把数字转换为字符串,字符串转换为数字 步骤 1 : 数字转字符串 方法1: 使用String类的静态方法valueOf 方法2: 先把基本类型装箱为对象,然后调用对象的toString pa ...
- Java自学-数字与字符串 字符串
Java中的字符串String 示例 1 : 创建字符串 字符串即字符的组合,在Java中,字符串是一个类,所以我们见到的字符串都是对象 常见创建字符串手段: 每当有一个字面值出现的时候,虚拟机就会创 ...
- Java自学-数字与字符串 格式化输出
Java 使用printf或format 进行格式化输出 步骤 1 : 格式化输出 如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐 使用格式化输出,就可以简洁明了 %s ...
- Java自学-数字与字符串 MyStringBuffer
自己开发一个Java StringBuffer 根据接口IStringBuffer ,自己做一个MyStringBuffer 步骤 1 : IStringBuffer接口 package charac ...
- Java自学-数字与字符串 StringBuffer
Java StringBuffer常见方法 StringBuffer是可变长的字符串 示例 1 : 追加 删除 插入 反转 append追加 delete 删除 insert 插入 reverse 反 ...
随机推荐
- SpringBoot全局Jackson配置未生效
在做一个小项目,后台服务第一次用SpringBoot构建.接口使用Json格式,在application.properties中配置如下: spring.jackson.default-propert ...
- Windows使用CMD命令查看进程和终止进程
TaskList: 列出当前所有运行进程. 使用方法:在命令提示符中输入tasklist 然后回车,会看到类似下面的列表: 映像名称 PID 会话名 会话# 内存使用 == ...
- 13-C#笔记-数组
# 1 初始化 double[] balance = new double[10]; // 隐式初始化为0 double[] balance = { 2340.0, 4523.69, 3421.0}; ...
- Spring Boot 各版本的Java版本要求
Spring Boot 各版本的Java版本要求 Spring Boot 与 Java 对应版本,以下表格由官方网站总结. 官网:https://spring.io/projects/spring-b ...
- node开发遇到类似:Error: ENOENT: no such file or directory, scandir 'D:\work\taro-components- ....... _node-sass@4.12.0@node-sass\vendor
唯一的有参考价值的文章,https://www.cnblogs.com/milo-wjh/p/9175138.html 我可以负责任的说,以下的方法, npm rebuild node-sass 80 ...
- [PHP] Laravel 5.5 图片上传功能
以Laravel 5.5 框架为主,进行文件上传功能的实现如下: 一.配置文件修改 打开 config/filesystems.php 文件在 ‘disks’ 数组中添加如下代码 //自定义 'upl ...
- 【JZOJ6236】【20190628】启程的日子
题目 给你一个\(n \times m\)的01矩阵 你需要用一些矩阵加减出这个矩阵 求最少的步数,并输出方案 需要满足构造出的01矩阵是一个四联通块 $ n , m \le 500 $ 题解 答案 ...
- Docker入门笔记(Centos7)
centos7 wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo vim docker-c ...
- sparksql基础知识二
目标 掌握sparksql操作jdbc数据源 掌握sparksql保存数据操作 掌握sparksql整合hive 要点 1. jdbc数据源 spark sql可以通过 JDBC 从关系型数据库中读取 ...
- word2vec学习总结
目录 1.简介 2.从统计语言模型开始 2.1序列概率模型 2.2 N元统计模型 3.深度序列模型 3.1神经概率模型 3.2 one-hot向量表示法 3.3 word2vec 3.4word2ve ...