JAVA编程:老手进门:Java数组特性及基础利用技能...
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。技能|数组<Pstyle="TEXT-INDENT:2em">1.关于数组的特性<Pstyle="TEXT-INDENT:2em">1)在Java中,不管利用数组或容器,都有界限反省。假如越界操纵就会失掉一个RuntimeException非常。<Pstyle="TEXT-INDENT:2em">2)数组只能保留特定范例。数组能够保留基础范例,容器则不克不及。容器不以详细的范例来处置对象,它们将一切对象都按Object范例处置。<Pstyle="TEXT-INDENT:2em">3)容器类只能保留对象的援用。而数组既能够创立为间接保留基础范例,也能够保留对象的援用。在容器中可使用包装类,如Integer、Double等来完成保留基础数据范例值。<Pstyle="TEXT-INDENT:2em">4)对象数组和基础范例数组在利用上几近是不异的;独一的区分是对象数组保留的是援用,基础范例数组保留基础范例的值。<Pstyle="TEXT-INDENT:2em">2.关于数组界说<Pstyle="TEXT-INDENT:2em">1)数组在界说时,不克不及分派空间。只要界说完后,能够给数组分派空间。<Pstyle="TEXT-INDENT:2em">intnum[];<Pstyle="TEXT-INDENT:2em">num=newint;<Pstyle="TEXT-INDENT:2em">或<Pstyle="TEXT-INDENT:2em">intnum[]=newint;<Pstyle="TEXT-INDENT:2em">注重<Pstyle="TEXT-INDENT:2em">int[]num=newint[]{1,2,3};//ok<Pstyle="TEXT-INDENT:2em">int[]num=newint{1,2,3};//error;<Pstyle="TEXT-INDENT:2em">2)能够如许界说二维数组。<Pstyle="TEXT-INDENT:2em">int[][]num;<Pstyle="TEXT-INDENT:2em">//or<Pstyle="TEXT-INDENT:2em">num=newint[];<Pstyle="TEXT-INDENT:2em">num=newint;<Pstyle="TEXT-INDENT:2em">num=newint;<Pstyle="TEXT-INDENT:2em">num=newint;<Pstyle="TEXT-INDENT:2em">3)二维数组赋初值。<Pstyle="TEXT-INDENT:2em">int[][]num=newint[][]{1,2,3,4,5,5};//errorint[][]num=newint[][]{{1,2,3},{4,5,5}};//okint[][]num=newint[]{{1,2,3},{4,5,5}};//errorint[][]num={{1,2,3},{4,5,6}};//ok<Pstyle="TEXT-INDENT:2em">3.关于数组初始化<Pstyle="TEXT-INDENT:2em">对象数组在创立之初会主动初始化成null,由原始数据范例组成的数组会主动初始化成零(针对数值范例),(Char)0(针对字符范例)大概false(针对布尔范例)。<Pstyle="TEXT-INDENT:2em">4.数组有关援用的成绩<Pstyle="TEXT-INDENT:2em">int[]a1={1,2,3,4,5};<Pstyle="TEXT-INDENT:2em">int[]a2;<Pstyle="TEXT-INDENT:2em">a2=a1;//这里只是复制了一个援用<Pstyle="TEXT-INDENT:2em">看以下代码:<Pstyle="TEXT-INDENT:2em">publicclassArrays{publicstaticvoidmain(String[]args){int[]a1={1,2,3,4,5};for(inti=0;i<a1.length;i++)System.out.println("a1["+i+"]="+a1);int[]a2;a2=a1;for(inti=0;i<a2.length;i++)a2++;System.out.println("-----afterchangea2------");for(inti=0;i<a1.length;i++)System.out.println("a1["+i+"]="+a1);System.out.println("-----afterchangea2------");a2=333;System.out.println("a2="+a2);System.out.println("a1="+a1);System.out.println("-----a2------");for(inti=0;i<a2.length;i++)System.out.println("a2["+i+"]="+a2);}}<Pstyle="TEXT-INDENT:2em">了局:<Pstyle="TEXT-INDENT:2em">a1=1<Pstyle="TEXT-INDENT:2em">a1=2<Pstyle="TEXT-INDENT:2em">a1=3<Pstyle="TEXT-INDENT:2em">a1=4<Pstyle="TEXT-INDENT:2em">a1=5<Pstyle="TEXT-INDENT:2em">-----afterchangea2------<Pstyle="TEXT-INDENT:2em">a1=2<Pstyle="TEXT-INDENT:2em">a1=3<Pstyle="TEXT-INDENT:2em">a1=4<Pstyle="TEXT-INDENT:2em">a1=5<Pstyle="TEXT-INDENT:2em">a1=6<Pstyle="TEXT-INDENT:2em">-----afterchangea2------<Pstyle="TEXT-INDENT:2em">a2=333<Pstyle="TEXT-INDENT:2em">a1=333<Pstyle="TEXT-INDENT:2em">-----a2------<Pstyle="TEXT-INDENT:2em">a2=333<Pstyle="TEXT-INDENT:2em">a2=3<Pstyle="TEXT-INDENT:2em">a2=4<Pstyle="TEXT-INDENT:2em">a2=5<Pstyle="TEXT-INDENT:2em">a2=6<Pstyle="TEXT-INDENT:2em">数组a1和a2一直在操纵统一个对象。<Pstyle="TEXT-INDENT:2em">5.关于数组的相干操纵<Pstyle="TEXT-INDENT:2em">1)在Java中,一切的数组都有一个缺省的属性length,用于猎取数组中元素的个数。<Pstyle="TEXT-INDENT:2em">2)数组的复制:System.arraycopy()。<Pstyle="TEXT-INDENT:2em">3)数组的排序:Arrays.sort()。<Pstyle="TEXT-INDENT:2em">4)在已排序的数组中查找某个元素:Arrays.binarySearch()。<Pstyle="TEXT-INDENT:2em">6.关于数组的排序操纵<Pstyle="TEXT-INDENT:2em">1)对象数组排序,必需完成Comparable接口。<Pstyle="TEXT-INDENT:2em">importjava.util.Arrays;classStudentimplementsComparable{intnum;Stringname;Student(intnum,Stringname){this.num=num;this.name=name;}publicStringtoString()//重写toString()办法,以便main:System.out.println(ss);{return"number="+num+","+"name="+name;}publicintcompareTo(Objecto){Students=(Student)o;returnnum>s.num?1:(num==s.num?0:-1);}}classArrayTest{publicstaticvoidmain(String[]args){Student[]ss=newStudent[]{newStudent(1,"zhangsan"),newStudent(2,"lisi"),newStudent(3,"wangwu")};Arrays.sort(ss);for(inti=0;i<ss.length;i++){System.out.println(ss);}}}<Pstyle="TEXT-INDENT:2em">了局:<Pstyle="TEXT-INDENT:2em">number=1,name=zhangsan<Pstyle="TEXT-INDENT:2em">number=2,name=lisi<Pstyle="TEXT-INDENT:2em">number=3,name=wangwu<Pstyle="TEXT-INDENT:2em">2)以num为第一关头字,name为第二关头字排序<Pstyle="TEXT-INDENT:2em">importjava.util.Arrays;classStudentimplementsComparable{intnum;Stringname;Student(intnum,Stringname){this.num=num;this.name=name;}publicStringtoString(){return"number="+num+","+"name="+name;}publicintcompareTo(Objecto){Students=(Student)o;intresult=num>s.num?1:(num==s.num?0:-1);if(0==result){result=name.compareTo(s.name);}returnresult;}}classArrayTest{publicstaticvoidmain(String[]args){Student[]ss=newStudent[]{newStudent(1,"zhangsan"),newStudent(2,"lisi"),newStudent(3,"wangwu"),newStudent(3,"mybole")};Arrays.sort(ss);for(inti=0;i<ss.length;i++){System.out.println(ss);}}}<Pstyle="TEXT-INDENT:2em">了局:<Pstyle="TEXT-INDENT:2em">number=1,name=zhangsan<Pstyle="TEXT-INDENT:2em">number=2,name=lisi<Pstyle="TEXT-INDENT:2em">number=3,name=mybole<Pstyle="TEXT-INDENT:2em">number=3,name=wangwu<Pstyle="TEXT-INDENT:2em">7.关于java.util.Arrays<Pstyle="TEXT-INDENT:2em">1)java.util.ClassArrays’sarchitecture<Pstyle="TEXT-INDENT:2em">java.lang.Object<Pstyle="TEXT-INDENT:2em">|<Pstyle="TEXT-INDENT:2em">+--java.util.Arrays<Pstyle="TEXT-INDENT:2em">2)申明这个类供应的基础上都是静态办法,用户举行数组操纵,binarySearch():数组中特定元素的寻觅,equals():对照两个数组是不是相称(在不异地位上的元素是不是相称),fill():数组添补,sort():数组排序。再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种语言,用以产生「小应用程序(Applet(s)) 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种为 Internet发展的计算机语言 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页:
[1]