![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 62
cherrybomb1994
但行好事,莫问前程
展开
-
文件的读写 几种常见的方法
1.字节流和字符流选择字节流: 字节流读取的时候,读到一个字节就返回一个字节; 主要用于读取图片,MP3,AVI视频文件。字符流: 字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。2.处理流和节点流原创 2017-05-11 15:24:12 · 4719 阅读 · 0 评论 -
求二叉树的深度和宽度[Java]
求二叉树的深度和宽度[Java]这个是常见的对二叉树的操作。总结一下:设节点的数据结构,如下:class TreeNode { char val; TreeNode left = null; TreeNode right = null; TreeNode(char _val) { this.val = _val; }}1.转载 2017-09-21 10:14:38 · 1155 阅读 · 0 评论 -
Java SE (一)——标识符、关键字、类型
原创 2017-10-18 16:42:50 · 260 阅读 · 0 评论 -
Java SE(二)—— 表达式、流控制
原创 2017-10-18 16:45:59 · 199 阅读 · 0 评论 -
Java SE(三)—— 数组、字符串
原创 2017-10-18 16:48:38 · 226 阅读 · 0 评论 -
Java SE(四)—— 对象、类、接口(第一个版本)
原创 2017-10-18 16:50:29 · 272 阅读 · 1 评论 -
Java SE(四)——对象、类、接口 (第二个版本)
原创 2017-10-18 16:53:12 · 273 阅读 · 0 评论 -
Java SE(五)——高级语言特性(collection接口+异常)
原创 2017-10-18 16:55:54 · 255 阅读 · 0 评论 -
java 判断一棵二叉树是否为平衡二叉树
题目:输入一棵二叉树的根节点,判断该树是不是平衡的二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 有了求二叉树的深度的经验之后再解决这个问题,我们很容易就能想到一个思路:在遍历树的每个结点的时候,调用函数TreeDepth得到它的左右子树的深度。如果每个结点的左右子树的深度相差不超过1,按照定义它就是一棵平衡的二叉树。这种思路实现的代码如下:转载 2017-09-22 11:30:07 · 966 阅读 · 1 评论 -
java 求二叉树的深度 / 节点总数
1.判断根节点是否为空2.递归获取左子树的深度3.递归获取右子树的深度[java] view plain copy public int hight(Node node){ if(node==null){ return 0; }else{ int i=hight(node转载 2017-09-22 10:45:48 · 3017 阅读 · 0 评论 -
Java SE(六)—— 多线程
原创 2017-10-18 16:58:40 · 295 阅读 · 0 评论 -
深入理解Java虚拟机到底是什么
什么是Java虚拟机作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。我们都知道Java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的转载 2017-07-13 15:45:43 · 363 阅读 · 0 评论 -
循环、递归、迭代、遍历
/////////////////////////////////////////////////////////////////////////////////////表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. 大部分的递归转载 2017-07-12 15:35:02 · 461 阅读 · 0 评论 -
Java 键盘输入的方法
Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 以下将列出几种方法:单纯System.in:从控制台接收一个字符,然后将其打印出来import java.io.*;pu原创 2017-05-10 15:33:28 · 687 阅读 · 0 评论 -
Java 中main函数的参数
1、运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用。即当你在Java命令行后面带上参数,Java虚拟机就直接把它们存放到了main方法中的参数String数组里了。 这是在运行生成的class文件的时候传入的参数2、args是Java命令行参数,因为参数可以为多个,所以要用数组来存我们在DOS中执行Java程序的时候使用“ja原创 2017-05-12 15:12:24 · 22473 阅读 · 1 评论 -
java.toString() ,(String),String.valueOf的区别
在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。 常用的方法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。方法1:采用 Object#toString()方法请看下面的例子: Object转载 2017-05-12 15:47:13 · 380 阅读 · 0 评论 -
Java 网络编程
1、总述java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持:TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称 TCP / IP。UDP:UDP 是用户数据报协议的缩写原创 2017-05-16 20:47:35 · 274 阅读 · 0 评论 -
java中 HashMap和Hashtable,list、set和map 的区别(上)
HashMap 与Hashtable 区别1、HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。2、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。3、HashMap把Hashtab转载 2017-05-08 15:15:22 · 440 阅读 · 0 评论 -
java中Map,List与Set的区别 (下) -----better
Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存转载 2017-05-08 15:48:09 · 242 阅读 · 0 评论 -
JAVA 网络编程中,输出io方法——printWriter中write()和println()区别
最近学习JAVA网络编程,在服务器端和客户端产生一个Socket 后,两边各自用getIputStream()和getOutputStream()方法,构造各自的输入输出流。其中服务器端的Socket ssBufferedReader is=new BufferedReader(new InputStreamReader(ss.getInputStream()) );PrintWr转载 2017-05-17 11:07:25 · 650 阅读 · 0 评论 -
Java中,public class与class,以及main函数的一些说明
现在有个Java文件,文件名为hello.javaclass一个Java文件中可以有多个class,而且每个class还可以在前面加修饰:public,procteced,private等,不加也可以。不同修饰符代表这个类的作用域会有区别:作用域: 当前(父,超)类: 同一Package: 派生(子)类: 其他Package:原创 2017-05-09 10:59:53 · 4922 阅读 · 0 评论 -
final + static + final state
final:final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。 final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。 final修饰的属性表明是一个常数(创建后不能被修改)。 final修饰的方法表示该方法在子类中转载 2017-05-09 14:33:49 · 353 阅读 · 0 评论 -
接口interface + 抽象类abstract
抽象类:抽象方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。特点:抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。抽象类不能用来创建对象如果一个原创 2017-05-09 14:23:38 · 242 阅读 · 0 评论 -
自定义的异常处理
1、讲解因为项目中会出现特有的问题,而这些问题并未被Java所描述并封装对象。或者说,一些在项目需求中是异常,但是对于程序本身并不是异常的,Java自带的Exception类不会对其进行处理,那么就需要我们自己对原有的Exception类进行扩充,成为自定义的异常处理类异常Exception的父级就是Throwable类了,除了Exception类外,Throwable还有一个子类原创 2017-05-09 20:48:49 · 380 阅读 · 0 评论 -
Java SE(七)——IO文件
原创 2017-10-18 20:40:24 · 248 阅读 · 0 评论