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—画小 ...
随机推荐
- Fabric网络升级(总)
原文地址在这里. 在fabric网络中,升级nodes和通道至最新版本需要四步: 备份账本和MSPs. 以滚动的方式将orderer升级到最新版. 以滚动的方式将peers升级到最新版. 将order ...
- 手撕Vuex-实现getters方法
经上一篇章介绍,完成了实现共享数据的功能,实现方式是在 Store 构造函数中将创建 Store 时将需要共享的数据添加到 Store 上面,这样将来我们就能通过 this.$store 拿到这个 S ...
- FaceFusion:探索无限创意,创造独一无二的面孔融合艺术!
FaceFusion:探索无限创意,创造独一无二的面孔融合艺术! 它使用先进的图像处理技术,允许用户将不同的面部特征融合在一起,创造有趣和令人印象深刻的效果.这个项目的潜在应用包括娱乐.虚拟化妆和艺术 ...
- 在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升
在数据增强.蒸馏剪枝下ERNIE3.0模型性能提升 项目链接: https://aistudio.baidu.com/aistudio/projectdetail/4436131?contributi ...
- 常用排序方法——python写法【冒泡、快速排序、TOP-K问题】
1.冒泡排序 相信冒泡排序是很多小伙伴第一个知道的排序算法.它就是每趟排序冒出一个最大(最小)值,相邻两个元素比较,前一个比后一个大,则交换. def bubbleSort(arr): n = len ...
- centos6.5安装MongoDB4.4.23
前言 1.目前MongoDB最新稳定版本是:6.0.8 2.MongoDB 5+和6+版本已不支持centos6.2+系统,参考https://docs.mongoing.com/install-mo ...
- MangoDB相关文档阅读小结
以往直到现在我所负责的业务场景没有使用MangoDB的,不过对于NoSQL的流行以及兴趣,阅读了一些文档做了简单的了解.待后续需要使用时再深入研究. 本文不介绍具体的语法. 基本信息 类似Json的B ...
- MySQL-面试知识点汇总
1. DQL相关 2. DDL.DML.DCL相关 3.架构相关 3.1 MySQL的复制原理以及流程 主从复制:将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将 ...
- 使用synchronized对并发性的影响
1 前言 非静态方法的同步锁是当前对象(this)(对象锁) 静态方法的同步锁是当前类的字节码(类锁) 不同的锁之间能并发 2 同一对象内 本节主类与资源类如下: class Resorce{ //资 ...
- 【OpenGL ES】绘制圆形
1 前言 [OpenGL ES]绘制三角形 中介绍了绘制三角形的方法,[OpenGL ES]绘制正方形中介绍了绘制正方形的方法,本文将介绍绘制圆形的方法. OpenGL 以点.线段.三角形为图 ...