Java第十八天

1.collection集合

1.1list接口。

①有序集合(储存和取出元素顺序相同)。
②允许存储重复元素。
③有索引。

1.2Set接口。

①不允许存储重复元素。
②没有索引(不能使用普通的for循环遍历)。

2.iterator迭代器。

Java中的Iterator功能比较简单,并且只能单向移动:

 (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
 (2) 使用next()获得序列中的下一个元素。
 (3) 使用hasNext()检查序列中是否还有元素。
 (4) 使用remove()将迭代器新返回的元素删除。

3.异常处理

3.1编辑器异常。

3.2运行期异常。

运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

3.3如何处理异常

①自己抛出
②别人抛出

程序代码及运行结果。

package demo01;

import java.util.ArrayList;
import java.util.Collection;

public class Demo01Collection {
    
    
	public static void main(String[] args) {
    
    
		Collection<String> coll=new ArrayList<>();
		System.out.println(coll);
		boolean b1=coll.add("张三");
		System.out.println(b1);
		System.out.println(coll);
		coll.add("李四");
		coll.add("李四");
		coll.add("王五");
		coll.add("赵六");
		System.out.println(coll);
		
		boolean b2=coll.remove("王五");
		System.out.println(b2);
		System.out.println(coll);
		
		boolean b3=coll.contains("王五");
		System.out.println(b3);
		
		boolean b4=coll.contains("赵六");
		System.out.println(b4);
		
		boolean b5=coll.isEmpty();
		System.out.println(b5);
		
		int b6=coll.size();
		System.out.println(b6);
		
		Object[] arr=coll.toArray();
		System.out.println(arr[0]);
		
		coll.clear();
		System.out.println(coll);
		b5=coll.isEmpty();
		System.out.println(b5);
	}
}

在这里插入图片描述

package demo01;

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

public class Demo02Iterator {
    
    
	public static void main(String[] args) {
    
    
		Collection<String> coll=new ArrayList<>();
		
		coll.add("周敏");
		coll.add("袁雪华");
		coll.add("郑志丹");
		coll.add("张艳菊");
		coll.add("范丞丞");
		coll.add("贾玲");
		
		Iterator<String> it=coll.iterator();
		
		if(it.hasNext()) {
    
    
			String e=it.next();
			System.out.println(e);
		}
		if(it.hasNext()) {
    
    
			String e=it.next();
			System.out.println(e);
		}
		
		while(it.hasNext()) {
    
    
			String e=it.next();
			System.out.println(e);
		}
		System.out.println("====================");
		for(Iterator<String> it2= coll.iterator();it2.hasNext();) {
    
    
			String e=it2.next();
			System.out.println(e);
		}
		System.out.println("==========第三次==========");
		//增强型for循环
		for(String s:coll) {
    
    
			System.out.println(s);
		}
		
		System.out.println("==========第四次==========");
		int[] arr1= {
    
    45,2,4,6,8,};
		for(int i=0;i<arr1.length;i++)
		{
    
    
			System.out.println(i);
		}
		for(int i:arr1) {
    
    
			System.out.println(i);
		}
	}
}

在这里插入图片描述

package demo02;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo01Exception {
    
    
	public static void main(String[] args) {
    
    
		//编译期异常
		SimpleDateFormat sdf=new  SimpleDateFormat("yyyy-MM-dd");
		 Date date=null;
		 try {
    
    
		 date=sdf.parse("2021-05-11");
		 }
		 catch(ParseException e) 
		 {
    
    
		 e.printStackTrace();
		 }
			 System.out.println(date);
			 //runtimeException  运行期异常
			 int[] arr= {
    
    1,2,3};
			 System.out.println(arr[0]);
			 //有问题但是不会提示,因为能编译通过,在执行的时候才会异常
			 try {
    
    
				 System.out.println(arr[2]);
			 }catch(Exception e) {
    
    
				 System.out.println("第一句测试"); 
				 System.out.println(e); 
			 }
			 //error 错误
			 int[] arr2=new int[1024*1024*1024];
			 System.out.println("后续代码");
			 
	}

}

在这里插入图片描述

package demo02;

public class Demo02Throw {
    
    
	public static void main(String[] args) {
    
    
		int[] arr=new int[3];
		//int[] arr=new int[3];
		int e=getElement(arr,3);
		System.out.println(e);
		
	}
	public static int getElement(int[] arr,int index) {
    
    
		if(arr==null) {
    
    
			throw new NullPointerException("传递的数组值是null");
		}
		if(index<0||index>arr.length-1) {
    
    
			throw new ArrayIndexOutOfBoundsException("传递的索引超出数组正常的使用范围");
		}
		int ele=arr[index];
		return ele;
	}

}

在这里插入图片描述

package demo02;

import java.io.FileNotFoundException;
import java.io.IOException;

public class Demo03Throws {
    
    
	//public static void main(String[] args) throws FileNotFoundException, IOException{
    
    
		//public static void main(String[] args) throws IOException{
    
    
	public static void main(String[] args) throws Exception{
    
    
		readFile("c:\\a");
	    System.out.println("后现代码");
	}
	public static void readFile(String string) throws FileNotFoundException, IOException {
    
    
    	if(!string.equals("c:\\a.txt")) {
    
    
    		throw new FileNotFoundException("传递的文件不是c:\\a.txt");
    	}
    	if(!string.endsWith(".txt")) {
    
    
    		throw new IOException("文件后缀名有无");
    	}
    	 System.out.println("文件正确");
	}

}

在这里插入图片描述

大数据2005班周敏2020080605048

猜你喜欢

转载自blog.csdn.net/qq_54262540/article/details/116663923