- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA进阶之旅
JAVA进阶之旅(一)
for循环在我们的开发中是非常非常的多的,但是有多少人会用增强for循环?其实还是有很多人会用哈,但是还是有很多人一知半解,我们来看一下增强for循环的格式是怎样的
语法
for(type 变量名:集合变量名){….}
注意事项
1.迭代变量必须在括号内定义
2.集合变量可以是数组或实现了iterable接口的集合类
我们写一个小例子来查看一下就知道了
public class ForClass {
public static void main(String[] args) {
int[] mInt = { 1, 3, 5, 7, 9 };
for (int x : mInt) {
System.out.println(result: + x);
}
}
}
输出的结果也是总所周知,全部输出来了,这里就不演示了 ,这就是比较简单的增强for循环了
二.基本数据类型的自动拆箱与装箱
这个基本数据类型的拆箱与装箱是什么呢?这样,我们用思路来说明,我们看这段代码
Integer num1 = 3;
如果详细分析的话,应该是把一个基本数据类型3装箱成了Integer 赋值给了num1,如果你使用过以前的JDK版本,具体是几,好像是1.5还是1.6之前是会报错的,再来看下拆箱,其实可以看一下这段代码
System.out.println(num1 + 3);
Integer 和3相加,是等于6,在现在的JDK版本早就支持了自动拆箱和装箱,所以我们现在只要了解一下就好了,这里要注意以下int范围是-128–127,如果超过了就GG
三.享元设计模式(flyweight)
同样的,这里会牵扯到一个设计模式,如果我们需要很多个对象,但是每一个对象的使用方法都是一样的,数据也是一样的,所以我们就没必要创建这么多,就创建一个就好了,可重复利用,这个就是享元设计模式了,是不是很简单
四.枚举的概述
说道枚举,他是JDK1.5新增加的一个概念,其实现在开发用的相对还是比较少的, 但是你如果翻阅12年上下的代码,你可以看到很多的枚举的影子,他到底是什么呢?我们来深入了解了解
1.我们为什么要用枚举
说道这个,我们先来看个例子,比如要定义星期几或者性别的变量,我们该怎么去定义?假设用1-7分别表示星期一到星期日,但是有人可能会写成等于0去了
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现的这一目标
2.用普通类如何实现枚举功能
我们可以模拟一下试试看,需要做的事情有
私有的构造方法
每个元素分别用一个公有的静态变量表示
可以有若干公有方法或抽象方法
我们先用基本的JAVA类来演示一下枚举的作用
public class WeekDay {
private WeekDay() {
};
public final static WeekDay SUN = new WeekDay();
public final static WeekDay MON = new WeekDay();
public WeekDay nextDay() {
if (this == SUN) {
return MON;
} else {
return SUN;
}
}
public String toString() {
return this == SUN ? SUN : MON;
}
}
这个是我们用普通的方式来实现枚举的思想,这也是可以的,但是我们JAVA中提供了枚举的应用姿势:
五.枚举的应用
其实但从枚举来说,使用起来还是比较简单的,我们来看下是什么?
public class ForClass {
public static void main(String[] args) {
WeekDay weekDay = WeekDay.THI;
System.out.println(weekDay);
System.out.println(weekD());
System.out.println(weekDay.ordinal());
}
public enum WeekDay {
SUN, MON, TUE, WED, THI, FRI, SAT
您可能关注的文档
- HTML代码题材.doc
- 财务部固定资产管理制度_行政类最终版题材.doc
- HTML语言入门教程^题材.doc
- 财务管理习题题材.doc
- 第4章层流和紊流、液流阻力和水头损失题材.ppt
- 财务审计与绩效审计的比较题材.doc
- 裁模零组立题材.doc
- 盐酸异丙嗪答辩.pptx
- hudson安装及其配置题材.doc
- 第4章插补原理刀补原理与速度控制题材.ppt
- 2025年湖北省文化旅游投资集团有限公司人员招聘笔试模拟试题及答案详解(易错题).docx
- 山东财金集团简介有答案详解.docx
- 2025浙江衢州市技师学院招聘高层次紧缺人才5人笔试模拟试题及参考答案详解一套.docx
- 2025福建海峡联合研究院冷冻电镜平台人才招聘6人笔试模拟试题及答案详解(名校卷).docx
- 2025年山东铁路投资控股集团有限公司招聘笔试备考试题附答案详解(典型题).docx
- 2025年厦门港务控股集团有限公司招聘笔试备考试题及答案详解(夺冠系列).docx
- 2025年省国有资本运营控股集团有限公司校园招聘笔试备考试题参考答案详解.docx
- 文案内容简介4s k e call of pripyat-manualS T K E R CAL.pdf
- 段落信息定位答案.pdf
- 甲胺专着2587 cephalexin capsules2586-头孢蛋白胶囊.pdf
文档评论(0)