java编程
lzc534650799
在校大学生
展开
-
java实现多线程的方式以及run方法和start方法的区别
1.java实现多线程的两种方式 1)java类继承Thread类 继承Thread类是实现java多线程的一种方式,但是实际上Thread类本身实现了Runnable接口,它代表了线程的一个实例。 启动线程唯一的方法就是调用Thread类的start()方法,这时候便开启了一个新的线程。 以下附上代码:原创 2016-10-20 09:05:12 · 1242 阅读 · 0 评论 -
java数组初始化以及数组拷贝
1.数组的声明 int[] a ;//这里只是声明了变量a,并没有将a初始化为一个真正的数组 int[] a = new int[100];//这里创建了一个可以存储100个整数的数组,当创建数值数组时,所有的元素都被初始化为0,boolean数组初始化为false,对象数组初始化为null值2.数组的初始化 int[] a = {2,4,5,7,8};//数组的长度由原创 2017-03-20 18:19:54 · 1687 阅读 · 0 评论 -
Java中的隐式参数和显示参数
public class Test{ private int num; public void add(int b){ b = a + b; }} 在上面的代码中,类Test中的方法add中的形参int b就是一个显示参数,它显示地表达了出来,算式b = a+b;其实可以表示为b = this.a + b;在这里,this就是个隐式的参数,原创 2017-03-20 19:12:41 · 1955 阅读 · 1 评论 -
斐波那契数列的非递归实现
1.斐波那契数列是什么 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)2.为什么要非递归 递归的好处:递归的代码很清晰,可读性好 递归的坏处:递归需要使用到系统的堆栈,空间消耗比非递归高很多,递归太深的话容易造成堆栈溢出,因此我们使用非递归来计算斐波那契数列。3.代码pack原创 2017-03-20 21:27:47 · 888 阅读 · 0 评论 -
Java中==和equals的区别
1.对于数值型数据的比较 int a = 1; int b = 1; System.out.println(a==b);//true注:对于数值型类型,==就是判断两个值相等不相等,相等返回true否则返回false。2.对于Object类型 Person p1= new Person("小明"); Person p2= new Person("小明");原创 2017-03-20 21:46:17 · 236 阅读 · 0 评论 -
Java不可改变字符串
1.什么是不可改变字符串 Java中的String类型是不可改变字符串,所谓的不可改变就是,一旦你对它赋值以后,它的值就不会再发生变化。 例: String a= "abc";//a = "abc" a = a+"def";//a = "abcdef" 你以为a的值已经发生了改变,但其实不是这样的,实际上Java虚拟机是重新开辟了一个内存,用来存储字符串"ab原创 2017-03-22 11:45:06 · 2405 阅读 · 0 评论 -
Java中重要知识点
1.String是一个类,不属于基本数据类型,属于引用类型。2.被final修饰的类不能被继承。3.String类为什么是final的,主要是为了“效率”和“安全性”。4.HashMap和HashTable的比较 HashMap是基于哈希表Map实现的,除了非同步(线程不安全)和允许使用null以外,和HashTable(父类是Dictionary)没啥区别。5.Java中的原创 2017-03-26 19:26:43 · 291 阅读 · 0 评论 -
动态规划求最大子数组的和
1.问题 输入一个整形数组,数组中的值有正整数也有负整数,数组中连续的一个或多个整数构成一个子数组,子数组的各个整数的和称为子数组的和,求最大的子数组的和,并给出该子数组,要求时间复杂度是O(n)。2.分析 设输入数组为a,设置一个数组b,b的各个元素均初始化为0,b[0]取a[0]和0中最大的一个值,然后b[i]取b[i-1]+a[i],a[i],0中比较大的值,思想就是如原创 2017-03-20 19:32:49 · 1262 阅读 · 0 评论