
Java
越丘
这个作者很懒,什么都没留下…
展开
-
Java入门程序HelloWorld
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}原创 2019-01-24 22:54:36 · 180 阅读 · 0 评论 -
JRE和JDK区别(jvm.dll和jar包的作用)
1. 定义JRE(Java Runtime Enviroment)是Java运行时环境。面向Java程序的使用者,而不是开发者。JRE是运行Java程序所必须环境集合,包含JVM标准实现及Java核心库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。JDK(Java Development Kit)是Java开发工具包,它提供了Java的开发环境(编...原创 2019-03-07 13:46:21 · 1627 阅读 · 0 评论 -
问题记录二
自限定型、枚举Enum<E extends Enum< E >>反射、Class接口中的所有方法自动地属于public,因此在接口中声明方法时,不必提供关键字public。但是在类中实现接口的时候一定要显式地将实现的方法声明为public接口中不能包含有实例域,但是可以包含常量,并且接口中的域将被自动设为public static final接口不是类,所以我们不...原创 2019-03-10 17:11:02 · 202 阅读 · 0 评论 -
问题整理一
自动生成文档,以/*开始,以/结束8种基本类型=4种整型+两种浮点类型+1种用于表示Unicode编码的字符单元的字符类型char+booleanPerson person; 只是声明了一个变量,这个变量将指向一个Person的对象Person person=new Person();才是实例化了一个类,并且将这个引用指向这个实例化的对象为A对象创建了一个实例。但在内存中开辟了两块空间。...原创 2019-03-07 20:45:15 · 242 阅读 · 0 评论 -
Java编程技巧
每一个类可以有一个main方法。这是一个常用于对类进行单元测试的技巧。例如,可在Employee类中添加一个main方法。如果想要独立的测试Employee类,只需要执行java Employee。如果Employee类是一个更大型应用程序的一部分,就可以使用java Application,Employee类的main方法永远不会执行。ij中也可以的,右键run就可以选择运行哪个main函数...原创 2019-03-07 21:13:01 · 129 阅读 · 0 评论 -
Java传参到底传的什么?(剖析)
1. 到底传值还是传引用?定个基调:传值,只有传值!八个基本类型传值是没有什么疑问的,那么类的实例化对象呢?当然也是传值,传的地址值。举个例子Person person=new Person();里面person是一个引用变量,它保存了我们刚刚实例化的一个对象的地址,在JVM的堆里面的地址(注意不是计算机内存的真实地址)。那么在我们将person当参数传递出去的时候传的就是这个地址值,收到参...原创 2019-03-07 23:56:43 · 757 阅读 · 0 评论 -
重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。用的是递归,每次递归构建左右子树,然后返回根节点,用哈希表先把里面的节点存起来方便后面查找,由于Java传对象都是传的地址,所以不会耗费很多空间和时间,...原创 2019-03-11 16:45:21 · 155 阅读 · 0 评论 -
二叉搜索树的后序遍历
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。二叉搜索树定义:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的...原创 2019-03-11 18:22:01 · 126 阅读 · 0 评论 -
树的子结构
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解题思路如下:每次找到一个节点就判断一次是不是子结构,如果不是那么再依次判断这个节点的左子树和右子树public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boo...原创 2019-03-11 20:00:56 · 108 阅读 · 0 评论 -
从上往下打印二叉树
题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。import java.util.*;public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> resultList=new A...原创 2019-03-11 21:01:30 · 116 阅读 · 0 评论 -
动态规划算法入门基础(爬楼梯、国王与金矿)
1. 动态规划算法题目描述:每次可以爬1个或2个台阶,问爬到第 n 个台阶,一共有多少种不同的方法。动态规划中包含三个重要的概念:最优子结构、边界、状态转移公式最优子结构是状态转移方程的的一个特例,状态转移公式是可以套用的F(1)=1; //边界F(2)=2; //边界F(n)=F(n-1)+F(n-2) (n&amp;amp;amp;amp;amp;amp;amp;amp;gt;=3); //状态转移方程,里面的n就是状态F(10)...原创 2019-03-01 09:14:36 · 567 阅读 · 0 评论 -
Java中的域,静态域,实例域
域所谓的域,是field的翻译,也就是我们常说的字段,或者属性。比如类的字段(属性),局部的,全局的。静态域也就是静态属性,我们可以单独为它设一个域,这个域又叫做类域。它是属于类的,不需要类的实例化就能够使用static{ int field1=1; int field2=2;}实例域我们创建实例之后这个域才被激活能够被使用,这个域是属于实例化对象的priva...原创 2019-03-09 16:28:44 · 1431 阅读 · 0 评论 -
用链表处理两数相加
1. 两数相加给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8...原创 2019-02-27 16:13:42 · 198 阅读 · 0 评论 -
2019.2.27Java学习记录
1. Java中经常报NullPointerException,那么Java中到底有没有指针- 原则上Java中是没有指针(pointer)的,只有引用(reference)- 但是reference是借鉴了C/C++中的指针思想- Java中的引用不能够delete,我们也不能够获取这个引用所存的内存地址,这就避免了程序员直接操纵内存里面的数据,不存在内存泄漏refence在Java里面...原创 2019-02-27 20:32:30 · 130 阅读 · 0 评论 -
Java无重复字符的最长子串
- 题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子...原创 2019-02-27 22:52:35 · 2413 阅读 · 1 评论 -
Java最长回文子串
- 题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”- 暴力法(写的时候调试了N次,很容易就出BUG了)class Solution { public String longestPalin...原创 2019-02-28 13:32:00 · 1422 阅读 · 0 评论 -
Java Z 字形变换
- 题目:Z 字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S II GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,...原创 2019-03-01 10:21:45 · 1158 阅读 · 1 评论 -
2019.2.26Java学习记录
1. Java创建数组int[] arr = {value0,value1,value2};int[] arr = new int{value0,value1,value2};int[] arr = new int[size];//new int[size]创建了一个数组,然后把这个数组的引用赋值给arr//数组获取其长度直接用arr.length就可以获取2.参数错误异常抛出th...原创 2019-02-26 17:56:06 · 99 阅读 · 0 评论 -
Java中continue、break、return跳出多重循环
1. continue:跳过一次循环,进入下一次循环2. break:结束整个循环,只会结束一层循环,比如说有两层for,那么break内层循环只会结束内层循环,继续执行外层循环3. break结束多层循环:设置标志位置结束整个代码块public class Main { public static void main(String[] args) { testbre...原创 2019-03-03 11:11:38 · 4760 阅读 · 0 评论 -
Java内联方法
inline Method(内联函数)就是指函数在被调用地地方直接展开,把这个内联函数当成主函数地一段代码直接执行,编译器在调用的时候不会像调用一般函数那样,函数句柄压栈,参数压栈,返回时参数出栈以及释放资源等,这样提高了程序的执行效率就是指函数在被调用地地方直接展开,把这个内联函数当成主函数地一段代码直接执行,编译器在调用的时候不会像调用一般函数那样,函数句柄压栈,参数压栈,返回时参数出栈以...原创 2019-03-08 18:09:46 · 2549 阅读 · 0 评论 -
什么情况下需要重写equals和hashcode方法
1. 为什么在写自定义的类的时候要重写equals?从Object里面继承的equal方法是这样的:public boolean equals(Object obj) { return (this == obj); }它只是简单比较了一下两个对象的地址是不是同一个,这很明显不符合我们的需求,所以要我们自己重写。2. 为什么要同时重写重写hashcode方法?未重...原创 2019-03-08 20:47:48 · 6781 阅读 · 0 评论 -
反转链表
输入一个链表,反转链表后,输出新链表的表头。用的循环,但是我估计栈和数组也是可以的/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution {publi...原创 2019-03-22 11:02:11 · 123 阅读 · 0 评论