教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

06包与Java常用类_旺旺老师JavaSE(测试版后期会更新)(2)

来源:网络收集 时间:2026-05-05
导读: 旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。 主题:旺旺老师软件工程师实训教程--

旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。

主题:旺旺老师软件工程师实训教程--JAVASE 第六章:包与JAVA常用类假如有两变量: int a = 10; Integer b = new Integer(10);他们的内存表示如下图所示:

大家看到,基本数据类型变量只在栈中分配一块内存,而包装类在栈和堆中各占一块。

JAVA语言是面向对象的语言,但它不是所有的设计思想都符合面向对象的,这里大家要知道java不符合面向对象的两个地方:一个是JAVA保留了8个基本数据类型,他们不是对象,更没有属性和方法;另一个就是JAVA中存在着main方法。

包装类可以完成基本数据类型所有的功能,如数数据存储,并且他们是类,拥有属性和方法,也就是有自己的新功能,那有些同学就会想,既然有更强大的包装类,SUN为什么还要保留那八个不是对象的基本数据类型呢?这设计到效率与需求的问题。

上课经常给学生讲这个例子,比如你家有爷爷奶奶父母你五口人,现在需要每人配备一部手机。市面上的手机有两种:便宜的只能通话的手机,昂贵的功能齐全的智能手机。一般的话我们会根据需求来购买,爷爷奶奶没什么要求买个普通的就行,您要上网要拍照要视频要显摆那就买个智能手机吧;其实如果您家太有钱的话给每人一部智能手机也没问题。

JAVA中也是一样,上面我们知道,包装类分配两块内存空间,存放具体数值的数据在堆中,而堆内存的分配比较占用系统资源,而且使用完毕后需要垃圾回收车回收,而我们平时在程序中要大量使用如数字这些变量,他们只做简单的存储,完全没必要使用包装类,那这样不如保留基本数据类型,它在完成功能的同时又不会占用过多的资源, SUN也是基于这样的考虑保留了JAVA中的基本数据类型。

6.2.2自动拆箱与装箱

我们把数据由基本数据类型转换为对应包装类叫做装箱,把数据由包装类转化为基本数据类型叫拆箱。在JDK1.5前在java中实现装箱与拆箱的代码如下:

旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。

主题:旺旺老师软件工程师实训教程--JAVASE第六章:包与 JAVA 常用类package com.wangwang; public class Test { public static void main(String[] args) { int a = 10; Integer b; int c; //装箱,基本数据类型-->包装类 b = Integer.valueOf(a); //拆箱,包装类-->基本数据类型 c = b.intValue(); } }上面的代码比较繁琐,在 JDK1.5 中提出的一个新功能就是自动装箱和拆箱,代码如下 所示:package com.wangwang; public class Test { public static void main(String[] args) { int a = 10; //自动装箱,基本数据类型-->包装类 Integer b = a; //自动拆箱,包装类-->基本数据类型 int c = b; } }大家看,这样是不是很简单啊! 这里旺旺老师再给大家说下语言的共同性,所谓“天下语言本一家,你抄我来我抄 它”,比如 SUN 公司发明 JAVA 后,微软把 JAVA 除去跨平台的优点抄抄改改后发明了 C#, 当然又加入了自己的一些新东西,比如自动拆箱装箱泛型等。完了在 JAVA 升级时又把 C#中页面 8 / 18 旺旺老师,版权所有

旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。

主题:旺旺老师软件工程师实训教程--JAVASE第六章:包与 JAVA 常用类这些功能拿过来所用,所以我们在 JDK1.5 时看到了 JAVA 也支持自动拆箱与装箱了,这也算 SUN 抄的微软的东西吧,哈哈,是不是很有意思的事情。6.2.3 包 装 类 的 常 用 方 法首先看 Character 类的常用方法,如下图: 基本数据类型 isDigit() isLetter() isLowerCase() isUpperCase() 包装类 确定字符是否为 0 至 9 之间的数字 确定字符是否为字母 确定字符是否为小写形式 确定字符是否为大写形式注意这些方法都是通过类名点方法名访问的,我们称为静态方法,具体知识后面讲到面向对 象时再说明。看下例:package com.wangwang; public class TestCharacter { public static void main(String[] args) { int count; char[] values = {'*', '7', 'p', ' ', 'P'}; for (count = 0; count < values.length; count++) { if (Character.isDigit(values[count])) { System.out.println(values[count] + "是一个数字"); } if (Character.isLetter(values[count])) { System.out.println(values[count] + "是一个字母"); } if (Character.isUpperCase(values[count])) { System.out.println(values[count] + "是大写形式"); } } } }下面讲解怎么把一个字符串类型变为数字类型,这个在项目代码中使用的非常多,因为 在界面我们虽然输入的是数字,但在程序代码中首先得到的是字符串如:“123”,这样我 们需要把字符串类型转化为数字类型:这您可以使用数字类型对应的 valueOf()方法,也可以 使用 paseXXX()方法,同时 valueOf ()与 paseXXX ()也是静态方法,通过类名点方法名调用:页面 9 / 18 旺旺老师,版权所有

旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。

主题:旺旺老师软件工程师实训教程--JAVASE第六章:包与 JAVA 常用类package com.wangwang; public class TestValueOf { public static void main(String[] args) { String number = "12"; System.out.println("没转换前" + (number + 1)); Byte byNum = Byte.valueOf(number); Short shNum = Short.valueOf(number); Integer num = Integer.valueOf(number); Long lgNum = Long.valueOf(number); System.out.println("转换后"); System.out.println(byNum + 1); System.out.println(shNum + 1); System.out.println(num + 1); System.out.println(lgNum + 1); System.out.println("使用paseXXX转换:"); System.out.println(Integer.parseInt(number) + 1); System.out.println(Float.parseFloat(number) + 1); } }6.3 STRIN G 类这个类前几章我们也有接触,今天学习 String 类给我们提供的一些方法。?equals(String a):比较两个字符串的值是否相等。这里我们主要讲解 equals()与==的区别。 我们已经知道 String 是类,所以它是引用数据类型,也就是说创建 String 类的对象会 在内存中分配两块内存空间。比如如下代码:public static void main(String[] args) { String a = new String("wangwang"); String b = new String("wangwang"); System.out.println("(a == b) = " + (a == b)); System.out.println("(a.equals(b)) = " + a.equals(b)); }页面 10 / 18旺旺老师,版权所有

旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作 …… 此处隐藏:4142字,全部文档内容请下载后查看。喜欢就下载吧 ……

06包与Java常用类_旺旺老师JavaSE(测试版后期会更新)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/119995.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)