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—画小 ...
随机推荐
- vue报错:'XX' is defined but never used no-unused-vars
参考地址:http://www.gold404.cn/info/87 导致这个报错的原因就是eslint校验, 就是你当初在vue创建脚手架的时候选择了eslint校验: 后面你绝对会碰到这样的报错, ...
- 每日一道Java面试题:Java是值传递还是引用传递?
写在开头 Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下. 实参与形参 所 ...
- python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}
相关文章和数据源: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] Python自动化办公--Pandas玩转Excel ...
- Python 实现文件关键字扫描
第一段代码用户传入一个文件夹,自动扫描文件夹内特定文件是否存在某些关键字,如果存在则输出该文件的路径信息. # coding=gbk import sys,os,re def spider(scrip ...
- Visual Basic 6的安装与辅助插件 - 初学者系列 - 学习者系列文章
好久没玩VB6了,今天无聊,就把原来的VB6相关的代码翻了出来,然后上了VMWare虚拟机,把VB6安装上,然后把架构设计那个模板找出来完善了一下.看了一下,VB6这块需要记录一些内容,于是有了本文. ...
- 零基础入门学习JAVA课堂笔记 ——DAY07
面向对象(下) 1. Instanceof 我们可以通过Instanceof关键词可以判断当前对象是否为某某类得父类 Object instanceof Student //true 注意:只有是两个 ...
- MySQL 中 针对表和列的注释,方便使用其生成的实体类。mybatis-generator
- .NET Avalonia开源、免费的桌面UI库 - SukiUI
前言 今天分享一款.NET Avalonia基于MIT License协议开源.免费的桌面UI库:SukiUI. Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建 ...
- 古猫先生 SATA系列博文转载
SATA专题文章列表 SATA系列专题之一:浅析Physical Layer物理层OOB信号 SATA系列专题之二:2.0 Link layer链路层概述 SATA系列专题之二: 2.1 Link l ...
- Apache HTTP Server、IIS反向代理设置
Apache HTTP Server 在 Apache 中设置反向代理,需要使用 mod_proxy 和相关的模块,如 mod_proxy_http.以下是一个基本的配置示例: 确保已经安装并启用了 ...