Java笔记.docx

上传人:b****5 文档编号:5723731 上传时间:2022-12-31 格式:DOCX 页数:67 大小:1.13MB
下载 相关 举报
Java笔记.docx_第1页
第1页 / 共67页
Java笔记.docx_第2页
第2页 / 共67页
Java笔记.docx_第3页
第3页 / 共67页
Java笔记.docx_第4页
第4页 / 共67页
Java笔记.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

Java笔记.docx

《Java笔记.docx》由会员分享,可在线阅读,更多相关《Java笔记.docx(67页珍藏版)》请在冰豆网上搜索。

Java笔记.docx

Java笔记

第一章Java基本语法

一、逻辑构成:

程序头包的应用,类的定义(类头声明和类体定义)

二、物理构成:

语句、块、空白

1、语句指一行以分号“;”结束的语句;

2、块指用括号对{}界定的语句序列,块可以镶嵌使用;

3、空白是语句之间、块内或块之间空白行。

标识符由字母、数字、下划线、美元符号组成,必须从一个字母、下划线或者美元符号开始,注重大小写,无长度限制,不能是关键字。

关键字也叫保留字,是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。

转义符:

指一些有特殊含义的、很难用一般方式表达的字符。

以反斜线\开头,后跟一个字符。

如\b退格\t水平制表符\n换行\f表格符\r回车

三、数据类型:

整数类(byte、short、int、long)、文本类(char)、浮点类(double、flooat)逻辑类(boolean)。

 

1、整数:

采用三种进制:

十进制、八进制(0+八进制数)、十六进制(0x+十六进制数);字母“L”和“1”定义long,所有Java编程语言中的整数类型都是带符号的数字。

2、文本类:

16bitUnicode字符,必须包含用单引号('')引用的文字。

’a’——一个字符,’\t’——一个制表符,’\u?

?

?

?

’——特殊的Unicode字符,?

?

?

?

应严格使用四个十六进制数进行替换。

3、浮点类:

默认为double类型,浮点数就是一个数字包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double)。

4、逻辑类:

两种值:

true和false。

如booleanflag=true;该语句声明变量flag为boolean类型,它被赋予的值为true。

四、运算符和表达式:

五类运算符:

算术运算符、赋值运算符、关系运算符、布尔逻辑运算符、位运算符。

按位操作返回布尔值。

1、表达式是由常量、变量、对象、方法调用和操作符组成的式子。

数值表达式:

算术表达式、关系表达式、逻辑表达式、赋值表达式。

2、算术运算符:

%取摸运算(除运算的余数)++增量运算符--减量运算符

3、关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔值,即“真”或“假”。

(==等于!

=不等于》=大于等于《=小于等于)

4、布尔运算符及规则:

 

4、位运算符:

~位求反&按位与|按位或^按位异或<<左移>>右移>>>不带符号右移。

右移运算符对应的表达式为x>>a,运算的结果是操作数x被2的a次方来除,左移运算符对应的表达式为x<

5、赋值运算符:

 

6、其它运算符:

三目运算符(?

:

)相当于条件判断,表达式x?

y:

z用于判断x是否为真,如果为真,表达式的值为y,否则表达式的值为z。

对象运算符(instanceof)用来判断一个对象是否属于某个指定的类或其子类的实例,如果是,返回真(true),否则返回假(false)。

例如:

booleanb=userObjectinstanceofApplet

用来判断userObject类是否是Applet类的实例。

7、优先级:

 

五、流程控制:

三种基本结构:

顺序结构、分支结构【单分支语句(if-else语句)和多分支语句(switch语句)】和循环结构【次数循环语句(for语句)和条件循环语句(while语句)】。

1、分支语句:

(1)if-else语句:

格式:

if(布尔表达式)

{

语句或块1;

}

else

{

语句或块2;

}

布尔表达式返回值,如果为true,则执行语句或块1,执行完毕跳出if-else语句。

如果为false,则跳过语句或块1,然后执行else下的语句或块2。

(2)switch语句:

格式:

switch(表达式1)

{

case表达式2:

语句或块2;

break;

case表达式3:

语句或块3;

break;

case表达式4:

语句或块4;

break;

default:

语句或块5;

break;

}

表达式1的值必须与整型兼容。

case分支要执行的程序语句。

表达式2、3、4是可能出现的值。

不同的case分支对应着不同的语句或块序列。

break表示跳出这一分支。

2、循环语句

(1)for循环语句:

格式:

for(初始化表达式;测试表达式;步长)

{

语句或块;

}

首先运行初始化表达式。

然后计算测试表达式,如果表达式为true,执行语句或块;如果表达式为false,退出for循环。

最后执行步长。

(2)while循环语句:

格式:

while(布尔表达式)

{

语句或块;

}

当布尔表达式为true时,执行语句或块,否则跳出while循环。

(3)do语句:

格式:

do

{

语句或块;

}

while(布尔表达式)

先执行语句或块,然后再判断布尔表达式。

与while语句不同,当布尔表达式一次都不为true时,while语句一开始判断就跳出循环,不执行语句或块,而在do语句中则要执行一次。

六、数组的使用

1、数组声明:

数组声明时实际是创建一个引用,通过代表引用的这个名字来引用数组.

格式:

数据类型标识符[]

例如:

inta[];//声明一个数据类型为整型的数组a

pencilb[];//声明一个数据类型为pencil类的数组b

2、创建数组:

由于数组是一个对象,所以可以使用关键字new来创建一个数组。

如:

a=newint[10];//创建存储10个整型数据的数组a

b=newpencil[20];//创建存储20个pencil类数据的数组b

数组初始化:

(1)创建数组后,对每个元素进行赋值。

a[0]=5;

a[1]=4;

...

(2)直接在声明的时候就说明其值,

例如:

inta[]={4,5,1,3,4,20,2};说明了一个长度为7的一维数组。

第二章类和接口

一、类:

Java编程语言是面向对象的,处理的最小的完整单元为对象。

1、类声明:

格式:

访问说明符class类名extends超类名implements接口名

如:

publicclassHelloAppletextendsApplet

访问说明符为public,类名HelloApplet,扩展类为JDK包自带的java.applet.Applet类。

由于public的存在,所以文件名必须存为HelloApplet.java,同类名保持一致。

2、类体:

类体包括成员变量和方法

(1)成员变量:

指类的一些属性定义,标志类的静态特征

格式:

访问说明符数据类型变量名

访问说明符有public、private和protected三种:

public:

省略时默认为公有类型,可以由外部对象进行访问。

private:

私有类型,只允许在类内部的方法中使用,若从外部访问,必须通过构造函数间接进行。

Protected:

受保护类型,子类访问受到限制。

数据类型包括基本类型以及用户自定义的扩展类型。

(2)方法:

是类的操作定义,标志类的动态特征

格式:

访问说明符数据类型方法名(数据类型1变量名1,数据类型2变量名2)访问说明符为public、private和protected,其使用方法与成员变量访问说明符的使用方法一致。

数据类型:

包括基本数据类型和用户自定义的扩展类型。

数据类型为参数。

3、创建类:

(1)使用关键字new进行建立例如:

HelloApplethp=newHelloApplet();

(2)Java编程语言中允许用extends关键字从一个类扩展出一个新类,新类继承超类的成员变量和方法,并可以覆盖方法。

(3)类中有两个特殊变量super和this。

Super:

类声明中用关键字extends扩展了其超类之后,super用在扩展类中引用其超类中的成员变量。

this变量指向当前对象或实例。

str="名字:

"+name+"\nSalary:

"+salary;

上例中的语句可以换成下面的语句。

str="名字:

"+this.name+"\nSalary:

"+this.salary;

这两者是等同的,因为在Java编程语言中,系统自动将this关键字与当前对象的变量相关联。

但有一种情况例外,就是当在某些完全分离的类中调用一个方法并将当前对象的一个引用作为参数传递时。

例如:

Dayd=newDay(this);

(4)构造函数:

类中的构造函数用来初始化一个类。

构造函数为公有类型,无返回值,用来从类实例中访问类时初始化此类的私有变量。

(5)包:

包在物理上就是一个文件夹,逻辑上代表一个分类概念。

声明包的基本格式如下:

Package包名;

其中:

Package为关键字,包名为标识符。

使用包时的注意事项如下:

①Package语句要作为程序非注释语句的第一行语句。

②包内的类名惟一。

③引用包中的类时,使用import语句。

import语句的基本格式为import包名.类名,其中import为关键字,包名和类名之间用圆点(.)隔开。

4、接口:

Java编程语言中禁止多继承属性,但可以通过接口来帮助类扩展方法。

接口与类的不同在于:

(1)没有变量的声明,但可以定义常量。

(2)只有方法的声明,没有方法的实现。

接口声明的基本格式如下:

publicinterface接口名extends接口列表

5、常用数据结构及类

(1)Vector类

Vector类似于一个数组,但与数组相比在使用上有以下两个优点。

①使用的时候无需声明上限,随着元素的增加,Vector的长度会自动增加。

②Vector提供额外的方法来增加、删除元素,比数组操作高效。

有三个构造函数:

publicVector();该方法创建一个空的Vector。

publicVector(intinitialCapacity);该方法创建一个初始长度为initialCapacity的Vector。

publicVector(intinitialCapacity,intcapacityIncrement);该方法创建一个初始长度为initialCapacity的Vector,当向量需要增长时,增加capacityIncrement个元素。

Vector类中添加、删除对象的方法如下:

publicvoidadd(intindex,Objectelement)在index位置添加对象element。

publicbooleanadd(Objecto)在Vector的末尾添加对象o。

publicObjectremove(intindex)删除index位置的对象,后面的对象依次前提。

Vector类中访问、修改对象的方法如下:

publicObjectget(intindex)返回index位置对象。

publicObjectset(intindex,Objectelement)修改index位置的对象为element。

其它方法:

publicStringtoString()将元素转换成字符串。

publicintsize()返回对象的长度。

(2)Hashtable类:

将对象的名和它的值相关联同时存储,并可以根据对象名来提取它的值。

在Hashtable中,一个键名只能对应着一个键值,然而一个键值可以对应多个键名,键名必须是惟一的。

构造函数以及常用方法如下:

publicHashtable()构建散列表。

publicHashtable(intinitialCapacity)构建长度为initialCapacity的散列表。

publicintsize()返回散列表的名的个数。

publicObjectremove(Objectkey)删除散列表中key名及其对应的value值。

publicObjectput(Objectkey,Objectvalue)将对象名key和对象值value存放到散列表中。

publicObjectget(Objectkey)返回散列表key名对应的值。

publicStringtoString()转换成字符串。

(3)Enumeration接口:

实现Enumeration接口的对象生成一系列元素,通过nextElement()方法依次读取下一个元素

publicbooleanhasMoreElements()测试是否还有元素。

publicObjectnextElement()返回枚举的下一个元素。

Enumeration接口及其方法通常与Vector、Hashtable一起连用,用来枚举Vector中的项和Hashtable中的键名,

例如:

for(Enumeratione=v.elements();e.hasMoreElements();)

System.out.println(e.nextElement());

(4)Data类:

用来指定日期和时间

造函数及常用方法如下:

publicDate()从当前时间构造日期时间对象。

publicStringtoString()转换成字符串。

publiclonggetTime()返回自新世纪以来的毫秒数,可以用于时间计算。

(5)String类:

用于操作非数值型字符串,它提供了七类方法操作,分别为字符串创建、字符串长度、字符串比较、字符串检索、字符串截取、字符串运算和数据类型转换。

①字符串创建:

publicString()构造一个空字符串。

publicString(char[]value)使用字符数组value中的字符以构造一个字符串。

publicString(Stringoriginal)使用原字符串original的拷贝以构造一个新字符串。

②字符串长度:

publicintlength()返回字符串的长度。

③字符串比较:

publicbooleanequals(ObjectanObject)

比较字符串是否与anObject代表的字符串相同(区分大小写)。

publicbooleanequalsIgnoreCase(StringanotherString)

比较字符串是否与anotherString相同(不区分大小写)。

④字符串检索:

publicintindexOf(Stringstr)

返回一个字符串中str第一次出现所在的位置。

publicintindexOf(Stringstr,intfromIndex)

返回从fromIndex开始字符串str出现所在的位置。

⑤字符串截取:

publicStringsubstring(intbeginIndex,intendIndex)

返回benginIndex到endIndex之间的字符串。

⑥字符串运算:

运算符为“+”,表示连接运算。

下面的行语句输出连接的字符串。

System.out.println("Hashtable:

"+hScore.toString());

⑦数据类型转换:

各种原始数据类型与String类型之间可以通过方法相互转换。

valueOf()系列的静态方法用于从其它对象(原始数据类型对象)转换成字符串。

具体实例如下:

(1)从int转换到String。

例如:

intintvar=1;

Stringstrvar;

strvar=String.valueOf(intvar);//"1"

(2)从float转换到String。

例如:

floatfltvar=9.99f;

Stringstrvar;

strvar=String.valueOf(fltvar);//"9.99"

(3)从double转换到String。

例如:

doubledblvar=99999999.99;

Stringstrvar;

strvar=String.valueOf(dblvar);//"9.999999999E7"

(4)从char转换到String。

例如:

charchrvar='a';

Stringstrvar;

strvar=String.valueOf(chrvar);//"a"

(5)从String转换到int、float、long、double。

例如:

Stringintstr="10";

Stringfltstr="10.1f";

Stringlongstr="99999999";

Stringdblstr="99999999.9";

inti=Integer.parseInt(intstr);//10

floatf=Float.parseFloat(fltstr);//10.1

longlo=Long.parseLong(longstr);//99999999

doubled=Double.parseDouble(dblstr);//9.99999999E7

(6)从String转换到byte、short。

例如:

Stringstr="0";

byteb=Byte.parseByte(str);//0

shortsh=Short.parseShort(str);//0

(7)从String转换到char。

例如:

Stringstr="abc";

chara=str.charAt(0);//返回字符a

(8)从String转换到boolean。

例如:

Stringstr="true";

Booleanflag=Boolean.valueOf(str);//true

(6)StringBuffer类:

提供了一个字符串的可变序列,类似于String类,但它对存储的字符序列可以任意修改,使用起来比String类灵活得多。

它常用的构造函数为:

StringBuffer()构造一个空StringBuffer对象,初始容量为16个字符。

StringBuffer(Stringstr)

构造一个StringBuffer对象,初始内容为字符串str的拷贝。

append方法系列和insert方法系列:

append方法系列根据参数的数据类型在StringBuffer对象的末尾直接进行数据添加。

publicStringBufferappend(booleanb)

publicStringBufferappend(charc)

publicStringBufferappend(char[]str)

publicStringBufferappend(char[]str,intoffset,intlen)

publicStringBufferappend(doubled)

publicStringBufferappend(floatf)

publicStringBufferappend(inti)

publicStringBufferappend(longl)

publicStringBufferappend(Objectobj)

publicStringBufferappend(Stringstr)

publicStringBufferappend(StringBuffersb)

insert方法系列根据参数的数据类型在StringBuffer的offset位置进行数据插入。

publicStringBufferinsert(intoffset,booleanb)

publicStringBufferinsert(intoffset,charc)

publicStringBufferinsert(intoffset,char[]str)

publicStringBufferinsert(intindex,char[]str,intoffset,intlen)

publicStringBufferinsert(intoffset,doubled)

publicStringBufferinsert(intoffset,floatf)

publicStringBufferinsert(intoffset,inti)

publicStringBufferinsert(intoffset,longl)

publicStringBufferinsert(intoffset,Objectobj)

publicStringBufferinsert(intoffset,Stringstr)

下面这个方法用于将stringbuffer对象的数据转换成字符串:

publicStringtoString()

(7)StringTokenizer类:

实现Enumeration接口的类,它使得应用程序可以将字符串分成多个记号,默认情况下以空格为分隔符,例如将字符串“thisisatest”分成四个单词记号。

其构造函数和常用方法如下:

StringTokenizer(Stringstr)以字符串str构建StringTokenizer对象。

StringTokenizer(Stringstr,Stringdelim)

使用delim分隔符,以初始字符串str构建StringTokenizer对象。

intcountTokens()返回识别的总记号数。

booleanhasMoreTokens()测试是否还有识别的记号。

booleannextToken(Stringdelim)返回字符串delim分隔的下一个记号。

StringnextToken()返回下一个识别的记号。

 

第三章JavaApplet

1、简介:

定义:

Applet是Java语言编写的,无法独立运行,但可以嵌入到网页中执行。

用途:

用户可以静态显示Applet,像显示一幅图片或者一段文本一样;Applet也可以是一个动态交互过程,用户输入简单的数据,就会产生相应的响应。

编写格式:

编写Applet时,首先要引入java.applet包中的类,这个类里包含三个接口和Applet的类:

importjava.applet.*;

importjava.applet.Applet;

类头定义为:

publicclassMyAppletextendsApplet;

用来声明自定义类是从Applet类扩展而来的。

类体中没有应用程序中必须具备的main方法,取而代之的是下面几个常用方法:

publicvoidinit();

初始化——在这个方法中设置一些变量的初始化,像

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

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

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