黑马程序员--JAVA基础加强之可变参数与增强for循环

本文详细探讨了Java编程中的可变参数、增强for循环、自动拆装箱、享元模式等高级特性和技术优化,旨在帮助开发者提升代码效率和理解深度。

------- android培训java培训、期待与您交流! ----------


可变参数( ... ):


可变参数的特点:


1.只能出现在参数列表的最后;


2. 三个点 ... 位于变量名和类型之间;


3.调用可变参数的方法时,编译器为该可变参数创建一个隐含的数组,在方法体内以数组的形式进行访问。


4.当出现可变参数的重载时,会优先选择不包含可变参数的重载方法





增强for循环:


格式:// 增强for循环括号里写两个参数,第一个是声明一个变量,第二个就是需要迭代的容器

for(   type  变量名 : Collection集合 & 数组 ) {

}


高级for循环和传统for循环的区别:

高级for循环在使用时,必须要明确被遍历的目标。这个目标,可以是Collection集合或者数组,如果遍历Collection集合,在遍历过程中还需要对元素进行操作,比如删除,需要使用迭代器。

如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为可以定义角标通过角标操作元素。如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写。



自动拆装箱:



java中数据类型分为两种 : 基本数据类型   引用数据类型(对象)

在 java程序中所有的数据都需要当做对象来处理,针对8种基本数据类型提供了包装类,如下:

int --> Integer

byte --> Byte

short --> Short

long --> Long

char --> Character

double --> Double

float --> Float

boolean --> Boolean

jdk5以前基本数据类型和包装类之间需要互转:

基本---引用   Integer x = new Integer(x);

引用---基本   int num = x.intValue();

1)Integer x = 1; x = x + 1;  经历了什么过程?装箱-->拆箱 -->装箱;

2)、为了优化,虚拟机为包装类提供了缓冲池,Integer池的大小 -128~127 一个字节的大小

3)String池:Java为了优化字符串操作 提供了一个缓冲池;



享元模式设计


使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件。

适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。

常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。



------- android培训java培训、期待与您交流! ----------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值