贴段代码,有少许注释:
package ibees;
import java.util.Arrays;
public class BinarySearch {
/**
* @param args
*/
public static void main(String[] args) {
double[] src = new double[]{1.3,9.9,10.89,12.89,89.0};
System.out.println(new BinarySearch().binarySearch(src, 89.0));
}
/**
* 二分法查找
* */
public int binarySearch(double[] src, double des){
Arrays.sort(src);
int beginIndex = 0;
int endIndex = src.length-1;
int middle = (endIndex+beginIndex)/2;
while(src[middle] != des && beginIndex != endIndex){
//最后两项
if(beginIndex+1 == endIndex){
if(src[beginIndex] == des){
return beginIndex;
}else if(src[endIndex] == des){
return endIndex;
}else{
return -1;
}
}
//判断中间的数与给定数之间的关系
if(des > src[middle]){
beginIndex = middle+1;
}else if(des < src[middle]){
endIndex = middle-1;
}else{
return middle;
}
midd ......
1.修改项目的.project文件,保存,刷新工程。
在<natures>
…
</natures>
之间添加下列三行配置
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
2.项目属性————project facets————dynamic web module,java ......
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
把Java对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为Java对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
一. JDK类库中的序列化API
java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。
java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。、
只有实现了Serializable和Externalizable接口的类的对象才能被序列化。Externalizable接口继承自 Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而仅实现Serializable接口的类可以采用默认的序列 ......
public class Test {
public static void main(String args[]) {
System.out.println(Integer.toBinaryString(20)); //十进制-->2进制
System.out.println(Integer.toOctalString(20)); //十进制-->8进制
System.out.println(Integer.toHexString(20)); //十进制-->16进制
System.out.println(Integer.parseInt("10100", 2)); //2进制转换成十进制
System.out.println(Integer.parseInt("24", 8)); //8进制转换成十进制
System.out.println(Integer.parseInt("14", 16)); //16进制转换成十进制
  ......
局部变量:在函数或方法中的变量
实例变量:类的一个实例,就是一个对象。
成员变量:类中的变量(方法中的变量除外)
类变量: 类中的静态变量
局部,实例,成员变量,生存周期和作用域一致
类变量:作用域public全局的,private在本类中。生命周期和全局变量一致 ......
程序设计是解决问题思路的具体化.就像建造一座房子一样,用什么样的材料,建造什么风格的建筑,具体每个位置是什么... 不同的建筑师会有不同的方法. 而把完成某一特定问题的解决思路规范一下 就可以称作为一种设计模式.
程序设计中设计模式为我们在某一问题域提供了一种良好的实现方法参考,可以大大实现复用和高效。
下面我们简要看下java相关的设计模式吧
A 创建模式(对象的创建都是消耗系统资源,creattion模式就是有关创建的一些指导和原则)
1 Factory(工厂和抽象工厂)
2 Factory Method (工厂方法)
3 prototype(原型)
4 builder(创建)
5 singleton(单例)
B 结构模式(对象和对象之间是有微妙的关系的,structure模式是完成各类型对象之间的继承,实现,依赖关系,设计健壮系统的一些优良的模式参考)
6 facade(外观)
7 proxy(代理)
8 adapter(适配器)
9 bridge (桥梁)
10 Composite(合成)
11 Decorator(装饰)
12 Flyweight (享元)
C 行为模式(行为模式主要是 ......