JAVA之jdk5简单介绍

本文深入探讨了Java5引入的重要特性,包括foreach循环、静态导入方法、可变参数、数组转集合的功能及其实现方式。此外,还详细比较了不同遍历方式在进行删除操作时的行为差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

咳咳
尽管2018年 已经是java11代了
不过身为程序员 原来老版本的一些特性我也介绍一下(笔记参考)

JDK5的新特性
1.foreach
2.静态导入方法(开发基本不用。。算是废了 能看懂就行)
import static 包名.类名.方法名
3.可变参数 ( 方法
4.数组转集合( Arrays.asList(
5.自动拆箱 装箱

下面分别来讲解

foreach

增强for循环
底层是由Iterator 迭代器实现 !!

import java.util.ArrayList;

public class Main{
	public static void main(String[] args) {
		int arr[] = {1,2,3,4};
		for (int i : arr) {
			System.out.println(i);
		}
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		//fore+alt+/ 快速生成增强for循环
		//其寻找的是最近的数组 后者集合(统称容器
		for (String string : list) {
			System.out.println(string);
		}
	}
}

三种遍历 进行删除操作时的情况
普通for循环删除
迭代器删除
foreach删除

import java.util.ArrayList;
import java.util.Iterator;

public class Main{
	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("c");
		list.add("d");
		
		//普通for循环删除
		/*for(int i=0;i<list.size();i++) {
			if("b".equals(list.get(i))) {
				list.remove(i--);
			}
		}
		System.out.println(list);*/
		//迭代器删除      要避免出现并发修改异常    所以只能用迭代器自身的删除功能
		/*Iterator<String> it = list.iterator();
		while(it.hasNext()) {
			if("b".equals(it.next())) {
				it.remove();     
			}
		}*/
		//迭代器删除的另一种形式
		for(Iterator<String> it2 = list.iterator() ; it2.hasNext();) {
			if("b".equals(it2.next())) {
				it2.remove();     
			}
		}
		System.out.println(list);
		
		//3,增强for循环,增强for循环不能删除,只能遍历
		for (String string : list) {
			if("b".equals(string)) {
				list.remove("b");
			}
		}
		System.out.println(list);
	}
}

可变参数

public class Demo3_ChangeableArgs {

	/**
	 * * A:可变参数概述
			* 定义方法的时候不知道该定义多少个参数
		* B:格式
			* 修饰符 返回值类型 方法名(数据类型…  变量名){}
		* C:注意事项:
			* 这里的变量其实是一个数组
			* 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
	 */
	public static void main(String[] args) {
		int[] arr = {11,22,33,44,55};
		//print(arr);
		print(11,22,33,44,55);
		System.out.println("---------------");
		//print();
	}
	
	/*public static void print(int[] arr) {
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}*/
	
	
	public static void print(int ... arr) {			//可变参数其实是一个数组
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

数组转集合以及集合转数组

package com.heima.jdk5;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo4_AsList {

	/**
	 * 数组转换成集合
	 * 数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组,也就是说可以使用其他集合中的方法
	 */
	public static void main(String[] args) {
		//demo1();
		//demo2();
		//集合转数组,加泛型的
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		String[] arr = list.toArray(new String[10]);		//当集合转换数组时,数组长度如果是小于等于集合的size时,转换后的数组长度等于集合的size
															//如果数组的长度大于了size,分配的数组长度就和你指定的长度一样
		for (String string : arr) {
			System.out.println(string);
		}
	}

	public static void demo2() {
		//int[] arr = {11,22,33,44,55};			
		//List<int[]> list = Arrays.asList(arr);			基本数据类型的数组转换成集合,会将整个数组当作一个对象转换
		//System.out.println(list);
		Integer[] arr = {11,22,33,44,55};					//将数组转换成集合,数组必须是引用数据类型
		List<Integer> list = Arrays.asList(arr);
		System.out.println(list);
	}

	public static void demo1() {
		String[] arr = {"a","b","c"};
		List<String> list = Arrays.asList(arr);				//将数组转换成集合
		//list.add("d");									//不能添加
		System.out.println(list);
	}

}
本书综合介绍了使用J2SE(Java 2 Standard Edition)5.0或更高版本开发动态程序的过程,阐述了Java语言的各个方面,包括Java语言结构和工作原理的基本知识,用大量的实例讲述如何开发功能齐全的Java应用程序,以期帮助读者掌握Java语言的最新特性和Java类库中主要的功能包,积累Java应用环境的使用经验,并在核心技术领域打下坚实的基础。本书系统全面、浅显易懂,非常适合没有任何编程经验的初学者阅读,也可作为软件开发人员和高校师生的必备参考书。通过阅读本书,你可以借助J2SE 5.0这个最新、最出色的Java平台来学习Java编程。J2SE 5.0拥有强大的新特性和新功能,使Java性能产生了巨大的飞跃。新的Java平台所带来的丰富内涵使本书相比于过去的版本似乎稍厚了些,但是并不说明新的内容更复杂。当然,要想成为熟练的Java程序员,所需的基础知识会略有增多,但都不困难。只要有进取心和一点点对编程的领悟力,你就可以得到足够多的知识,成为一个高效的Java程序员。本书提供了规范化的学习方法,可帮助你事半功倍地完成学习。你不仅会学到一项相当流行的技术,而且做完一件值得做的事情将使人心旷神怡。尝试读本书吧,你肯定会喜欢的! 作为理想的面向对象的程序设计语言,Java以自身的简单性和强大功能成为Internet编程和跨平台开发中最常用的开发语言。本书以规范化的方式讲解Java编程。在介绍Java语言各个方面的过程中,一边解释有关Java语言结构和工作原理的基本知识,一边以大量的代码实例讲述如何开发功能齐全的Java应用程序。本书系统全面、浅显易懂,涵盖了从入门到精通的所有知识,以期帮助读者掌握Java语言的最新特性和Java类库中主要的功能包,积累Java应用环境的使用经验,并在核心技术领域打下坚实的基础。本书主要内容:有关Java语言程序工作原理的基本知识;运用语言要素的方法;在程序中保存数据的方法;定义及实例化类的方法;在交互式Web网页中建立applet的方法;实现图形化用户程序的技术;利用JDBC功能使用关系型数据库;成为一个熟练的Java程序员所需的一切知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑瞳丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值