Java学习总结[C程序员的感悟]_第1页
Java学习总结[C程序员的感悟]_第2页
Java学习总结[C程序员的感悟]_第3页
Java学习总结[C程序员的感悟]_第4页
Java学习总结[C程序员的感悟]_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 学习总结 目录目录 第一章 第一章 JAVA 入门 入门 C 与与 JAVA 的差异 的差异 2 1 基本数据类型 2 2 类型转换 2 3 运算符 2 4 局部变量 2 5 一维数组使用方法与内存分配 2 6 多维数组内存分配 3 第二章第二章 JAVA 面向对象基础面向对象基础 3 2 1 对象的概念 3 2 2 类的概念 3 2 3 封装的概念 3 2 4 继承的概念 4 2 5 多态的概念 4 2 6 类的创建于使用 4 2 7 重载的概念 OVERLOADING 5 2 8 复写的概念 OVERRIDING 5 2 9 抽象类的概念 ABSTRACT 5 2 10 接口的概念 INTERFACE 5 2 11 内部类 6 2 12 异常的概念 7 2 13 包的概念 PACKAGE 8 2 14 访问权限 9 第三章第三章 JAVA 应用程序应用程序 9 3 1 多线程 9 3 1 1 多线程与多进程的概念 9 3 1 2 线程的创建 10 3 1 3 线程的操作方法 10 3 1 4线程的同步 synchronized 11 3 1 5线程间的同步通讯方法 12 3 2 文件 I O 操作 12 3 2 1 摘要 12 3 2 2 继承关系图 13 3 2 3 知识要点 13 最近因为工作的需要 学习了 java 和 android 的应用程序开发 费时一个多月 一个月之前 我还只是一个 C 程序员 在 C 的道路上算是积累的一些经验 学习 java 除了是工作需要的因素外 另外一部分原因就是想感受下面向对象的编程思想 第一章 第一章 Java 入门 入门 C 与与 java 的差异 的差异 我的 java 学习的时间大概是 1 周 感觉对 java 的掌握还是比较深入 算是入门了吧 能够这么 快入门 可能得益于有 C 语言的基础 还有就是有一个好老师 程序 Yuan 的习惯之一 一边学习一边练习 主要是找到编程的感觉 人的记忆分很多种 编程 感觉就是属于机械式记忆的一种 个人觉得看视频要要比看书要形象得多 所以我最初的学习是通 过看 mars 的 Java4Android 视频来了解 java 视频学习最大的问题在于费时间 有的人直接选择看书 或者来得更快些 那些经常看书的人就比较有福了 我在看视频的时候使用了 KMplay 的快速播放 模式 视频的播放速度是正常的 2 3 倍 对于一些冗长的细节甚至可以跳过 我将自己的 java 学习 也分为了三个阶段 第一部分是 java 程序设计基础 在这个阶段主要是掌握 java 最基本的语法 基 本的数据类型 变量 循环 选择 数组的使用 在主观的感受上 java 的基本语法与 C 语言没 有什么差别 相信 C 程序员可能都看过老美出过的一本叫做 C 陷阱与缺陷 的书 里面介绍了一 些 C 语言编写时应该注意的一些设计原则和编程技巧 java 基本上可以完美的避过这些问题 举个 最常见的例子 C 陷阱与缺陷 写到 if 0 variable 可以减少编程失误带来的问题 可是 java 要求 if 的条件表达式必须是 boolean 型 如果将程序写成 if variable 0 将是一个非法的语句 以下列出我所了解到的 C 与 java 在基本语法上的差异 1 基本数据类型 基本数据类型 JAVA的数据类型与 C 不完全一致 数据所占内存的长度也不完全一致 大家看仔细了 2 类型转换 类型转换 各种数据类型在进行强制类型转换的时候保持连个原则 一是转换前后的数据要相互兼容 而 是转换过程尽量不丢失精度 3 运算符 运算符 java 中运算符的优先级基本保持与 C 一致 获取当前线程的名字 thread isAlive 检查当线程是否被激活 setDaemon true 将线程设置为后台线程 对 java 来说 只要有一个前台线程正在运行这个进程就不会结束 由于将 myThread 设置为后台线程 所以当执行完 main 函数之后整个进程就结束了 thread1 join 强制运行 thread1 所引用的函数 join 还可以带参数以决定运行的时间 Thread sleep millsecond 线程的休眠 以毫秒为单位 thread1 interrupt 用来中断 thread1 的运行 3 1 4 线程的同步线程的同步 synchronized 同步代码块 同步方法 死锁 当几个不同的线程需要使用到两个以上的相同 同步资源 的时候 应该保证获取资源的顺 序是的一致性或释放资源的逆序 比如线程 th1 和 th2 都要使用到同步资源 A B 那么要保证 th1 和 th2 在获取 A B 是的顺 序都是 A B 或者是 B A 释放资源时的顺序要和获取资源要一致 否则当 th1 先获得 A 而 B 此时已经被 th2 获得 此时 th1 需要获取资源 B 而 th2 需要获 取资源 A 就会造成一直等待对方线程释放资源的情况 从而导致死锁 3 1 5 线程间的同步通讯方法线程间的同步通讯方法 wait notify notifyall 3 2文件文件I O操作操作 3 2 1 摘要摘要 Java 中要进行 IO 操作 需要导入 java io 包 Java 中的 File 类是唯一操作磁盘文件的类 Java 中的数据操作主要分为两种 1 字节流 OutputStrea InputStream 2 字符流 Writer Reader 这四个类都是抽象类 使用时 都必须依靠其子类实例化 Java 定义了两个特殊的流对象 System in 和 System out System in 对应键盘 是 InputStream 类 型的 程序使用 System in 可以读取从键盘上输入的数据 System out 对应显示器 可以向显示器上输 出内容 InputStreamReader 和 OutputStreamWriter 这两个类是字节流和字符流之间转换的类 InputStreamReader 可以将一个字节流中的字节解码成字符 OuputStreamWriter 将写入的字符编码 成字节后写入一个字节流 一个类实现了 Serializable 接口之后 此类的对象可以被序列化 就表示可以保存在文件之中 或 网络传输之中 如果不希望类中的某个属性被保存下来 可以用 transient 关键字声明属性 3 2 2 继承关系图继承关系图 3 2 3 知识要点知识要点 File 类 RandomAccessFile 类 流类 o字节流 InputStream 输入字节流 FileInputStream 文件输入流 DataInputStream PipedInputStream 管道输入流 ByteArrayInputStream 虚拟文件输入流 BufferedInputStream OutputStream 输出字节流 FileOutputStream 文件输出流 PrintStream 打印 DataOutputStream PipedOutputStream 管道输出流 ByteArrayOutputStream 虚拟文件输出流 BufferedOutputStream o字符流 Reader FileReader 文件 PipedReader 管道 BufferedReader Writer FileWriter 文件 PipedWriter 管道 PrintWriter 打印 BufferedWriter o其他流 管道流 PipedInputStream PipedWriter PipedOutputStream PipedReader 虚拟文件流 ByteArrayOutputStream ByteArrayInputStream 打印流 PrintStream Print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论