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:递归求阶乘

小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!

递归案例

B:兔子问题

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

兔子问题分析

实验结果

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

分析

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

分析

2:IO流(掌握)

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

(2)分类:

A:流向

输入流 读取数据

输出流 写出数据

B:数据类型

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

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

字节流与字符流

注意:

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

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

(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:复制视频

缓冲区类

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

猜你喜欢

转载自blog.csdn.net/java03_15/article/details/83415133