java技术从入门到精通学习笔记_第1页
java技术从入门到精通学习笔记_第2页
java技术从入门到精通学习笔记_第3页
java技术从入门到精通学习笔记_第4页
java技术从入门到精通学习笔记_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、数组的相关操作l 在java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。l 数组的复制:system.arraycopy()。l 数组的排序:arrays.sort()。l 在已排序的数组中查找某个元素:arrays.binarysearch()。arraycopy (在java.lang.system.目录下) 数组元素的复制public static void arraycopy(object src, /要拷贝的数组对象 int srcpos, /*从数组对象的哪个位置开始拷贝元素*/ object dest, /目的数组 int

2、 destpos, /*从目的数组的哪个位置存放拷贝过来的元素*/ int length) /要拷贝元素的个数class arraytestpublic static void main(string args)int num1=new int1,2,3;int num2=new int3;system.arraycopy(num1,0,num2,0,num1.length);for(int i=0;i<num2.length;i+)system.out.print(num2i+" ");运行结果为: 1 2 3class arraytestpub

3、lic static void main(string args)point pts1=new pointnew point(1,1),new point(2,2),new point(3,3);point pts2=new point3;system.arraycopy(pts1,0,pts2,0,pts1.length);for(int i=0;i<pts1.length;i+)system.out.println("x="+pts2i.x+","+"y="+pts2i.y);pts21.x=5;pts21.y=5;syst

4、em.out.println("x="+pts21.x+","+"y="+pts21.y);class pointint x,y;point(int x,int y)this.x=x;this.y=y;运行结果为: x=1,y=1 x=2,y=2 x=3,y=3 x=5,y=5sort ( 在java.util.arrays目录下) 数组的排序import java.util.arrays;class arraytestpublic static void main(string args)int num=new int1,

5、4,3,2;arrays.sort(num);for(int i=0;i<num.length;i+)system.out.print(numi+" ");int index=arrays.binarysearch(num,2);system.out.println("index="+index);system.out.println("element="+numindex);class pointint x,y;point(int x,int y)this.x=x;this.y=y;运行结果为: 1 2 3 4 index=1

6、 element=2import java.util.arrays;class arraytestpublic static void main(string args) student ss=new studentnew student(3,"chenping"), new student(1,"zhangli"), new student(2,"liming") ; arrays.sort(ss); for(int i=0;i<ss.length;i+) system.out.println(ssi); class stud

7、ent implements comparableint num;string name;student(int num,string name)this.num=num;=name;public string tostring()return "num="+num+","+"name="+name;public int compareto(object o)student s=(student)o;return num>s.num? 1:(num=s.num? 0:-1);运行结果为: num=1,zhang

8、li num=2,liming num=3,chenpingimport java.util.arrays;class arraytestpublic static void main(string args) student ss=new studentnew student(3,"chenping"), new student(1,"zhangli"), new student(2,"liming"), new student(3,"abolt") ; arrays.sort(ss); for(int i=0;

9、i<ss.length;i+) system.out.println(ssi); class student implements comparableint num;string name;student(int num,string name)this.num=num;=name;public string tostring()return "num="+num+","+"name="+name;public int compareto(object o) /num序号相同则按字母排序student s=(

10、student)o;int result=num>s.num? 1:(num=s.num? 0:-1);if(0=result) result=pareto();return result;运行结果为: num=1,zhangli num=2,liming num=3,abolt num=3,chenping封装类l 针对八种基本数据类型定义的相应的引用类型封装类。基本数据类型封装类booleanbooleanbytebyteshortshortintintegerlonglongcharcharacterfloatfloatdoubledoubleclass类l 在java

11、中,每个class都有一个相应的class对象。也就是说,当我们编写一个类,编译完成后,在生成的 .class文件中,就会产生一个class对象,用于表示这个类的类型信息。l 获取class实例的三种方式:(1) 利用对象调用getclass()方法获取该对象的class实例;(2) 使用class类的静态方法forname(),用类的名字获取一个class实例;(3) 运用 .class的方式来获取class实例,对于基本数据类型的封装类,还可以采用.type来获取相对应的基本数据类型的class实例。class classtestpublic static void main(string

12、 args)point pt=new point();class c1=pt.getclass();system.out.println(c1.getname();tryclass c2=class.forname("point");system.out.println(c2.getname();catch(exception e)e.printstacktrace(); class c3=point.class;system.out.println(c3.getname();class c4=int.class;system.out.println(c4.getname(

13、);class c5=integer.type;system.out.println(c5.getname();class c6=integer.class;system.out.println(c6.getname();class pointint x,y;运行结果为: point point point int int java.lang.integerl 在运行期间,如果我们要产生某个类的对象,java虚拟机(jvm)会检查该类型的class对象是否已被加载。如果没有被加载,jvm会根据类的名称找到 .class文件并加载它。一旦某个类型的class对象已被加载到内存,就可以用它来产生该

14、类型的所有对象。l newinstance()调用类中缺省的构造方法。class classtestpublic static void main(string args)system.out.println("before new point()");point pt=new point();system.out.println("after new point()");tryclass.forname("line");catch(exception e)e.printstacktrace();class pointint x,y;

15、staticsystem.out.println("loading point");class linestaticsystem.out.println("loading line");运行结果为: before new point() loading point after new point loading lineruntime类和process类l 每一个java程序都有一个runtime类的单一实例。l 通过runtime.getruntime()获取runtime类的实例。l runtime类是使用单例模式的一个例子。class runtim

16、etestpublic static void main(string args)runtime rt=runtime.getruntime();/getruntime()为runtime类的公有的静态方法,/返回与当前请求相关的runtime类对象。system.out.println(rt.freememory();system.out.println(rt.totalmemory();l runtime类中的exec()方法能够运行外部的程序。public process exec(string command) throws ioexceptionclass runtimet

17、estpublic static void main(string args)runtime rt=runtime.getruntime();tryrt.exec("notepad");catch(exception e)e.printstacktrace();运行后会弹出“记事本”窗口l runtime类对象的exec()方法还可运行java原文件及class类文件import java.io.*;class runtimetestpublic static void main(string args)runtime rt=runtime.getruntime();tryprocess p=rt.exec("java arraytest");inputstream is=p.getinputstream();int data;while(data=is.read()!=-1)system.out.print(char)data);catch(exception e)e.printstacktrace();设计模式l 在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方案,这就是软件模式。l 每一个模式描述了一个在我们程序设计中经常发生的问题,以及该问题的解决方案。l 当我们碰到模式所

温馨提示

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

评论

0/150

提交评论