JAVA编程学习笔记,递归算法与IO流

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

1:递归(理解)

(1)方法定义中调用方法本身的现象

举例:从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,故事说。。。

(2)递归的注意事项

A:要有出口,否则就是死递归

B:次数不能过多,否则内存溢出

C:构造方法不能递归使用

(3)递归的案例:

A:递归求阶乘

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

递归案例

B:兔子问题

题目: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?

兔子问题分析

实验结果

C:递归输出指定目录下所有指定后缀名的文件绝对路径

分析

D:递归删除带内容的目录(小心使用)

分析

2:IO流(掌握)

(1)IO用于在设备间进行数据传输的操作

(2)分类:

A:流向

输入流 读取数据

输出流 写出数据

B:数据类型

字节流 A: 字节输入流 B: 字节输出流

字符流 A: 字符输入流 B: 字符输出流

字节流与字符流

注意:

a:如果我们没有明确说明按照什么分,默认按照数据类型分

b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

(3)FileOutputStream写出数据

A:操作步骤

a:创建字节输出流对象

b:调用write()方法

c:释放资源

B:代码体现:

FileOutputStream fos = new FileOutputStream("fos.txt");

fos.write("hello".getBytes());

fos.close();

C:要注意的问题?

a:创建字节输出流对象做了几件事情?

b:为什么要close()?

c:如何实现数据的换行?

d:如何实现数据的追加写入?

(4)FileInputStream读取数据

A:操作步骤

a:创建字节输入流对象

b:调用read()方法

c:释放资源

B:代码体现:

两种方式代码

两种方式图解

(5)案例:2种实现

A:复制文本文件

B:复制图片

C:复制视频

复制文本文件(其他类似)

(6)字节缓冲区流

A:BufferedOutputStream

B:BufferedInputStream

(7)案例:4种实现

A:复制文本文件

B:复制图片

C:复制视频

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

缓冲区类

四种字节流同一文件时间比较


你可能感兴趣的:(JAVA编程学习笔记,递归算法与IO流)