-
Java连载94-增强for循环、IO流与文件
一、JDK5.0新特性
1.增强for循环
2.语法
for(类型 变量:数组名/集合名){}
集合想要使用增强for循环这种语法,集合需要使用泛型。
如果不使用泛型,那么需要哦使用Object类型来定义集合中的元素
package com.bjpowernode.java_learning; import java.util.*; public class D94_1_EnhanceForCirculation { public static void main(String[] args) { int[] a = {1,2,3,4,5,6}; //遍历 for(int i=0;i<a.length;i++) { System.out.println(a[i]); } System.out.println("================="); //使用foreach for(int e:a) {//int e代表的是集合或者数组中的每一个元素 System.out.println(e); } System.out.println("================="); //集合 Set<String> strs = new HashSet<String>(); strs.add("hdosafj"); strs.add("hdosafdfgdfgj"); strs.add("hdoyikiljsafj"); strs.add("hdojhgjsafj"); //使用foreach遍历 for(String s:strs) { System.out.println(s); } System.out.println("================="); //练习一个反例:集合不使用泛型 List l = new ArrayList(); l.add("josdajf"); l.add(45); l.add(false); //如果不使用泛型,那么需要哦使用Object类型来定义集合中的元素 for(Object o :l){ System.out.println(o); } System.out.println("================="); String[] ins = {"运动","音乐","旅行","美食"}; StringBuffer sb = new StringBuffer(); for(int i=0;i<ins.length;i++) { if(i==ins.length-1) { sb.append(ins[i]); }else { sb.append(ins[i]); sb.append(","); } } //以上的循环就不适用增强for,因为最后一个元素无法特殊处理 } }
3.关于增强for循环的缺点:
(1)没有下标;
二、IO流与文件
1.流根据方向可以分为:输入流和输出流。
2.注意:输入流和输出流是相对于内存而言的。从内存里出来就是输出流,到内存中去就是输入。输入流又叫做InputStream,输出流又叫做OutputStream,输入还叫做“读read",输出又称为”写write"。
3.流根据读取数据可以分为:字节流和字符流,字节流是按照字节的方式进行读取,字符流是按照字符的方式进行读取。一次读取两个字节。java语言中一个字符占用两个字节。
4.字节流适合读取视频、声音、图片等二进制文件。例如:word文件,实际上这不是纯文本文件,它是一种二进制文件。
5.字符流适合读取,纯文本文件。
6.java语言中所有的字节流都是以Stream结尾,所有的字符流都含有Reader或者writer。
7.需要掌握的16个流:
在这个包下:java.io*;
(1)FileInputStream
(2)FileOutputStream
(3)FileReader
(4)FileWriter
带缓存的
(5)BufferedReader
(6)BufferedWriter
(7)BufferedInputStream
(8)BufferedOutputStream
读取数据的
(9)DataInputStream
(10)DataOutputStream
(11)ObjectInputStream
(12)ObjectOuputStream
转换流(字节流转化为字节流)
(13)InputStreamReader
(14)OutputStreamWriter
(15)PrintWriter
(16)PrintStream
三、源码:
D94_1_EnhanceForCirculation.java
https://github.com/ruigege66/Java/blob/master/D94_1_EnhanceForCirculation.java
出 处:https://www.cnblogs.com/ruigege0000/p/12446044.html