ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:570.89KB ,
资源ID:6621744      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6621744.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(马士兵JAVA基础知识整理.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

马士兵JAVA基础知识整理.docx

1、马士兵JAVA基础知识整理Java语言基础知识整理一 计算机语言的发展史及历史地位1. 第一代语言 打孔机纯机器语言2. 第二代语言 汇编3. 第三代语言(1)C、Pascal、Fortran面向过程的语言(2)C+面向过程/面向对象(3)java跨平台的纯面向对象的语言(4).NET跨平台语言4.java语言特点(1)一种面向对象的语言(2)一种平台无关的语言,提供程序运行的解释环境(3)一种健壮的语言,吸收了c/c+语言的优点,但去掉了影响程序健壮性的部分(如:指针、内存的申请与释放等)。二Java程序运行机制及运行过程1.java两种核心机制(1)Java虚拟机(Java Virtual

2、 Machine)(2)垃圾收集机制(Garbge Collection)2.java运行过程源程序(*.java文件)java编译器字节码(*.class文件)类装载器字节码校验器解释器操作系统平台4. java虚拟机(1) java虚拟机可以理解为是一个以字节码为机器指令的CPU。(2) 对于不同的运行平台有不同的虚拟机。(3) Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。5. 垃圾收集机制(1) 不再使用的内存空间应回收垃圾收集。(2) 在c/c+语言中,由程序员负责回收无用的内存空间。(3) Java语言消除了由程序员负责回收无用的内存空间的责任,它提供了

3、一种系统级线程跟踪存储空间的分配情况,检查并释放那些可以被释放的存储器空间。(4) 垃圾收集在java程序运行过程中自动进行,程序员无法精确进行控制和干预。三Java Application初步1.java源文件以“java”为扩展名。源文件的基本组成部分是类(class)。2一个源文件最多只有一个public类,其他类的个数不限,如果源文件包括一个public类,它必须按该类名命名。3.java应用程序的执行入口是main()方法,有固定的书写格式: public static void main(String args) 4.java语言严格区分大小写。5.java方法由一条条语句构成,每

4、条语句已分号结束。6.java语言有三种注释方式:(1)/单行注释(2)/*.*/多行注释(3)/* *用于多行注释,且可以被doc工具解析 */四J2SE基础语法1.标识符:java对各种变量、方法和类等要素命名时使用的字符序列。(1)凡是可以自己起名字的地方都叫标识符,都要符合标识符的规则。(2)标识符的命名规则: 标识符由字母、下划线”_”、美元符”$”或数字组成。 标识符应该以字母、下划线或者美元符开头。 java标识符大小写敏感,长度无限制。(4) java标识符选取应该“见名知意”且不可以和java关键字重复。2.关键字:(1)java中一些赋以特定含义,用作专门用途的字符串。(2

5、)所有java关键字都是英文小写字母。(3)goto和const虽然从未用过,但是也被留作java的关键字。abstractdefalutifprivatethisboleandoimplementsprotectedthrowbreakdoubleimportreturnthrowsbyteelseinstanceofpublictrycaseextendsintshortvolatilecatchfinalinterfacestaticwhileclassfinallypackagesupervoidcharfloatnewswitchnullconstfornativesynchroni

6、zedtransientcontinuegotolongstrictfp4.java常量(1)java的常量值用字符串表示,区分不同的数据类型。整形常量、实型常量、字符常量、逻辑常量、字符串常量。(2)区分字符常量和字符串常量(3)“常量”这个名字还会用在其他环境中用来表示值不变的变量。5.java变量(1)java变量是程序中最基本的存储单元,其要素包括变量名、变量类型、作用域。(2)java中每一个变量都属于特定的数据类型,在使用前必须对其进行申明。(3)从本质上讲,变量其实是内存中一小块区域,使用变量名来访问这块区域,因此,每一个变量进行使用之前,必须对其进行申明,然后进行赋值,这样才可

7、以使用。(4)heap:new出来的东西存放;(5)stack:局部变量存放在里面;(6)datasegment:静态常量及字符串常量;(7)codesegment:存放代码6.java变量的分类(1)按声明的位置划分:局部变量:方法或语句块内部定义的变量成员变量:方法外面、类的里面定义的变量类外面不能有变量的声明(2)按所属数据类型划分:基本数据类型变量引用数据类型变量7java局部变量和成员变量(1) 方法体内部声明的变量(包括形参)称为局部变量。(2) 方法体内部是指与方法对应的大括号内部。(3) 在方法体外部,类体内部声明的变量是成员变量。8.数据类型的划分(1)基本数据类型:整数类型

8、(byte、int、short、long)、浮点类型(float)、字符型(char)、布尔型(boolean)(2)引用数据类型:类(class)、接口(interface)、数组。9.逻辑型boolean(1)boolean数据类型适合逻辑运算,一般用于流程的控制。(2)boolean数据类型只允许取值为true或false,不可以用0或者非0代替true或者false.10.字符型char(1)char型数据用来表示通常意义上的”字符”。(2)字符常量为用单引号括起来的单个字符。(3)java字符采取Unicode字符编码,每个字符占据两个字节,因此可以采用十六进制编码表示。(4)jav

9、a语言还允许使用转义字符来将其后的字符转化为其他的含义。(5)2进制、8进制、16进制的转化。11.整数类型(1)java各整数类型有各自的字段长度和表数范围,其不受具体操作系统的影响,以保证java程序的可移植性。(2)java语言整形常量的三种表示形式:十进制整数;八进制整数:要求以0开头;十六进制整数:要求以0x或者0X开头(4) java语言整形常量默认的类型为int,声明long型常量时后面需要加上”l”或者”L”;类型占用内存空间表数范围byte1字节-128127short2字节-215215-1int4字节-231231-1long8字节-263263-112.浮点类型(1)与

10、整形类似,浮点类型也有各自的字段长度和表数范围,不受平台影响。(2)java浮点类型常量有两种表示方法:十进制形式和科学计数法形式(3)java浮点型默认的常量类型为double,声明为float时需要后面加上”f”或者”F”;类型占用内存空间表数范围float4字节-3.403E383.403E38double8字节-1.798E3081.798E30813.基本数据类型转化(1)boolean类型不可以转化为其他的数据类型(2)容量小的数据类型自动转化为容量大的数据类型。Byte.short.char-int-long-float-doublebyte short char 三者不会相互的

11、转化,计算时三者都先转化为int型进行计算(3)容量大的数据类型转化为容量小的数据类型时,要加上强制类型转化符,这样可能造成精度降低或者溢出,使用时要格外注意。(4)有多种数据库类型进行计算时,应该将所有的数据类型转化为容量最大的那种数据类型,在进行计算。(5)实型默认为double;整形默认为int。14.运算符(1)算术运算符:+ - * / % + -(2)关系运算符: = (5)赋值运算符:=(6)扩展赋值运算符:+= -= /= *=(7)字符串连接运算符:+15.赋值运算符和扩展赋值运算符:(1)当”=”两侧数据类型不一致时,可以使用默认类型转化或者强制类型转化。(2)可以将整形常

12、量直接赋值给byte short char,可以不使用强制类型转化符,只要不超过其表数范围即可。16.字符串连接符:(1)两侧的操作数只要有一个是字符串类型,则会默认将另一个自动转化为字符串类型然后再进行运算。(2)当进行打印时,无论是什么类型都会被转化为字符串类型进行打印。17.表达式(1)表达式是符合一定语法规则的运算符和操作数的序列。(2)表达式的值是指对操作数进行运算得到的结果(3)表达式的类型是指表达式结果的数据类型(4)应该按照运算符从高到低的的优先级顺序进行运算(5)优先级相同的应该按照事先约定的结合方向进行运算18.三目条件运算符(1)语法格式:X ? Y : Z(2)x为bo

13、olean类型,先计算x的值,如果x的值为真,则整个表达式的值为y;反之,整个表达式的值为z19.if语句、for语句、while语句、dowhile语句(1)break语句:用于终止某个语句块的结束,用于循环语句体中,可以强制退出循环。(2)continue语句:用于循环语句中,用于终止某次循环过程,跳过循环体中continue未执行的循环,直接进行下一次的循环。(3)switch语句:小心case穿透,推荐使用break语句多个case可以合并到一起default可以省略,但是不推荐省略java中switch只能探测到int类型的值20.方法(1)java的方法类似与其他语言的函数,是一段

14、完成特定功能的代码片段,声明格式:修饰符1 修饰符2 返回值类型 方法名 形式参数列表 Java语句.(2)形式参数:在方法被调用的时候用于接收外部输入的数据。(3)实参:调用方法时实际传给方法的数据。(4)返回值:方法被调用完后返还给调用他的环境的数据。(5)返回值类型:事先约定返回值的数据类型,如果没有返回值,则一定要给出void。(6)java语言中使用下述形式调用方法:对象名.方法名(实参列表)。(7)实参的数目、数据类型和次序必须和所调用方法的形参列表相匹配。(8)return终止方法的执行并且指定返回数据类型。(9)java中函数调用中传递参数时,遵循值传递原则:基本类型传递的是数

15、据值的本身,引用类型传递的是对对象的引用,而不是对象本身。21.递归调用:在方法执行过程中出现方法本身的调用。五面向对象的设计思想1.从现实世界中客观存在的事物出发来构造软件系统,并在系统构造的过程中尽可能的运用人类的自然思维方式。2.面向对象更加强调人类在日常的思维逻辑中经常采用的思想方法和原则,如抽象、分类、聚合、多态、继承等。3.对象用计算机语言对问题域中的事物的描述,对象通过属性(attribute)和方法(method)来对应事物所具有的静态属性和动态属性。4.类是用于描述同一类型对象的一个抽象概念,类中定义了这一类对象因具有的静态和动态属性。5.类可以看成是一类对象的模版,对象可以

16、看作是该类的一个具体实例。六类(对象)之间的关系(1)关联关系(2)继承关系(一般和特殊) 如:XXX是一种XXX(3)多态关系(4)聚合关系(整体和部分)(5)实现关系七java与面向对象(1)对象是java程序的核心,在java中“万事万物皆对象”。(2)对象可以看作是静态属性(成员变量)和动态属性(方法)的封装体。(3)类是用来创建同一类型对象的“模版”,在一个类中定义该类所因具有的成员变量和方法。(4)j2sdk提供了很多类给编程人员,编程人员也可以自己定义类。(5)成员变量 = 属性 方法 = 函数八为什么使用对象?1.面向对象编程一组对象相互配合通过沟通完成特定功能。2.对象都有对

17、外服务的接口,通过继承可以复用。3.对象隐藏内部服务的实现,通过聚合可以复用。4.面向对象可以使我们达到这些年苦苦追求的境界。5.组件比对象更高层次上的抽象。九面向对象1.java类的定义(1)类的定义主要有成员变量和方法这两个方面。(2)声明成员变量的格式: type =defaultValue如:private int id; private int money = 20;(3)声明方法的格式: 如:public int getAge() return age;2.成员变量(1)成员变量可以是java数据类型中任何一种数据类型(基本数据类型和引用数据类型)。(2)在定义成员变量时可以对其进

18、行初始化,如果对其不进行初始化,则java使用默认的初始化值。(3)成员变量的整个范围为整个类体。成员变量类型byteshortintlongfloatdoublebooleanchar所有引用类型取值0000L0.0F0.0Dfalseu0000null3.引用(1)java语言中除了基本的数据类型之外其余的都称之为引用类型。(2)java中的对象是通过引用对其进行操作的。4.如何在内存中区分类和对象?(1)类是静态概念,在代码区。(2)对象是new出来的,位于堆内存。类的每个成员变量在不同的对象中都有不同的值(除静态变量),而方法只有一份,只在执行的时候占据内存。5.对象的创建和使用(1)

19、必须使用new关键字创建对象。(2)使用对象(引用).成员变量或者引用对象的成员变量。(3)使用对象(引用).方法(参数列表)来调用对象的方法。(4)同一类的每个对象有不同的变量存储空间。(5)同一类的每个对象共享该类的方法。(6)非静态方法是针对每个对象进行调用。6.构造方法(构造函数)(1)使用new + 构造方法创建一个新的对象。(2)构造函数是一个定义在Java类中用来初始化对象的函数。(3)构造函数与类同名且没有返回值。(4)创建对象时,使用构造函数初始化对象的 成员变量。(5)当没有指定构造函数时,编译器会自动给类添加形如 类名()的构造函数。7.约定俗成的命名规则(1)类名的首写

20、字母大写(2)变量名和方法名的首写字母小写(3)运用驼峰标识8.方法的重载(1)方法的重载是指在一个类中可以有相同的名字,但是参数不同的多个方法。调用时会根据不同的参数表选择相应的方法。9.构造方法的重载(1)与普通方法一样,构造方法也有重载。10.this关键字(1)在类的方法定义中使用this关键字代表使用该方法的对象的调用。(2)当必须指出当前使用方法的对象是谁时要使用this关键字。(3)有时使用this关键字可以处理方法中的成员变量和参数重名的情况。(4)this可以看作是一个变量,他的值是当前对象的引用。11.static关键字(1)在类中,用static声明的成员变量为静态成员变

21、量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说static成员变量只有一份。(2)用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可以访问非static方法。(3)静态方法不再是针对某个对象调用,所以不能访问非静态成员。(4)可以通过对象引用或者类名(不需实例化)访问静态成员。12.package和import语句(1)为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,java引入包(package)机制,提供类的多重类命名空间。(2)package语句作为java的第一条语句,指明该文件中类所在的包。(

22、若缺省该句,则为无名包)。 如:package pkg1.pkg2(3)java编译器把包对应于文件系统的目录管理,package语句中用”.”来指明包(目录)的层次。(4)如果将一个类打包,使用该类时,需要使用该类的全名,java编译器才会找到该类.(5)也可以使用import在文件开头引入要使用的类。(6)可以不需要使用import语句直接引入java.lang的包中的类。(7)如果要将一个类放入包中,在这个类原文件第一句需要写package。(8)必须保证该类的class文件位于正确的目录下。该类的源码可能会产生影响删除或者转移到另外的目录(9)另外的类想访问的话写全名引入 * 具体类名

23、访问位于同一包中的类不需要引入(10)必须class文件的最上层包的父目录位于classpath下(11)执行一个类需要写全包名13.j2sdk主要包的介绍(1)java.lang包含java语言的一些核心类,String,Math,Integer,System,Thread,提供常用的类。(2)java.wat包含了构成抽象窗口工具集(abstract window tookits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。(3)java.applet包含applet运行所需要的一些类。(4)包含一些与网络相关操作的类。(5)java.io包含多种能提供输入/输出功能

24、的类。(6)java.util包含实用的工具类,如定义系统特性,使用与日期日历相关的函数。(7)打包的格式 java cvf xx.jar *.*14.类的继承与权限控制(1)java中使用extends关键字来实现类的继承机制,语法规则如下: class extends (2)通过继承,子类自动拥有 基类所有的成员(成员变量和方法)。(3)java只支持单继承,不支持多继承。一个子类只能有一个基类,一个基类可以派生出多个子类。(4)java权限修饰符public,private,protected置于类的成员定义之前,用来限定其他对象对该类对象成员的访问权限。修饰符类内部同一包子类任何地方p

25、rivateYesdefaultYesYesprotectedYesYesYespublicYesYesYesYes(5) 对于class的权限修饰只可以用public和defaultpublic 类可以在任何地方都被访问。default只可以被同一个包中的类访问。15.方法的重写(1)在子类中可以根据需要对于从基类中继承来的方法进行重写。(2)重写方法必须和被重写方法具有相同的名称,参数列表和返回值类型。(3)重写方法不能使用比被重写方法更严格的访问权限。16.super关键字:在java类中使用super关键字来引用基类的成分。17.继承中的构造方法(1)子类的构造过程中必须调用基类的构造

26、方法。(2)子类可以在自己的构造方法中使用super(argu_list)来调用基类的构造方法。使用this(argu_list)调用本类中另外的构造方法。如果调用super,必须写在基类的构造方法的第一行。(3)如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认的调用基类无参的构造方法。(4)如果子类中既没有显示的调用基类的构造方法,而基类中又没有无参的构造方法,则编译出错。18.Object类(1)Object类是java中所有类的根基类。(2)如果在类的声明中未使用extends关键字来指明其基类,则默认基类为Object类。19.toString方法(1)Object类中定义

27、类public String toString()方法,其返回值为String类型,描述当前的对象的有关信息。(2)在进行String与其他数据类型的连接操作时,将自动调用该类对象的toString()方法。(3)可以根据需要在用户自定义类型中重写toSring()方法。20.equals()方法 Object类中定义(1)public Boolean equals(Object obj)提供对象是否相等的逻辑。(2)Object的equals方法定义为: x.equals(y)当x和y是同一对象的应用时返回true否则返回false。(3)j2sdk提供了一些类,如String,Date等,

28、重写了Object类中的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一类的对象且属性内容相等时(并不一定是相同对象),返回true否则返回false。(4)可以根据需要在用户自定义类型中重写equals()方法。21.对象转型(casting)(1)一个基类的引用类型变量可以指向其子类对象。(2)一个基类的引用不可以访问子类对象新增加的成员(成员变量和方法)。(3)可以使用引用变量Instanceof类名 来判断该引用型变量所指向的对象是否属于该类或者该类的子类。(4)子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之

29、称为向下转型(downcasting)。22.动态绑定;在执行期间而非编译期间判断所引用对象的实际类型,根据其实际类型来调用相应的方法。23.抽象类(1)用abstact类来修饰一个类时,这个类叫做抽象类,用abstract来修饰一个方法时,这个方法叫做抽象方法。(2)含有抽象方法的类必须声明为抽象类,抽象类必须被继承,抽象方法必须被重写。(3)抽象类不能被实例化。(4)抽象方法只需要声明,不需要实现。24.final关键字(1)final变量的值不可以改变:final的成员变量和局部变量(形参)。(2)final方法不能被重写。(3)final类不可以被继承。25.接口(1)接口(interface)是抽象方法和常量值的定义的集合。(2)从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含方法和常

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1