java语言学习指南_第1页
java语言学习指南_第2页
java语言学习指南_第3页
java语言学习指南_第4页
java语言学习指南_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、1、 Java文件的名字和public类的名字相同,若无public类,则文件名可随意命名。2、 println自动换行,print不换行。3、 变量类型:int、long、short、float、double、char、String、byte、boolean.4、 d、“dd”。5、 Long num=223424535353453L,注意当值大于int的最大值时,要在末尾加上“L”,num=java.lang.Long.MAX_VALUE; 取num的最大值,java.lang可省略。6、 溢出。溢出的解决方法: 7、 转义字符: 应用:char=”; 8、 float a=3.0f; 输

2、出:3.0;double b=3.400(d/D);输出:3.4 double c=3.4000f;输出:3.4000000953674316,即十六位。9、 int a; float b, c; a=b/c; a=(float)b/c;10、 if(a>b) a=c; else b=c; ó c = (a>b) ? a : c ; 11、 if() else if () else if() else;12、 switch语句用法:13、 dowhile.语句的使用:14、 break语句和continue语句的使用:既是break离开循环,而continue则是结束本次

3、循环,使循环回到程序开始之处,进行剩下的循环。15、 一维数组的应用: socre.length可取得数组的长度。16、 数组可不申明长度而直接赋值。17、 Java语言中可连等,例:a=b=c;。但末尾即c要有初值。18、 数组的使用:int a; int b; b=10; a=new int b;19、 数组的复制:从数组source复制到数组dest。C为小写。20、 数组的排序:从小到大排序数组。21、 二维数组的申明,并且允许每行元素的个数不同,例 int num=23,23,23,23,23,23,23,23,23。22、 二维数组长度的获得:23、多维数组,以三维数组为例,注意大

4、括号的使用。23、 类似于C+中的函数编写及其引用。其中,void可以被替换为其他数据类型(int) ,也可为函数添加参数。24、 数组的传递:一位数组的传递:数组长度通过.length函数实现传递。二维数组的传递: 返回数组,如下例所示:25、 类的申明:类的名称首字母要大写,其格式如下:public class xxxPerson p;(申明变量) p=new Person();(对申明的变量p实例化)p.a=12;p.b=d;(对p的a和b赋值)pprint();(调用print()函数)class Personint a ;char b;(申明变量时,若加private则为私有变量,否

5、则为共有变量。函数的申明也是如此,极为函数的封装。当加想为private变量赋值时,可以通过建造public函数的方法来实现,即与C+的处理方法相同。)void print()System.out.println(“ksjhks”); 其中,public类和非public类的顺序可调换,不影响程序的运行。26、 数据类型的传递(取代C+中的指针,可直接传递),例:class Personint num;char name; Public class Tset Person a=new Person();Person b=new Person();=12; =d; b=a;

6、 输出b的参量属性,b的name为d,num值为12。27、 实例说明,注意非public类中变量在public类中的引用。28、 匿名变量:对于一个非public类(Person),可以直接引用,例如:System.out.println(new P)。29、 构造函数,即为非public类函数赋予初始值的函数,与非public类具有相同的名称。此处与C+具有相同的处理方法。30、 当构造函数有参数时(Person(int a,char b),则在申明Person类型变量时,则必须带有参数(Person m=new Person(12,s),如果想即可带参数,又可不带参数

7、,则要添加一个不带参量的构造函数Person(),既有两个构造函数。31、 返回值类型可以为string类型。例:public static String amsd()return "sdfsdf"32、 String类的使用: if(str1=str2) ó if(str1.euqals(str2)33、 下例结果的出现是因为在申明str1和str3时所用的内存在同一位置,而str2在申明时使用了new关键字,从而使str2另外占用了一块新的内存,即出现了下面的结果。等号的比较实为地址的比较,要地址和地址上的内容都相同才成立。若要str1=str2,则可以通过在

8、str2的申明后加上下列代码实现: str2=”java”;String类型变量的值一旦确定,就很难改变,需要通过new关键字来实现。故在实际中,尽量用str1的申明方式。34、 this关键字的使用。注意this()可调用本类中无参的构造方法,且必须放在有参构造方法的第一行。35、 (private static int num=12;)static关键字:在建造非public类时,使用static关键字(静态变量),可以实现一动而全动的效果,因此,static类型变量也只能有一个值。即:public class xxx Perosn p1=new ;person p2;person p3;

9、p1.num=23;(则p1、p2、p3的num 均为23,对num 的更改也可通过函数显现。) class Person static int num=13;static关键字的应用:统计声明的Person类的变量数量。36、 static类型的函数只能调用static类型的变量,例如下面的例子就要出错:37、 this为非static类型变量。38、 main理解?输出为first second。39、 静态代码块:public class xxx static (同时,可以在这里编写xxx类的构造函数/方法) public static main (String ags) class X

10、xstatic当类被调用时,静态代码块会被首先执行,用于对程序的初始化。40、 若类直接调用函数,则该函数必为static类,例class Test public static getname() Test p=Test.getname();类直接调用函数。41、 在非public类中声明该类的变量时,必须申明为静态变量,即class Test static Test a=new 。42、 Person p=new Person3;之后要用for语句进行初始化。或是直接定义Person p=new Person(), 。43、 内部类 class out class int内部类可调用外部类中

11、申明的变量和函数,外部类可以调用内部类中的函数和变量。内部类可以申明public类和private类,有所区别。当直接调用内部类时,申明如:out a0=new out(); a=a0.new int();其余变量和函数由a直接调用。44、 在函数中也可以调用内部类,示例如下:class out void talk() class int,函数中的内部类可供包含该类的函数使用,在函数中的内部类只能访问函数中的final类型的变量和外部类中的全部变量。45、 javadoc程序的标记,下列为可识别的标记:详细用法见教材。46、 继承class Personclass Studen

12、t extends Person表示类Studen继承类Person,类可以多层继承,即b继承a,c继承b。47、 继承类实例化时,如果子类的构造函数没做任何修饰,则先运行父类的默认构造函数,再运行子类的构造函数,即先具备父类的无参属性,再具备子类的属性。48、 子类可以通过super函数直接为类的属性参量直接赋值,super函数存在于子类中,用于子类构造函数调用父类有参构造函数赋于初始值,用法:super(,),只能放在构造函数第一行。或是super.。49、 子类函数可重载,不作说明,优先调用子类函数。如果要在子类重载函数中调用父类函数,可用super.函数名调用,注意放在第一行。50、

13、抽象类,abstract class xxxa只有变量和函数名称,没有具体实现方法(不用加大括号),如果有具体实现方法,则必须在子类中被调用。 class xx1 extends xxxa具体实现方法 class xx2 extends xxxa具体实现方法。含有抽象函数的类必须定义为抽象类。51、 object类:如果一个类没有明确继承哪一个类,则它默认继承object类,object类时java中最高层类。若复写toString(),则 System. out. println(p)中的p相当于p.toString()。否则会输出乱码。equals()函数:使用时一般需要复写。其中,为保证

14、调用此函数的对象是Person类实例,用Person p1=this加以约束。52、 final关键字:final声明的类不能被继承,函数不能被复写,变量只能被赋值一次,为常量。53、 接口(interface)类:接口里的变量均为final类型,且必须有初始值,函数类型均为abstract类型,但定义时,final和abstract可省略。54、 接口的继承:interface a 定义接口 class b implements a 继承接口55、 接口与抽象类的作用看似相似,但接口可以继承多个接口,但类只能继承一个类,例:定义接口: interface a interface b inte

15、rface c 接口继承接口:interface d extends a,b,c 类继承接口:class e extends d 相当于继承a,b,c,d四个接口。56、 多态:向下转型 Person p=new Student(); Student s=(Student)p;此时p也是student类实例。向上转型可自动完成,即:Student s=new Student();Person p=s。57、 instanceof关键字可用于判断某个变量是否属于某个类。if(变量 instanceof 类名) 返回值为true和false。58、 接口对象的实例化:接口 A,类B继承A,则A a

16、=new B();即通过他的子类来实例化。 另一种方法:注意理解。 59、 内部类也可以去继承外部的接口或是抽象类。60、 匿名内部类:注意括号的布局。 61、 异常处理,未作处理。62、 package 为避免做工程师各个部分的名称重复而引起运行冲突,把每个程序打包到各个包中去,形式如:package xxx.java;。63、 访问不同包裹中的类:首先保证类的类型是public,由此可知,一个java文件中只能有一个主类被访问,其次指明访问的位置,即:package.x1.java.s;(包裹1)public class test1(包裹1中的类)Package.x2.java.df;(包

17、裹2)import.x1.java.s.test1;(导入包裹1中的类)。另外,也可写成如下形式,表示导入demo.java.a包裹中的Person()类。64、 访问权限:指变量或函数的访问权限。注意:不能在函数内部 对于proteced型变量和函数,只能在同一包中的类和其他包中的子类中被调用。导入到另一个包中的格式为:import.x1.java.s.*;其中*代表导入包裹中的所有内容。65、 命名习惯:66、 使用jar命令将一个包打包成jar文件,供所有用户使用。详细命令见windows>cmd>jar。67、 多线程:实现方法1、说明,需要多线程处理的类继承Thread类

18、,并把要多线程处理的程序写在run函数里,实际相当于把run函数复写,最后,在主函数例通过start函数调用run函数,实现run函数和主函数的同时运行,但运行速度快慢不可控制。实现方法2、通过继承Runnable接口,通常用于一个类已经有了父类,不能在继承thread类时。其中,第十四行可写成:class TestThread extends classx implements Runnable。实现方法2方法1更强大,更实用。68、 通过下列代码开启两个线程,可实现线程的资源共享(实现方法2):new Thread(p).start(); new Thread(p).start();如果通

19、过代码new Thread(p).start(); new Thread(m).start();则不能实现。 多线程实现方法1不能实现资源共享。69、 线程操作的方法(Thread类函数的用法)具体应用:/获得线程的名字/判断线程的死活/当一个进程只有后台线程(在调用start函数之前调用setDaemon(true)函数的线程)在运行时,这个进程就停止运行/强制某一线程运行,并指定某几个线程合并的时间长度/使线程休眠/trycatch函数额使用/如果一个类没有写明继承thread类,在其内部也能申明thread变量和调用其函数/同步线程的数据访问,避免同一张票被买几次问题的出现,通过sync

20、hronized函数实现/死锁的出现,主要由于70、 终止线程可以调用JDK中的函数,但有缺陷,故实际中大多采用控制线程条件的办法,即自行设计代码来调节进程的运行与终止。71、 文件处理:应用file类(时IO包中唯一代表磁盘文件本身的类)函数,需要导入import.java.io.*包裹。可对文件进行创建、删除、获取名字、路径、属性等,但不能对文件进行改变。定义file类的格式:File a=new File(String 文件路径),之后可直接调用file类的函数,具体函数使用见java的API手册。应用RandomaAccessFile类,操作仅限于文件,能从任意位置开始访问文件,文件中同一类信息的大小最好相同,详细使用方法见java的JDK文档。72、 流类:InputStream和OutputStream类针对字节流,Reader和Writer针对字符流。73、 InputStream类和OutputS

温馨提示

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

评论

0/150

提交评论