Java语言基础经典总结Word下载.docx
- 文档编号:17965139
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:16
- 大小:30.16KB
Java语言基础经典总结Word下载.docx
《Java语言基础经典总结Word下载.docx》由会员分享,可在线阅读,更多相关《Java语言基础经典总结Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
int
32位
-231-------231-1
long
64位
-263------263-1
char
0-----216-1
无符号整数
float
单精度符点
double
双精度符点
boolean
1位
值:
true或false
(2)引用型包括类类型,接口类型和数组类型,这些类型的变量指的就是相应类型的对象。
5.变量:
变量时一个存储位置,可以保存一个值,变量声明指定标识符,类型和其他属性,声明的类型确定了值的类型。
(1)变量分为全局变量和局部变量,它们以同样的方式进行声明,声明分为三个部分:
修饰符类型标识符列表。
全局变量是类或接口的成员,都在类或接口的程序体内进行声明,局部变量可以在程序的任何位置声明,既可以是基本类型也可以是引用类型,可用于局部变量的唯一修饰符是final,final修饰符声明的值一旦被设定,就将一直保持这个值,即不可改变,且声明为final时必
须进行初始化。
6.运算符:
(1)运算符的优先级
java语言中各运算符优先级如下所示(优先级从上到下依次递减)
类型运算符
单操作数运算符++、--、+、-、!
、~、()
算术运算符*、/、%、+、-
移位运算符<
<
、>
>
比较运算符<
<
=>
>
===!
=instanceof
按位运算符&
^|
逻辑运算符&
&
||
条件运算符?
:
赋值运算符=
(2)单操作运算符:
分别是:
自动递增运算符(++)自动递增运算符(++)取正运算符(+)取负运算符(-)按位取反运算符(~)逻辑取反运算符(!
)造型运算符(),其中按位取反运算~对易个整数型操作数进行按位操作,生成与输入位的相反值。
若输入0,则输出为1;
若输入1,则输出0。
逻辑取反运算!
对一个布尔型操作数进行操作,生成与输入位的相反值。
若输入为
true,则输出为false;
若输入为false,则输出为true;
造型运算()的作用是明确将一种数据类型转换为另一种数据类型,可能造成数据信息的丢失。
在java中,合法的类型转换编译器会自动进行,只有强制类型转换时,程序员才有必要进行造型运算。
造型运算的操作对象不仅仅是基本数据类型,也可以是引用型。
(3)按位运算符
java语言中共提供了4种按位运算符,分别为按位与&
按位|,按位异或^和按位非~,这四个运算符适合所有整型数据.进行按位运算时,总是先将字符型、字节型、短整型值转换为整型再进行位运算。
对于布尔型运算只有按位非(~)不能用于布尔型数值。
其他3种位运算都可以把布尔型数值当作一个具有一位值进行按位运算。
布尔型值为true对应为1,false对应为0,尽管位运算可以应用于布尔型,但不能将布尔型值和其他整数型值混合使用,如混合使用,将发生类型转换错误,因为布尔型值和其他基本类型之间不能进行相互转换。
第三章控制流
1.语句和块:
语句是由表达式和分号组成的,用花括号将多条语句组合成为块。
2.if语句:
它是条件控制流的最基本形式,它选择是否执行后续的语句。
语法为:
if(boolean-expression)
statement1
else
statement2
首先求布尔表达式的值,如果只为true,则执行statement1,否则,执行statement2;
(3)switch语句:
Switch语句可以根据一个整型表达式的值,将控制转移到语句块中标号后的入口点。
Switch(expression)
{
Case1:
statements
Case2:
}
如果找到匹配的case标号,控制转移到他后面的第一个语句,否则转移到default标号后的第一个语句,否则跳出switch语句。
(4)While和do…..while语句
While循环的形式如下:
While(boolean-expression)
Statement
先求布尔表达式的值,如果是true,则执行语句,执行完毕后重新求表达式的值,如果是true,则继续执行语句,否则退出循环。
由于表达式可能第一次求值就是false,所以while循环可能执行一次或多次,有时候需要执行循环至少一次,这时就用do-while语句
Do
While(boolean-expression)
表达式在语句执行完毕后求值,当表达式为true是,语句被重复执行,否则退出循环。
(5)for循环:
for语句在一定范围的值伤从头到尾执行,形式为
For(init-expr;
boolean-expr;
incr-expr)
Init-expr允许定义和初始化变量,它只执行一次,然后求布尔表达式的值,如果结果为truro,则执行循环体内的语句,执行完毕之后,执行incr-expr更新循环变量的值,然后重新计算布尔表达式的值,如果为true,则继续执行,否则退出循环。
(6)break语句
Break语句用于从任何语句块中退出,有两种形式,有标号的和无标号的,无标号的终止最内层的switch.for,while或者do语句。
有
标号的终止任何被标注的语句。
(7)continue语句只能在循环中使用,它把控制体转移到循环的结尾。
(8)return语句
Return终止方法的执行并返回调用者,如果不返回任何值,则写return并以分号结尾则可,若有返回类型,return语句必须包含其类型同返回类型一致的表达式。
第四章类和对象
1.类成员
类可以有三种类型的成员:
●变量:
与类及其对象相关的数据变量,其中保存着类和对象的状态
●方法:
包含类的可执行代码并定义了对象的行为
●嵌套类和嵌套接口:
嵌套在其他类或接口中的类和接口
2.类修饰符
类声明前面可以有类修饰符以指定类的特定属性:
●Public一个Public类是公共访问的,任何人都可以访问对该类的对象的引用或者访问它的公共成员。
如果没有修饰符,则该类只能在自己的包内访问
●abstract:
一个抽象类被认为是不完整的,不能创建实例,如
果该类中有abstract方法,该方法必须在子类中实现
●final:
final类不能有子类
●strictfloatingpoint:
定义为strictdfp的类要求其中所定义的浮点运算都都进行精确运算
一个类不能即是final又是abstract的
3.访问控制和继承
类的成员对于类本身来说,始终是可以访问的,为了控制其他类的访问,类成员具有四种访问控制修饰符:
●private:
private成员只能在类自身中访问
●package:
声明时不带任何访问修饰符的成员,只有相同包内的代码可以访问
●protected:
子类,同一包中的类及类内部可以访问声明为protected的成员
●public:
在类是可以访问的地方,声明为public的成员都是可以访问的
private和protected访问控制修饰符只能用于成员,而不能用于类或接口本身(除非嵌套),如果要从某个类的一段代码中访问一个成员,首先要在这段代码中访问该成员的类。
4.构造和初始化
●构造函数
为了完成简单初始化之外的目的,类可以通过构造函数实现。
构造函数是一段初始化对象的代码,这种初始化动作在new返回新创建对象的引用之前完成。
构造函数与它要初始化的类同名。
构造函数与方法一样,它拥有一个或多个自变量,但是构造函数不是方法,所以没有返回类型。
利用new创建对象时,自变量放在类型名后面的括号里。
构造函数的声明包括类的名字,后面是括在圆括号内的参数列表,在加上花括号之间的语句。
构造函数可以与类成员同样的访问控制修饰符,但构造函数不能使类的成员——这一点很容易被忽略,除非在遇到继承时。
构造函数可以把this()作为本身的第一个可执行语句,来调用同一个类中的其他构造函数。
这叫做显式构造函数调用。
5.方法
●方法的声明:
方法头和方法体:
方法头包括修饰符集,方法的返回类型,签名(方法名和用圆括号括起来的参数列表)和该方法所抛出的异常,所有的方法都必须有返回类型和签名,但修饰符和抛出的异常时可选的。
●方法修饰符的组成
1.访问控制修饰符
2.Abstract:
abstract方法的方法体未在类中定义,只是用参数
列表之后的一个分号来表示,子类负责实现该方法的方法体。
3.Static:
静态方法可以以整个类的名义调用,而不是从该类实例化得到的特定对象调用,他叫做类方法,静态方法只能访问类的静态变量和静态方法。
4.方法的调用:
利用“.”运算符把方法作为对象上的操作加以调用,方法调用时,调用者必须提供与方法声明中所要求的类型相对应的参数
方法还具有返回类型,它可以是基本类型,也可以是引用型,如果方法不返回任何值,返回类型的位置上应写上void,意为无返回类型
5.方法的控制和返回:
方法调用时,控制流就从调用方法转移到被调用方法,被调用的方法就按照语义开始执行。
被调用的方法在三种情况下停止执行,并返回调用者:
执行return语句;
已经到达方法的结尾;
抛出未捕获的异常。
6.重载:
如果两个方法的名字相同,但方法参数的个数和类型不同,这种现象叫做重载。
第五章继承类
1.继承类叫做它所继承的类的子类或继承类,被继承的叫做超类
类继承分为两种形式:
类继承:
子类将获得超类的类型,因而可以在任何允许使用超类的地方多态使用,类继承实现了子类可以重新定义新的行为,解决了代码的复用。
接口继承:
依照超类所访问的变量和方法,子类对超类进行了实例化。
2.继承的格式:
Class子类名extends(implements)父类名
3.子类与超类的关系
1方法之间:
方法覆盖是面向对象语言的特性,即父类中的一个方法在子类中获得重新定义,但是方法名、参数列表和返回值均不变。
2属性之间:
如果我们在子类定义了与父类相同的属性,那么我们称之为属性(数据成员)的隐藏。
3构造函数之间:
如果子类没有定义自己的构造方法,则它将自动调用父类的无参数的构造器。
如果子类自己定义了构造器,则在创建对象时,它将先执行自父类的无参数的构造器,然后再执行自己的构造器。
4.super的使用:
类的所有非静态方法中都可以使用关键字super,在变量和方法的调用中,super实际上作为超类实例当前对象的引用。
super必须放在调用其构造器中的第一行,而且子类中覆盖
方法可以通过super(…)来访问超类中被覆盖的方法,但只能访问其直接超类,而不能跨级访问。
5.方法的覆盖:
覆盖的规则如下:
(1)覆盖的方法之间必须拥有相同的方法名和参数列表,即要求参数列表中参数的个数、排列顺序以及参数的类型要相同。
注意,参数的名称是否相同,不是覆盖的决定因素;
(2)覆盖的方法之间,其返回类型必须相同;
(3)一个静态方法只能被覆盖方法为一个静态方法,但是不能被覆盖为一个非静态方法;
(4)父类中被子类覆盖的方法,在每一个子类中,最多只能被覆盖一次;
(5)覆盖方法的访问控制修饰符所定义的访问控制不能小于父类中被覆盖方法的访问控制修饰符定义的范围,即覆盖方法不能比原有方法访问范围窄;
(6)覆盖方法声明的抛出异常,只能是被覆盖方法抛出异常的子类,或者一样,或者不抛出任何异常。
第六章接口
1.java程序设计的基本单元式类,但是面相对象程序设计的基本单元是类型。
类可以定义类型,而接口以一种抽象的形式作为方法或者其他类型的集合,类可以实现一个或多个接口来实现类型的扩展,当然,接口本身没有任何实现,也就不能创建实例。
2.接口的声明:
PublicinterfaceT
Intcomper();
除了使用的关键字是interface而不是class之外,接口的声明和类的声明很像。
定义的接口是类的超接口,类必须实现定义在其超接口中的所有方法,否则,类就必须声明为abstract的。
3.接口修饰符
●Public——被public修饰的接口可以被公共访问,如果没有这个修饰符,则只能被其所在包内的成员访问。
●Abstract——所有的接口都被隐式的定义为abstract的,因为他们的方法没有任何实现。
4.抽象类
用abstract修饰符修饰的类,我们称为抽象类,在抽象类可以有
抽象方法也可以没有抽象方法,如果一个子类继承了抽象类,择、则其必须实现抽象类的所有抽象方法,否则必须声明为抽象类,继承接口也如此。
5.接口和抽象类的异同
接口和抽象类都有抽象方法,都代表定义层次上的抽象;
●接口和抽象类都不能创建对象。
不同:
●接口中没有构造器,抽象类中可以有构造器;
●接口中只能有接口常量和抽象方法,抽象类中可以有抽象方法,也可以有非抽象方法;
●接口中的抽象方法的修饰符不写,默认还是abstractpublic。
而抽象类中的抽象方法必须写abstract关键字。
第七章嵌套类和接口
1.类和接口可以在其他类和接口内部声明,或者作为成员,或者在代码块内部,这种类型称为嵌套。
2,作为成员时,分为静态嵌套类和非嵌套类,在代码块内部分为有实例名称的嵌套类和无实例名称的嵌套类(匿名嵌套类)
3.静态嵌套类:
静态嵌套类是嵌套类的最简单形式,其声明格s式与普通类的格式类似。
但创建对象时有所不同,格式为:
外部类.内部类内部类对象=new外部类.内部类();
4.非静态嵌套类:
非静态嵌套类可以继承任何其他类,实现任何接口和被任何类继承,可以定义为final或者abstract的,但其内部不能有静态成员。
创建对象的格式为:
外部类.内部类内部类对象=new外部类().内部类();
样的类在定义它们的块外是完全不能访问的,简单的说就是没有途径引用它们,但是这些类的实例是普通对象,可以作为自变量传递,从方法返回,并且它们一直存在,直到不再被引用,唯一可以用的修饰符是final——它通常阻止类被继承,它在定义该类的作用域可以访问所有变量:
局部变量,方法参数,实例变量和静态变量。
唯一的限制是只有局部变量或方法被声明为final才可以访问。
5.有实例名称的内部类:
这
6.无实例名称的内部类:
这些类在被定义的同时,通过new实例化,并通过方法返回,达到代码简练的目的。
第八章异常
1.异常是指阻止当前方法或作用域继续执行的问题,通常在两种情况下发生,一是编译阶段,二是运行阶段。
发现错误的理想阶段是编译阶段,可以及时修改。
运行期发生异常后,程序不能继续下去,所能做的就是把问题提交上一环境,这一动作叫做抛出异常。
Java中的异常是对象。
所有异常类型,即所有为可抛出对象设计的类,必须继承Throwable类或它的子类。
Throwable类含有一个可以用于描述异常的字符串。
2:
异常利用throw抛出:
throwexpression;
其中的表达式必须估算出一个值或变量,它们必须与throwable类型兼容——简单的说,它们是一个throwable对象的引用。
异常时对象,所以在抛出之前需要创建。
3.异常处理程序:
异常由包含在try块中的语句捕获,
完整的代码如下:
try
}catch(typexx)
}finally
Try的语句如果抛出异常,就要找到其异常类或其超类的catch语句,try中可以包含任意多个catch字句,只要这些字句捕获的异常类型不同。
如果try中有finally字句,则不管是否抛出异常,都总被执行。
第九章字符串
1.字符串是具有内置语言支持的标准对象。
2.基本字符串操作:
通过new方法来显式的创建string对象,从而调用它的方法:
●charAt(intindex)返回会在index的位置处的字符。
返回类型为char
●concat(Stringstr)连接两个字符串,参数str在后面,返回类型为String
●endsWith(Stringstr)判断字符串是否以str字符串结束,返回类型boolean
●equals(Objectobj)判断一个字符串是否等于一个obj对象,返回类型为boolean
●equalsIgnoreCase(StringanotherString)判断一个字符串是否等于另一个字符串,返回boolean
●getBytes()将一个字符串转化为字节数组,使用系统默认编码,返回类型为byte[];
●getBytes(Stringenc)将一个字符串转化为字节数组,用名字enc的编码,返回类型为byte[];
●indexOf(intch)返回字符ch在字符串里第一次出现的位置,如果字符串里不存在字符ch,则返回-1,返回类型为int
●indexOf(Stringstr)返回字符串str在字符串里第一次出现的位置,如果不存在字符串str,则返回-1。
●length()返回字串的长度,注意:
同数组的区别:
数组是属
性,因此用length表示。
●toCharArray()将这个字符串转化成字符叔祖,返回类型为char[]
●trim():
去掉字符串的首尾空格。
●toUpperCase():
将字符串传唤成大写
3.StringBuffer类:
StringBuffer类是可变字符串类,创建了它的对象后,可以随意修改,改变字符串的内容。
如果字符串的长度超过了StringBuffer类对象的容器,则该对象的容量自动扩大。
StringBuffer并不是String的子类,它们都是Object的扩展。
除了拥有字符串所有的方法外,它还有一些特有的方法:
●intcapacity()获取它的容量
●voidsetLength(inta)设置容量
●intlength();
长度,字符串的真实长度
●StringBufferappend(Objectobj)
●StringBufferappend(Stringstr)
●StringBufferappend(StringBuffersb)
●StringBufferinsert(intoffset,Objectobj)
●StringBufferappend(intoffset,Stringstr)
●StringBufferappend(intoffset,StringBuffersb)
4.StringTokenizer类
Java中提供了专门用于分析字符串的类StringTokenizer(位于java.util包中),可以将字符串分解为独立使用的单词(语言符号)。
语言符号之间由定界符(delim)或空格、制表符、换行符等来分隔。
其他字符也同样可以设定为定界符。
StringTokenizer的构造方法
StringTokenizer(Stringstr)使用默认的定界符,即空格,制表符,换行回车,TAB
StringTokenizer(Stringstr,Stringdelim)为字符串str构造一个字符串分析器,并使用delim作
为定界符。
方法:
●StringnextToken()//返回一个字符
●booleanhasMoreTokens()//判断要分析的字符串还有语言符号吗?
有返回true,否则返回false
●intcountTokens()//共有多少个语言符号
第十章I/O包
Java.io包使用术语流(stream)定义I/O(输入/输出)。
包含两个主要部分:
字符流和字节流。
1.字节流:
java.io包为基本的字节输入和输出定义了抽象类。
这些抽象类接着被继承,以提供几个有用的流类型。
而流类型是成对的,包含输入流和输出流。
抽象类InputStream声明的方法在特定的源中读取字节,它是大多数字节输入流的超类。
抽象类Output提供将字节写到目的地的抽象方法。
具体方法有:
(1)FileInputStream:
intread()
intread(byteb[])
intread(byteb[],intstart,intlength)
intavailable():
返回后面还有个没有被读取的字节数。
voidclos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 基础 经典 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)