您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > jAVA基础知识点汇总(附带实例)
JAVA知识点汇总编者:周新明JAVASE一.第一到八章:基本基础知识1.java的历史:Java是由sun公司开发的,起初的目的是为家电消费产品开发的一个分布式代码系统。Java的前身是:oak(橡树);1995:正式将oak改名为java;2005年:正式将J2SE、J2EE改名为JAVASE、JAVAEE;2.java语言的特点:Java是一种简单的、面向对象的、分布式的、解释型的、健壮的、结构中立的、可移植的、性能优异的、多线程的、动态的语言;Java最大的优点是:与平台无关,即:“一处编写,到处运行”。3.编译java程序时,需使用javac命令,执行编译后(.class)的程序时,需使用java命令。4.JVM(java虚拟机)的作用:保证经过编译后的java代码能够在安装java虚拟机的系统上运行。5.如果将一个类声明为public类,则也要将文件名取成和这个类一样的名称。也就是说,在java文件中,最多只有一个public类,否则java的文件便无法命名。6.在java程序中,main方法为程序的主方法,在java程序中有且仅有一个main方法,它是程序的开端;需注意的是:main方法之前必须加上publicstaticvoid,static表示main方法在没有创建类对象的情况下,仍然可以运行。7.标识符:java中的包、类、属性、方法、参数的名字,可由任意顺序的大小写字母、数字、下划线和美元符号($)组成。但需要注意的是:(1).标示符不能以数字开头。(2)标识符不能是关键字。在java中有48个关键字,但需要注意的是goto、const也是关键字,但是现在还没有使用。8.注释:分为单行注释(//)、多行注释(/**/)、文档注释(/***/)。9.常量和变量常量的声明:final类型常量名=值;需注意的是:(1).常量名称通常是由大写字母组成。(2)当常量用于一个类的成员(全局)变量时,必须给常量赋值,否则会出现编译错误。例:变量的作用范围分为成员变量(全局变量)和局部变量,成员变量的作用范围为整个类,而局部变量作用的范围只是它所在的范围之内使用。需注意的是:(1).在类中定义的变量有初始值,而在方法中定义的变量没有初始值,例:10.数据类型数据类型从整体上分为两种:一种是基本数据类型,一种是引用数据类型;基本数据类型又包括数值型(byte、short、int、long、float、double)、字符型(char)、布尔型(boolean);引用数据类型又包括类、接口、数组。Byte(-128-127):占1个字节;short(-32768-32767):占2个字节;int:占4个字节;long:占8个字节;float:占4个字节;double:占8个字节;char:占2个字节;重点知识在于数据类型的转化:转化分为两种:一种是自动类型转换,一种是强制类型转换。自动转换的原则是:“扩大转换,即从较小的表示范围向较大的表示范围转换”。例如:字符与整数之间可以相互转换;float类型可以向double类型转化,但是double不能向float类型转化。例:结果为:也就是说:如果整数与字符串相加,整数会自动向字符串类型转化;如果整数与字符相加,字符会先转化为ASCII码,后再与整数相加。注:a~z:97~122A~Z:65~9011.java的运算符可分为4种:算术运算符、关系运算符、逻辑运算符、位运算符。12.程序的结构:有3种:顺序结构、选择结构、循环结构。着重理解一下switch语句(只有实践,才能理解深刻):需注意的是:(1).switch语句里的选择值只能是字符或常量(int、byte、short)。(2)如果case语句后面没有break,则程序一直执行到switch语句的尾端才会离开,但是程序中每条case语句的顺序不同,所产生的结果也会随之不同。例:结果为:结果为:结果为:在for循环中,经常用的2中跳离循环语句的方法:break和continue;break的作用:终止循环,离开循环体;continue的作用:跳出本次循环,去执行下一次循环。13.运算符(都是以二进制的形式比较的)^的运算方法是相同为0,相反为1;例:1^2:1:0012:0103:011|的运算方法是只要有1就为1;1|2:1:0012:0103:011&的运算方法是只要有0就为0;1&2:1:0012:0100:000~的运算方法是求反,负数的二进制表示就是该负数的绝对值的二进制数按位取反再加一。~55:0000010100000101+1-611111010n运算方式右移n位,正填0,负填1;15215:011113:011n运算方式左移n位,正填0,负填115215:000111160:0111100n的运算方式不带符号右移n位,填0;-525:0000010114.数组要使用Java的数组,必须经过两个步骤:声明数组和分配内存给该数组。例:inta[]=newint[3];inta[][]=newint[3][3];数组的赋值:例:inta[]={1,2,3};inta[][]={{1,2,3},{4},{5,6}};如果想获得一维数组的数组长度,需要使用:数组名.length来获得;如果想获得某字符串的长度则需要使用:变量名.length()。如果在二维数组中:数组名.length:取得数组的行数数组名[行的索引].length:取得特定行的元素个数如果想对某一数组进行升序排序,可以使用:java.util包下面的Arrays.sort(数组名)进行升序排序;如果想对数组进行拷贝,可以使用:System.arraycopy(source0,dest,0,x),意思是:复制源数组从下标0开始的x个元素到目标数组,从目标数组的下标0开始的位置进行存储。二.第九到十六章核心技术1.基本概念的掌握(1)面向对象的语言是以对象为中心,以消息为驱动,即:程序=对象+消息。(2)将具有相同属性和相同行为的一组对象称为类。类是对一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称为实例。所以说,类是对象的模板,对象是类的实例。(3).要利用类的方式去解决问题,必须用类创建一个实例化对象,然后通过类对象去访问类的成员变量,去调用类的成员方法去实现程序的功能。(4)面向对象的三大特征:封装性、继承性、多态性,有的教材还将“抽象”也作为面向对象的特征。(5)如果类B继承类A,则类A为基类、父类或超类;类B为派生类或子类。(6)多态性主要包括2种表现形式:一种是重载和覆写;一种是向上转型和向下转型。2.类、对象、方法、属性(1).类的声明需要用class关键字;对象只有在实例化之后才能被使用,而实例化类对象通过new关键字完成。(2).对象的使用:对象名.属性名;对象名.方法名();(3).对象的比较(==与equals()方法的运用)例1.==运算符用与比较运行结果为:例2.equals方法用与比较运行结果为:例3.为某一普通类创建两个对象进行比较结果为:不是同一个人总结:string是一个特殊的类,当为该类创建对象时,并进行对象比较时,“==”用于比较两个对象的内存地址,而equals()方法则比较的是两个对象的内容是否相等。当为一个普通的类创建两个对象进行比较时,equals()的作用和==作用相同,都是进行地址比较。这是因为在进行对象比较时,默认的调用了object类中的equals()方法。(4).构造方法的使用例1:结果为:总结:1.在使用构造方法时,名字应与类名相同。2.构造方法无返回值。3.构造方法无需直接调用,在创建对象时会自动调用。例2.运行结果为:总结:1.构造方法可以重载。2.在java中如果明确的声明了构造方法,则默认的构造方法不会自动生成。如果以该例为例,如果不在p对象为构造方法传值,则会出现编译错误,这是因为无参构造方法已被有参构造方法重载,所以无参构造方法不能自动生成,那么如何解决这个问题呢?只需在person类中在创建一个无参构造方法即可。3.构造方法的作用就是:为新创建的对象赋初值。3.类的继承、封装、多态(1).类的封装例1.结果为:总结:1.类封装的原因:阻止对象直接访问类的对象。2.如果要给对象赋值有两种解决方法:第一种方法是在该类中创建构造方法;第二种方法是在该类中创建setXxx()、getXxx()这样的公有方法。(2).类的继承例1:结果为:总结:1.在java中支持类的单继承和多层继承,但不支持多继承,即一个类不能继承多个类,就类似一个儿子只有一个亲爸。2.子类对象在实例化时默认先去调用父类中的无参构造方法,之后再调用本类的构造方法。例2:总结:super关键字只能在子类中使用,主要功能是调用父类中的属性和方法和构造方法。调用方法时:super.方法名();调用属性时:super.属性而this关键字是在本类中使用,调用本类中的方法时:this.方法名();调用本类中的属性时:this.属性名(3).方法覆写例:结果为:总结:1.覆写只存在继承关系中。而方法重载是在本类中。2.如果子类覆写了父类中的方法,在对子类实例化后,调用的是子类覆写好的方法,而父类中的方法不会调用。(4)类的多态(深刻理解向上转型和向下转型)例:结果为:总结:1.向上转型会自动完成,而向下转型需要强制转型2.向上转型的意思是:功能多的可以向功能少的转换,否则要强制转换。例:马分为白马和黑马,黑马可以向马转换,而马向黑马转换需要条件才可以。也就是说,功能多的可以向功能少的一端自动转换,功能少的不能自动转化为功能多的,需强制转换,这与我们生活中的实例基本相符。4.抽象类(abstract)和接口(interface)(1)声明方法的存在而不去实现它的类被叫做抽象类。抽象类中有没有实现的方法,有可能有实现的方法。例:结果为:总结:1.抽象类和抽象方法必须用abstract来修饰。2。抽象类不能直接实例化,通过子类进行实例化。3.抽象方法只需声明,不需实现。4.抽象类的子类必须覆写所有的抽象方法。5.抽象类的组成:抽象方法(必须有),普通方法、常量、变量、构造方法(可以没有)。6.什么时候使用抽象类?当该方法(行为)很抽象时,也就是实现该行为有很多种方式。例:人分为学生和工人,他们虽然都有说话行为,但他们说话的内容不同,这时候可以把说话行为定义为抽象方法。7.在抽象类中也可以有构造方法,但是这些构造方法必须在子类中被调用。(2)接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。接口中只可以定义staticfinal成员变量。但是staticfinal可以省略。例:结果为:总结:1.接口里的数据成员必须初始化,且为常量。2.接口里的方法全部是抽象方法。3.final和abstract可以省略。4.接口是实现多继承的一种机制,一个类只可以继承一个父类,但可以实现多个接口;一个接口可以继承多个接口。5.在Java中一个类可以同时继承一个类和实现一个接口语法如下:(1)class类名implements接口A,接口B{}(2)interface子接口名称extends父接口A,父接口B{}5.鼻祖(object)例:结果为:总结:1.object类中常见的方法有:toString(),equals(),HashCode();2.当创建了对象,object类中的方法则会自动调用。6.静态方法及静态变量的使用(也称类方法(变量)或类域)例1:结果为:总结:用static修饰的变量是所有对象共享的内存空间。如果有一个对象内的变量发生修改,则所有对象内的变量都将发生变化。例2:结果为:总结:1.通常在一个类中定义一个方法为static类型时,那么无需创建对象即可调用此方法,用类名.方法名()即可调用。2如果在类中对拥有static方法的类进行对象实例化,但用对象名调用时,还是显示的是原来的方法,例:父类中里有一个静态方法,子类覆写静态方法,如果
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:jAVA基础知识点汇总(附带实例)
链接地址:https://www.777doc.com/doc-1850719 .html