考研复试java笔记.docx

上传人:wj 文档编号:4715903 上传时间:2023-05-07 格式:DOCX 页数:27 大小:42.11KB
下载 相关 举报
考研复试java笔记.docx_第1页
第1页 / 共27页
考研复试java笔记.docx_第2页
第2页 / 共27页
考研复试java笔记.docx_第3页
第3页 / 共27页
考研复试java笔记.docx_第4页
第4页 / 共27页
考研复试java笔记.docx_第5页
第5页 / 共27页
考研复试java笔记.docx_第6页
第6页 / 共27页
考研复试java笔记.docx_第7页
第7页 / 共27页
考研复试java笔记.docx_第8页
第8页 / 共27页
考研复试java笔记.docx_第9页
第9页 / 共27页
考研复试java笔记.docx_第10页
第10页 / 共27页
考研复试java笔记.docx_第11页
第11页 / 共27页
考研复试java笔记.docx_第12页
第12页 / 共27页
考研复试java笔记.docx_第13页
第13页 / 共27页
考研复试java笔记.docx_第14页
第14页 / 共27页
考研复试java笔记.docx_第15页
第15页 / 共27页
考研复试java笔记.docx_第16页
第16页 / 共27页
考研复试java笔记.docx_第17页
第17页 / 共27页
考研复试java笔记.docx_第18页
第18页 / 共27页
考研复试java笔记.docx_第19页
第19页 / 共27页
考研复试java笔记.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

考研复试java笔记.docx

《考研复试java笔记.docx》由会员分享,可在线阅读,更多相关《考研复试java笔记.docx(27页珍藏版)》请在冰点文库上搜索。

考研复试java笔记.docx

一:

数据

1:

整形数据:

byte1字节,short2字节,int4字节,long8字节。

2:

浮点数据:

float32位,double64位,小数默认double,定义float必须加f,即floatf1=13.23f;

3:

字符型:

单引号表示字符,双引号表示字符串,int和char之间可以强制转换。

4:

常量:

用final声明,finaldoublePI=3.14。

此时对PI=2,会提示错误“不能对终态变量赋值”,但是声明语句如果是“finaldoublePI”,可以对PI赋值一次PI=3.14,

但是不能继续赋值,比如再赋值PI=2时候,就会出错。

二:

运算

1:

位运算:

~按位取反,^按位异或,<<左移,>>>右移,>>循环右移。

2:

隐式转换:

低级向高级转换,直接转换,显示转换:

高级向低级,(int)36.25f

三:

注释

1:

//单行注释,/*。

*/多行注释

四:

字符串

1:

用字符数组创建字符串

chara[]={‘g’,’o’,’o’,’d’};

Strings=newString(a);

2:

Strings=newString(“good”);

3:

用字符数组的一部分创建

chara[]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’;

Strings=newString(a,2,4);//即uden,2是开始位置,4是截取长度。

注意:

String中S一定要大写。

4:

字符串各种函数:

(1)字符串连接”+”:

s=s1+’’+s2;连接函数中非字符型数据也可以连接,intk=7;s=s1+’’+s2+k;

(2)获取字符串长度“s.length()”

(3)字符串查找“s.indexOf(s1)”,在s串中查找s1子串,

s.indexOf(s1)返回的是s1第一次出现的位置。

s.lastIndexOf(s1)返回的是s1最后一次出现的位置。

如果没查找到,返回-1

(4)获取指定位置的字符“s.charAt(k)”;

(5)获取子串“substring(3,7)”或者“substring(3)”

(6)去除前导空格和尾部空格“trim()”,s3=s.trim();执行后s长度不变,把去除空格的s赋值给s3.

(7)字符串替换“replace(‘a’,‘A’)”用A替换a,

S3=s.replace(‘a’,‘A’)

(8)判断开始和结尾(s.startsWith(“22”),s.endsWith(“22”))返回boolean型变量

(9)判断字符串是否相等。

Booleanb=s1.equals(s2)

equals()区分大小写,而equalsIgnoreCase()不区分大小写。

(10)pareTo(str2),返回1,-1,0

(11)大小写转换,

s.toLowerCase()把大写变小写

s.toUpperCase()把小写变大写

返回一个新的字符串。

(12)字符串分割

形式1:

String[]s3=s1.split(",");按照s1中的,号划分,画出来是一个字符串数组,赋给s3

形式2:

String[]s3=s1.split(",",3)按照s1中的,号划分成3段,

注意:

划分符号一定要是字符串形式,定义字符串数组的时候一定要一并的给字符串赋值String[]s3=newstring[]是错的。

5:

格式化日期:

Datedate=newDate,则date中就包含了所有的时间,然后各种date的引用,比如

stringmonth=string.format(“%tB”,date)

就是从date中提取month出来

6:

各种格式

Stringstr=string.format(“%x”,200)

200以16进制的形式放入str中。

7:

正则表达式

Stringregex=\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}

Str1.matches(regex),是否匹配正则表达式,返回布尔。

\\w意思是任意单个字符,\\w+意思是至少一个单个字符,

(\\.\\w{2,3})*\\.\\w{2,3}是为了匹配.COM或者.cn

\\.\\w{2,3}意思是任意字符出现2至3次,

(\\.\\w{2,3})*是(任意字符出现2至3次)至少出现0次。

(\\.\\w{2,3})*\\.\\w{2,3},是(任意字符出现2至3次)至少出现1次

8:

字符串生成器:

一般来说要增加字符就是s=s+‘k’,但是这样系统速度很慢,每次都要创建新的字符串,于是有了字符串生成器,创建一个字符串生成器。

StringBuilderbuilder=newstringbuilder(“”)

Builder.append(j),就是增加字符j

Builder.insert(5,“word”)在5号位插入word,插入后w位5号位

Builder.delete(5,10);删5留10

9:

计算时间

怎么计算一段代码的执行时间?

LongstartTime=System.currenttimemillis(毫秒)

{代码}

LongendTime=System.currenttimemillis

Longtime=strattime-endtime;

五:

数组

1:

二维数组的长度,b.length,指的是b的行数。

2:

使用字符串函数要importjava.util.Arrays

3:

Arrays.fill(a,8)把a数组中所有元素用8代替。

Arrays.fill(a,4,16,8)把a数组中4到16的所有元素用8代替,包括4,不包括16.

4:

排序:

Arrays.sort(a)

5:

复制:

inta[]=Arrays.copyOf(b,5);复制前5个元素

inta[]=Arrays.copyOfRange(b,5,9);

6:

查询intindex=Arrays.binarySearch(arr,0,18,8),查找之前必须要排序。

六:

类和对象

1:

构造方法:

方法有两种,成员方法和构造方法,构造方法与类同名,每当实例化一个对象的时候,就会自动调用构造方法,构造方法没有返回值

2:

静态方法:

一般方法的调用,要先申明一个class类,然后a.method,但是静态方法不用声明,直接就可以class.method。

静态方法不能直接调用非静态方法,不能使用this关键字。

七:

数字处理类

1:

数字格式化

(1)使用十进制格式化数字要

importjava.text.decimalformat

(2)deimalformat特殊字符

0:

表示一个数字,如果不存在该数字,则显示0,比如00.00,用7.5去套用,显示出来时07.50

#:

同上,但是不存在就不显示,比如##.##,用7.5套用,就是7.5

\u2030:

千分数,0.00\u2030,用0.789来套用,就是789.00%0

(3)定义一种格式,并套用该格式

Decimalformatmyformat=newdecialformat(###,###.###)

Stringoutput=myformat.format(value)

(4)math

Math的方法都是静态方法,可以直接引用,比如

Doublet=math.sin(1.23)

Doublet=math.toRadians(180)

Doublet=math.todegrees(1.23)

Doublet=math.exp(3)

Doublet=math.log(3)

Doublet=math.log10(3)

Doublet=math.sart(3)

Doublet=math.cbrt(3)

Doublet=math.pow(2,3)2的3次方

Ceil大于参数的整数,floor小于参数的整数,rint接近参数的整数,

5:

math.random()

Randomr=newrandom();

r.nextint();随即返回一个整数

r.nextint(10);随即返回大于0小于10的的整数

r.nextGaussian()按高斯分布随即产生

八:

继承

1:

继承用extends,super()调用父类构造方法,

super.do()调用父类成员方法do。

2:

重写父类,当返回值,参数类型个数次序都相同的时候,叫重构。

3:

重写父类方法,修改权限只能由小到大,譬如,父类位protected,子类只能是public,不能private。

4:

被定义为final类型的方法不能被重写。

5:

getclass,返回对象执行时的class实例

6:

向上转型:

就是一个数据原本是四边形类型的,你给他一个正方形定义,一样通过。

7:

实例:

平行四边形就是四边形的一个实例,子类是祖先类的一个实例,qinstanceofp判断q是不是p的一个实例。

8:

不定长参数:

publicstaticintadd(int...a)编译器讲(int。

a)看做(int[]a),同时也有a.length之类。

9:

接口:

只有public和abstract两种权限,接口也具有向上转型,接口也可以定义接口数组,比如有接口drawteat,可以定义drawtesta[];里面的元素可以是继承drawteat的类。

10:

多重继承,就是一个类继承自几个类,java中不允许类多重继承,但是允许接口的多重继承,

classAimplements接口1,接口2,接口3

并且,接口之间也可以相互继承

Interface接口1extends接口2

11:

import导入包,importcom.lzw就是com.lzw包中所有类都可以用,importcom.lzw.math就是只有math类可用。

12:

final定义的随机数,可以随机变化的,而staticfinal定义的随机数,出现第一次以后就定格了。

13:

被定义成private的方法被指定为final,父类中final的方法不能被覆盖。

14:

外部类不能直接访问内部类元素,要通过引用访问,例如in.y。

15:

内部类依赖于外部类,所以要先存在一个外部类对象,再类中定义一个内部类对象。

例如

outerclass.innerclassA=newouterclass.innerclass

是错的,应该

Outerclassout=newouterclass

Outerclass.innerclassB=A.newinnerclass

16:

局部内部类,在外部类的一个方法中定义内部类,则该方法外部都不能访问该内部类。

但是内部类可以访问外部类的所有成员。

17:

某个类继承内部类的必须给予这个类一个带参数的构造方法,并且该构造方法的参数类型为被继承的内部类的外部类,同时在构造方法体重使用a.super()语句。

PublicclassoutputinnerclassextendsclassA.classB

PublicOutputinnerclass(classAa)

{a.super();}

18:

异常捕获结构由:

trycatchfinally三部分

19:

exception是try代码块传递给catch代码块的变量类型,e是变量名,catch块中通常有3个函数。

e.Getmessage();输出错误性质

e.Tostring();输出异常的类型与性质

e.Printstacktrace();指出异常的类型,性质,栈层次和程序中的位置。

Exception代表所有异常,其余的还有arithmeticexception异常,也可以catch(arithmeticexceptione)

20:

自定义异常:

例如自定义一个MyException异常

先定义MyException类继承Exception,然后在类里面定义方法。

调用此异常时,就是,thrownewMyException;

21:

方法抛出异常:

staticintquotient(intx,inty)throwsMyexception

注意,在函数定义的时候用throws。

22:

集合类就是把许多数据放一起,这些数据可以组成数组类,可以链表类,可以树,可以哈希。

23:

集合类父类是collection,,下属有set,和list,set的下属有hashset,treeset,list的下属有arraylist,linkedlist。

Set不按特定的方式排序。

只是简单的加入集合类中,但是set不包含重复对象。

定义就是collectionlist=newArrayList();

操作有,add(9),remove(9),isEmpty(),iterator(),size()

Iterator是迭代器,有iteratorit=listiterator。

此时it就好像是集合里面的一个指针,有

It.hasnext(),it.next()等方法、

与数组相同,集合的索引也是从0开始。

24:

set中的treeset,使set集合在遍历集合时按照递增次序排列。

25:

反射,反射类似于调查一个类的情况,

例如,example_01类有3个构造函数,下面我要对这3个构造函数的情况进行调查

首先,我要通过example_01类生成一个Class型变量,通过这个变量可以访问example_01类的状况。

ClassexampleC=example.getClass()

解析:

定义一个Class型变量exampleC,赋值为example.getClass,以下的所有活动都通过这个Class形变量开展的

ConstructordeclaredConstructors[]=exampleC.getDeclaredConstructors();

解析:

Class型变量exampleC,并对此变量调用getDeclaredConstructors()方法,返回的是exampleC中的所有构造方法,而exampleC是example.getClass()出来的,所以返回的还是example的构造方法,返回的构造方法看做是数组元素,保存在Constructor类型的数组中declaredConstructors[];现在Constructor类型的数组中有3个元素,declaredConstructors[0]表示第一个构造方法。

下面就可以分别调查三个构造函数了。

譬如

declaredConstructors[i].isvarargs,判断是否有可变数量的参数,

ClassparameterTypes[]=declaredConstructors[i].getParameterTypes();

把构造函数的参数放进parametertypes数组中

ClassexceptionTypes[]=declaredConstructors[i].getExceptionTypes();

把构造函数的异常放进exceptionTypes数组中

declaredConstructors[i].newinstance()

执行该构造方法

26:

就好像constructor是管类中的构造函数,filed是管理类中的成员变量。

步骤与上诉完全一样

FielddeclaredFields[]=exampleC.getDeclaredFields();

27:

以上二者是访问构造方法和成员变量,现在访问方法。

MethoddeclaredMethods[]=exampleC.getDeclaredMethods();

28:

Annotation,定义Annotation类型,用@interface

@target({Elementype.field,Elementype.METHOD})

@retention(retentionpolicy.RUNTIME)

Public@interfaceA{}

定义Annotation类型A,A可以定义成员变量和方法。

A的作用范围是RUNTIME

29:

枚举定义枚举常量

Publicenumconstantstest{Constants_A,Constants_B,Constants_C}

Constantstest.values(),可以把枚举成员以数组形式返回

Constantstest.valueof(“constants_B”)将普通字符串constants_B转换为枚举实例、

Constantstest.values()[i].ordinal()

返回枚举类型中位置索引值。

30:

泛型:

泛型就是一种数据类型,这种数据类型可以被所有的数据类型所接收,一般用T表示。

Publicclassoverclass

{

PrivateTover;

…………

}

Publicstaticvoidmain(stringargs[])

{

Overvclassover1=newoverclass

}

31:

所有输入流都是inputstream和reader的子类,所有输出流都是outputstream和writer的子类。

32:

File类。

创建一个文件Filefile=newFile(“D:

/1.txt”)

33:

程序输出一个流来写入文件,

首先创建一个文件Filefile=newFile("word.txt");

然后创建对于这个文件的流

FileOutputStreamout=newFileOutputStream(file);

然后把字节型数组buy输入文件中

Bytebuy[]=”….”.getBYTEs();

Out.write(buy)

34:

从文件产生一个流,输入程序。

FileInputStreamin=newFileInputStream(file);

bytebyt[]=newbyte[1024];

intlen=in.read(byt); 、System.out.println(newString(byt,0,len));

35:

Fileoutputstream和Fileinputstream不足之处在于是按字节进行操作的,一个汉字两个字节,读取不好会出现乱码。

所以有了FileReader和Filewriter,FileReader顺序读取文件,直到源末尾或者流被关闭。

Filewriterout=newFilewriter(file);

Out.writer(s);

Filereaderin=newFilereader(file);

Intlen=in.read(s);

System.out.println(newString(byt,0,len));

36:

缓冲区I/O

Filewriterfw=newFilewriter(file)

Bufferedwriterbufw=newbufferedwriter(fw)

37:

数据输入输出流

Fileoutputstreamfs=newfileoutputstream(“word.txt”)

Dataoutputstreamds=newdataoutputstream(fs)

38:

ZIP输入输出流

fileoutputstreamfs=newfileoutputstream(“word.txt”)

ZIPoutputstreamds=newZIPoutputstream(fs)

39:

常用SWING组件

Jbutton

Jcheckbox复选框

Jcombox下拉表框

Jframe

Jdialog

Jlabel

Jradiobutton单选按钮

Jlist

Jtextfield文本框

Jpasswordfield

Jtextarea文本域

Joptionpane

40:

JFrame定义格式

JFramejf=newJFrame(title);

Containercontainer=jf.getcontentpane()

41:

setHorizontalAlignment设置文本的水平对齐方式

setHorizontalAlignment(swingconstants.center)

42:

container.setBackground(Color.white)

设置背景颜色为白色

43:

jf.setVisible(true);

jf.setSize(200,150);

44:

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)

Jf的关闭方式,

关闭方式有四种

DO_NOTHING_ON_CLOSE

DISPOSE_ON_CLOSE

HIDE_ON_CLOSE

EXIT_ON_CLOSE

45:

对话框

PublicJDialog(Framef,Stringtitle,Booleanmodel)

46:

标签

PublicJLabel(Stringtext,Iconicon,intaligment)

47:

图标

通过Icon接口来实现,其中必须实现Icon的3个方法

Publicintgeticonheight()

Publicintgeticonwidth()

PublicvoidpaintIcon(componentarg0,Graphicsarg1,intarg3,intarg4)

1:

标签文字居中

Jl.setHorizontalAlignment(SwingConstants.CENTER)

jLabelj=newJLabel(“测试”,icon,SwingConstants.CENTER)

2:

容器背景

Container.setBackground(color.white);

3:

即便是对话框,也能成为容器。

4:

未设置Layout时,panel默认为流布局的.假若设置为setLayout(null),则必须给每个组件setBounds,同理,若设置了相对布局,则设置setBounds后也是无效,同理setsize();setLocation()都没用。

Frame默认的布局管理器为borderLayout

4.1:

borderLayout中添加组件如果不指定,就默认添加到center区,borderlayout每个区域只能加一个组件,如果加入多个,后面一个会把前面一个给盖住。

如果一定要多放,可以把组件放进panel中,再把panel放进区域。

5:

给标签添加图标有三步:

第一步:

获取url,

URLurl=MyImageIcon.class.getresource(“c.jpg”)

第二步:

实例化Icon

Iconicon=newImageIcon(url)

第三步:

添加图片

Jl.seticon(icon)

6:

流布局是flowlayout(2,10,10)。

2说明靠右摆放(但是依然是从左到右),两个10分别是行间距和列间距。

7:

网格布局中,

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2