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—画小 ...
随机推荐
- 百度指数 Cipher-Text、百度翻译 Acs-Token 逆向分析
K 哥之前写过一篇关于百度翻译逆向的文章,也在 bilibili 上出过相应的视频,最近在 K 哥爬虫交流群中有群友提出,百度翻译新增了一个请求头参数 Acs-Token,如果不携带该参数,直接按照以 ...
- Fabric网络升级(四)
原文来自这里. 用户从v1.4.x升级到v2.x后,必须编辑通道配置来启用新的lifecycle功能.这个过程涉及到相关用户必须执行的一系列通道配置更新. 要启用新的chaincode lifecyc ...
- python从新手到安装指南
说到python我是跟着官方文档自学入门,本文适用于windows 操作系统,基于Inter和amd的CPU(涵盖市面80%的电脑) 下载和安装python 对于window操作系统的初学者,进入 p ...
- 我为什么从Windows转到Linux?
本文来自读者投稿! 大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步! 喔,看到这个标题千万不要以 ...
- Flask 框架:实现简单API测试接口
通过使用Python中Flask框架实现一个简单的API接口程序,用户可发送JSON格式的请求,服务器响应请求,并以JSON格式将数据返回给用户,此处代码是一个模板可以测试接口时使用. Flask代码 ...
- 利用 ASP.NET Core 开发单机应用
前言 现在是分布式微服务开发的时代,除了小工具和游戏之类刚需本地运行的程序已经很少见到纯单机应用.现在流行的Web应用由于物理隔离天然形成了分布式架构,核心业务由服务器运行,边缘业务由客户端运行.对于 ...
- .NET NativeAOT 指南
.NET NativeAOT 指南 随着 .NET 8 的发布,一种新的"时尚"应用模型 NativeAOT 开始在各种真实世界的应用中广泛使用. 除了对 NativeAOT 工具 ...
- JQ模糊查询插件
//构造函数写法 ;(function($,window,document,undefined){//注意这里的分号必须加 //插件的全部代码 var FazzSearch = function (e ...
- Docker从认识到实践再到底层原理(七)|Docker存储卷
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- 解决Python报错SSLError,如果试了网上一大堆方法还不行,看看这个吧!!
前言 这个问题困扰了群友一天,我怀着好奇心去试试看,不到5分钟给解决了哈哈. 报错代码 报错代码中对相关的host和url进行了替换,大家在网上发布内容也要注意隐私哈,多长个心眼子总没错. reque ...