Java连载94-增强for循环、IO流与文件

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

2.CSDN:https://blog.csdn.net/weixin_44630050

3.云海天:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料