遞歸
- 遞歸解決問(wèn)題的思想
做遞歸要寫(xiě)一個(gè)方法
找到出口條件
找到規(guī)律
/**
* 做遞歸要寫(xiě)一個(gè)方法
* 返回值類(lèi)型: int
* 參數(shù)列表: int n
* 出口條件:
* if(n== 1){return 1;}
*
* 規(guī)律:
* if (n != 1){return n * 方法名(n-1):}
*
* */
public static int jieCheng(int n) {
if (n == 1){
return 1;
}else {
return n * jieCheng(n - 1);
}
}
IO流概述
- IO流用來(lái)處理設(shè)備之間的數(shù)據(jù)傳輸
- 上傳文件和下載文件
- Java對(duì)數(shù)據(jù)的操作是通過(guò)流的方式
- Java用于操作流的對(duì)象都在IO包中
IO流分類(lèi)
按照數(shù)據(jù)流向
輸入流 讀取數(shù)據(jù)
輸出流 寫(xiě)出數(shù)據(jù)
按照數(shù)據(jù)類(lèi)型
字節(jié)流
字節(jié)輸入流 讀取數(shù)據(jù) InputStream
字節(jié)輸出流 寫(xiě)出數(shù)據(jù) OutputStream
字符流
字符輸入流 讀取數(shù)據(jù) Reader
字符輸出流 寫(xiě)出數(shù)據(jù) Writer
字節(jié)流寫(xiě)數(shù)據(jù)
FileOutputStream的構(gòu)造方法
FileOutputStream(File file)
FileOutputStream(String name)
字節(jié)流讀取數(shù)據(jù)
FileInputStream的構(gòu)造方法
FileInputStream(File file)
FileInputStream(String name)
FileInputStream的成員方法
public int read():一次讀取一個(gè)字節(jié)
public int read(byte[] b):一次讀取一個(gè)字節(jié)數(shù)組
我們先來(lái)看下字節(jié)輸入流操作步驟:
A:創(chuàng)建字節(jié)輸入流對(duì)象
B:調(diào)用read()方法讀取數(shù)據(jù)泛范,并把數(shù)據(jù)顯示在控制臺(tái)
C:釋放資源
字節(jié)流復(fù)制數(shù)據(jù)
數(shù)據(jù)源:從哪里來(lái)
a.txt – 讀取數(shù)據(jù) – FileInputStream
目的地:到哪里去
b.txt – 寫(xiě)數(shù)據(jù) – FileOutputStream
字節(jié)緩沖流
字節(jié)流一次讀寫(xiě)一個(gè)數(shù)組的速度明顯比一次讀寫(xiě)一個(gè)字節(jié)的速度快很多泻肯,這是加入了數(shù)組這樣的緩沖區(qū)效果叠纹,java本身在設(shè)計(jì)的時(shí)候玉控,也考慮到了這樣的設(shè)計(jì)思想(裝飾設(shè)計(jì)模式)疲吸,所以提供了字節(jié)緩沖區(qū)流
這種類(lèi)被稱(chēng)為:緩沖區(qū)類(lèi)(高效類(lèi))
字節(jié)緩沖輸出流
BufferedOutputStream
字節(jié)緩沖輸入流
BufferedInputStream