Java 包装类的使用 + 小练习
1 package com.bytezreo.ut;
2
3 import org.junit.Test;
4
5 /**
6 *
7 * @Description 包装类的使用
8 * @author Bytezero·zhenglei! Email:420498246@qq.com
9 * @version
10 * @date 下午3:59:43
11 * @ 1.Java提供了8种数据类型对应的包装类,使得基本数据类型的变量具有类的特征。
12 *
13 * 2.基本数据类型,包装类,String三者之间的转换
14 *
15 */
16 public class WrapperTest
17 {
18 //String类型 ---->基本数据类型,包装类:调用包装类的parseXxx(String s)
19 @Test
20 public void test5()
21 {
22 String str1 = "123";
23
24 //错误情况
25 // int num1 = (int)str1;
26
27 // Integer in1 = (Integer)str1;
28
29 //可能会报 NumberFormatException
30 int num2 = Integer.parseInt(str1);
31 System.out.println(num2 + 3);
32
33 String str2 = "true";
34 boolean b1 = Boolean.parseBoolean(str2);
35 System.out.println(b1);
36
37
38 }
39
40
41
42
43 //基本数据类型,包装类------>String类型:调用String重载的valueOf(Xxx xxx)
44 @Test
45 public void test4()
46 {
47 int num1 = 10;
48 //方式一:连接运算
49 String str1 = num1+"";
50
51 //方式二:调用String重载的valueOf(Xxx xxx)
52
53 float f1 = 12.3f;
54 String str2 = String.valueOf(f1);//"12.3"
55 System.out.println(str2.toString());
56
57
58 Double d1 = new Double(12.4);
59 String str3 = String.valueOf(d1);
60 System.out.println(str3); //"12.4"
61
62
63
64
65 }
66
67
68
69
70
71 /*
72 * JDK 5.0新特性:自动装箱与自动拆箱
73 *
74 */
75
76 @Test
77 public void test3()
78 {
79 // int num1 = 10;
80 //
81 // //基本数据类型----->包装类的对象
82 // method(num1);
83
84 //自动装箱: 基本数据类型----->包装类的对象
85 int num2 = 10;
86 Integer in1 = num2; //自动装箱
87
88 boolean b1 = true;
89 Boolean b2 = b1; //自动装箱
90
91
92
93 //自动拆箱:包装类 -----> 基本数据类型
94 System.out.println(in1.toString());
95
96 int num3 = in1; //自动拆箱
97 System.out.println(num3);
98
99
100
101 }
102 public void method(Object obj)
103 {
104 System.out.println(obj);
105 }
106
107
108
109
110
111
112 //包装类转 ------> 化为基本数据类型:调用包装类的xxxValie()
113 @Test
114 public void test2()
115 {
116 Integer in1 = new Integer(12);
117
118 int i1 = in1.intValue();
119 System.out.println(i1 + 2);
120
121
122
123 Float f1 = new Float(12.3);
124 float f2 = f1.floatValue();
125 System.out.println(f2+5);
126
127 }
128
129
130
131
132
133 //基本数据类型----->包装类:调用包装类的构造器
134 @Test
135 public void test1()
136 {
137 int num1 = 10;
138
139 Integer in1 = new Integer(num1);
140
141
142 System.out.println(in1.toString());
143
144 Integer in2 = new Integer("123");
145 System.out.println(in2.toString());
146
147
148 //异常
149 // Integer in3 = new Integer("123abc");
150 // System.out.println(in3.toString());
151
152
153 Float f1 = new Float(12.3f);
154
155 Float f2 = new Float("12.3");
156
157 System.out.println(f1.toString());
158 System.out.println(f2);
159
160
161 Boolean b1 = new Boolean(true);
162 Boolean b2 = new Boolean("true");
163 Boolean b3 = new Boolean("true123");
164
165 System.out.println(b1);
166 System.out.println(b2);
167 System.out.println(b3); //false
168
169
170 Order order = new Order();
171 System.out.println(order.isMale); //false
172 System.out.println(order.isFemale); //null
173
174
175 }
176
177 /*
178 * 小练习
179 *
180 */
181 @Test
182 public void test6()
183 {
184 Object o1 = true ? new Integer(1):new Double(2.0);
185 System.out.println(o1); //1.0 类型同一 自动类型提升
186 }
187
188 @Test
189 public void test7()
190 {
191 Object o2;
192 if(true)
193 o2 = new Integer(1);
194 else
195 o2 = new Double(2.0);
196 System.out.println(o2); //1
197 }
198
199 @Test
200 public void method1()
201 {
202 Integer i = new Integer(1);
203 Integer j = new Integer(1);
204
205 System.out.println(i == j); //false 地址不相等
206
207 // Integer内部定义了IntegerCache结构, IntegerCache中定义了Integer[],
208 //保存了-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围
209 //在-128~127范围内时,可以直接使用数组中的元素,不用在new了。
210 // 目的提高效率
211 Integer m = 1;
212 Integer n = 1;
213
214 System.out.println(m == n); // true
215
216
217 Integer x = 128; //不在int 的取值范围内 同时new了两个 128 所以不相同
218
219 Integer y = 128;
220 System.out.println(x == y); //false
221 }
222
223
224
225 }
226
227
228 class Order{
229 boolean isMale; //这是基本数据类型
230
231 Boolean isFemale; //这是类
232
233 }

Java 包装类的使用 + 小练习的更多相关文章
- Java 包装类笔记
@(JDK)[包装类] Java 包装类笔记 当需要使用到集合的时候,如果是基础数据类型,需要转换为包装类,再使用,在JDK1.5之前,每次使用的时候,都需要手动转换为包装类(称为装箱),然后在使用的 ...
- java 开发面试题小整理(一)
本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...
- Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...
- Java 需要记得、了解的关键词 (Java 学习中的小记录)
Java 需要记得.了解的关键词 (Java 学习中的小记录) 作者:王可利(Star·星星) 总结:本次随笔,仅且拿来平时翻阅记忆用
- Java包装类及其拆箱装箱
Java包装类,Wrapper~由于在java中,数据类型总共可分为两大种,基本数据类型(值类型)和类类型(引用数据类型).基本类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提 ...
- Java包装类的常量池
Integer a=Integer.valueOf(100); Integer b=Integer.valueOf(100); System.out.println(a==b); Double d1 ...
- java网络爬虫爬虫小栗子
简要介绍: 使用java开发的爬虫小栗子,存储到由zookeeper协调的hbase中 主要过程是模拟Post请求和get请求,html解析,hbase存储 源码:https://github.com ...
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
IT咨询顾问:一次吐血的项目救火 年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...
- JAVA包装类的缓存范围
JAVA包装类的缓存范围 前两天面试遇到两个关于JAVA源码的问题,记录下来提醒自己. 1.写出下面的输出结果 System.out.println(Integer.valueOf("100 ...
- java实现简单窗体小游戏----球球大作战
java实现简单窗体小游戏----球球大作战需求分析1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain—创建窗体 BallJPanel—画小 ...
随机推荐
- 分页sql大全
一.排除Top分页法(自命名,非规范) 思想:所谓"排除Top分页",主要依靠"排除"和Top这个两大核心步骤.首先查询当前页码之前的数据,然后将该数据从总数据 ...
- vim 从嫌弃到依赖(19)——替换
之前讨论了关于在vim中使用正则表达式的相关知识能方便的进行搜索,现在在之前的基础之上继续来讨论如何进行替换操作. substitute 简介 substitute 允许我们先查找一段文本并用新的文本 ...
- 从零开始搭建医药领域知识图谱实现智能问答与分析服务(含码源):含Neo4j基于垂直网站数据的医药知识图谱构建、医药知识图谱的自动问答等
从零开始搭建医药领域知识图谱实现智能问答与分析服务(含码源):含Neo4j基于垂直网站数据的医药知识图谱构建.医药知识图谱的自动问答等 项目介绍 关于知识图谱概念性的介绍就不在此赘述.目前知识图谱在各 ...
- 在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升
在数据增强.蒸馏剪枝下ERNIE3.0模型性能提升 项目链接: https://aistudio.baidu.com/aistudio/projectdetail/4436131?contributi ...
- MySQL【五】与python交互
1.安装pymysql 安装pymysql pip install pymysql 2.游标(cursor)的使用 cursor,就是一个标识,用来标识数据可以理解成数组中的下标 . 一.声明一个游 ...
- P4103 [HEOI2014] 大工程 题解
题目链接:大工程 先考虑只有一次查询,很显然我们可以暴力树上 dp 处理出答案. 对于每个节点而言,有: 容易看出类似点分治逐个遍历子树计算前面一堆子树对后面子树的贡献思想,我们可以很容易的知道: 对 ...
- strobe
总是喜欢一个人出神,置身的场景经常是小时有趣的明晃晃的下午.也不知道为什么印象中有趣的下午的阳光总是让人睁不开眼,我也曾试图给大脑传递过"能不能将那晃眼的阳光删去",但再次置身仍是 ...
- ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
任务15:oauth2 + oidc 实现 server部分 基于之前快速入门的项目(MvcCookieAuthSample): https://www.cnblogs.com/MingsonZhen ...
- 云计算 - 负载均衡SLB方案全解与实战
云计算 - 负载均衡SLB方案全解与实战,介绍SLB的核心技术.用户最佳实践.阿里云 SLB产品举例.应用场景. 关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有1 ...
- 开源.NetCore通用工具库Xmtool使用连载 - OSS文件上传篇
[Github源码] <上一篇> 介绍了Xmtool工具库中的图像处理类库,今天我们继续为大家介绍其中的OSS文件上传类库. 将本地文件上传到服务器是软件系统经常会遇到的需求,例如:设置用 ...