JAVA复习知识点.docx
- 文档编号:7257587
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:15
- 大小:23.80KB
JAVA复习知识点.docx
《JAVA复习知识点.docx》由会员分享,可在线阅读,更多相关《JAVA复习知识点.docx(15页珍藏版)》请在冰豆网上搜索。
JAVA复习知识点
JAVA复习----知识点
1、JAVA2三大平台:
JAVAME(嵌入式应用)JAVASE(桌面应用)JAVAEE(企业应用)
2、JAVA具有多方面优势其特点:
1)平台无关性2)完全面向对象和简单性3)可靠性4)安全性5)多线程6)直接支持可分布式的网络应用
3、高级语言通常将程序编译成可执行文件(*.exe),再由操作系统执行;与此方式不同,JAVA源程序(*.java)经编译生成的是一种中间代码,称为字节码文件(*.class),它由Java虚拟机解释执行,因而与操作平台无关。
4、JAVA不支持类似C语言的面向过程设计,不支持类似C++语言的全程变量,goto语句,宏定义,全局函数等语法规则,不支持结构,联合和指针等数据类型。
JAVA语言通过引用模型实现了指针的功能,通过类实现了结构类型。
5、JAVA不支持多重继承,友元类和运算符重载,通过“单重继承+接口“方式实现了多重继承功能。
6、JAVA采用域管理方式的安全模型,无论是本地代码还是远程代码,都可以通过配置策略设定可访问的资源域。
7、JDBC定义了JAVA应用程序与关系数据库连接的规范。
8、JAVA应用程序有两种形式:
Application和Applet
9、一个JAVA应用程序就是多个类的集合,类由关键字class声明,类中包含成员变量和成员方法。
10、JAVA虚拟机执行的应用程序具有以下3个典型特点:
1)动态性2)异常处理3)多线程
11、javadoc.exe文档生成器
12、JAVA源程序文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class),再由解释器java.exe执行。
13、对于Applet应用程序,也是先将源文件(*.java)编译生成字节码文件(*.class),再将字节码文件作为对象嵌入到超文本文件(*.html)中。
14、如果要使用其他包中的类,必须用import语句导入。
再源程序文件中package语句只能写一次,且必须写在程序的第一行,即写在类声明之前。
15、声明为public的类或接口只能有一个,且文件名必须与该类名相同。
16、一个JAVA源程序文件(.java)中可以声明多个类,其中只能有一个类声明为public,并且该类名必须与文件名相同。
17、/**文档注释*/,用于从源代码自动生成文档,执行javadoc命令,可根据代码中的内容生成WEB网页。
18、java语言的引用数据类型包括数组、类(class)、和接口(interface)。
19、十六进制数:
以0x或0X为前缀,其后跟多个0-9之间的数字或a-f、A-F之间的字母。
20、浮点数默认类型为double,float浮点数后缀为F(或f).
21、布尔类型(boolean)表示逻辑量,也称为逻辑型,只有true和false两个取值。
22、字符类型(char)表示Unicode字符,一般字符占用2字节。
23、java语言提供一种特殊的变量,只能进行一次赋值,称为最终变量,采用关键字final声明。
24、java中,使用继承性、多态性等技术,实现软件重用。
25、赋值运算符为“=”,关系运算符中判断是否相等用“==”。
26、条件运算符“?
:
”是三目运算,由3个操作数参与运算。
27、float=0.0 ;//语法错误,0.0默认double类型,赋值不相容。
0.0f
28、switch语句中,<表达式>和<常量表达式>的数据类型必须是整数或字符类型,switch语句的逻辑分析。
29、publicStringconcat(Stringstr)//将指定字符串联到此字符串的结尾。
30、使用new运算符申请数组所需要内存单元的语法格式:
数组变量=new数据类型 [长度]。
31、JAVA语言自动为每个数组变量提供length属性表示数组占用的存储单元个数。
使用点运算符或得数组长度的格式如下:
数组变量.length。
32、sizeof不是java的关键字,abstract是;False是合法的标识符
33、如果数组元素又是数组,则成为多维数组(multidimensional),常用的是二维数组,声明多维数组时,需要标明数组的维数。
34、Applet继承自java.awt.Applet或javax.swing.JApplet
35、java中允许使用ArrayList
36、Vector类可以实现可增长的对象数组。
37、Applet类的getImage()方法读取指定URL的图像文件,返回Image对象。
38、java不支持C/C++中的struct,一个类就是一个struct..
39、java类的结构有类声明(类头)和类体组成。
40、重载的多个方法为一种功能提供多种实现。
重载方法之间必须以不同的参数类型、参数个数、参数的次序来区别。
41、类的构造方法(constructor)用于创建类的一个实例并对实例成员变量进行初始化。
构造方法与类中成员方法的不同之处是:
构造方法与类同名;构造方法通过new运算符调用。
42、一个类可声明多个构造方法对成员变量进行不同需求的初始化,构造方法不需要写返回值类型,因为它返回的就是该类的一实例。
43、当以个类声明了构造方法,Java不再提供默认构造方法。
44、this用于指代调用成员方法的当前对象自身。
45、对象运算符instanceof判断一个对象所引用的实例是否属于指定类及其子类,运算结果是boolean类型。
46、类有2种访问控制权限:
公有和缺省,公有权限使用public修饰符,可被类访问;缺省权限没有修饰符,可被当前包(当前文件夹)中的类访问。
47、类的成员的4种访问控制权限
48、public等权限修饰符不能用于修饰方法体重的局部变量。
49、java类中的成员分为两种:
实例成员和静态成员。
使用关键字static声明的成员称为静态成员(也称类成员),否则为实例成员。
实例成员属于对象,只有创建了实例,才能通过对象访问实例成员变量和调用实例成员方法,本章前面讨论的成员变量和成员方法都是实例成员。
50、静态通过类访问,非静态通过对象访问。
51、java是类的单继承的,一个类只能有一个父类(可以有多个子类),不能有多个父类。
子类不能继承父类的构造方法。
52、Java约定该树的根是Object类。
具有继承关系的、相距多个层次的类之间称为祖先(ancestor)类与后代(descendant)类,父类也称为直接祖先关系。
53、子类不能访问父类的私有成员(private)。
54、子类对象即是父类对象,父类对象不是子类对象。
父类对象能够引用子类实例,反之不行。
55、方法重载都是编译时多态。
56、从类的设计者角度看,类的继承性和多态性使类易于扩充功能,增强了软件的可维护性。
57、使用关键字abstract声明的类称为抽象类,使用abstract声明的成员方法称为抽象方法。
类的变量不能用abstract声明。
58、一个非抽象类必须实现从父类继承来的所有抽象方法,抽象类不能被实例化,不能创建抽象类的实例。
59、构造方法BufferedReader(Readerin,intsz)中的参数sz的含义。
60、最终类不能被继承,即不能声明最终类的子类。
61、接口(interface)是一组抽象方法、常量和内嵌类型的集合。
62、接口中的成员方法都是抽象的实例成员方法,默认修饰符为publicabstract,不能声明为static。
63、接口的继承性事多继承,即一个接口可以有多个父接口。
64、一个容器之中可以放置其他容器,使用多层容器可以表达复杂的布局。
65、容器有窗口(window)和面板(panel)两种,对应有window窗口类和panel面板类,它们都是Containe容器的子类。
66、TextField中的setEchoChar(charc)方法的作用
67、java.awt中的布局管理类主要有:
FlowLayout、BorderLayout和GridLayout,GardLayout.
Window窗口类的默认布局是BorderLayout,Panel面板类的默认布局是FlowLayout。
如果一个容器需要改变其默认布局管理器,可以调用Container容器类的setLayout()方法。
68、java.awt.Front类表示字体,一种字体由字体名、字形、字号等属性组成。
69、JCcomponent继承自AWT的容器类java.awt.Container,所以Swing组件都是容器。
70、文本编辑组件主要有:
JTextField(单行)、JPasswordField和JTextArea(多行)。
JPasswordField是JTextField的子类。
71、线程是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分配的基本单位。
线程是线程调试管理器的调度对象。
72、线程状态包括5种:
新建、继续、运行、等待、终止。
73、两种创建线程方式的比较:
1、继承线程Thread类,2、实现Runnable接口
74、只有处于新建态的线程对象才能调用start()方法启动,一个线程只能启动一次,如果一个已启动的线程对象再次调用start()方法;则抛出异常。
75、线程睡眠sleep()方法使当前线程停止执行若干毫秒,线程由运行态进入正等待态,睡眠时间到时线程可再次进入运行状态。
sleep()方法声明如下参数millis指定睡眠毫秒数。
publicstaticvoidsleep(longmillis)throwsInterruptedExcepion
76、Java提供10个等级的线程优先级,分别用1-10表示,优先级最低为1,最高为10,默认值是5。
77、setPriority()方法可改变线程对象的优先级。
78、Java提供关键字synchronized用于声明一段程序为临界区,声明有两种方法:
声明一条语句、声明一个方法。
79、java.lang.Object类提供wait()、notify()和notifyAll()方法实现线程间通信。
80、URL(统一资源定位符),是专为标示Internet上资源位置而设的一种编址方式。
81、用户的网络应用程序,使用1024以上的端口。
82、Applet是可以嵌入Web页的最小应用,又称为最小应用程序,它不能独立运行,必须窃入到HMTL文档中,由浏览器解释执行。
Applet体现了Java的切入式特性。
83、HMTL文档显示的是静态Web页面。
84、Applet类是Panel的子类。
一个类声明集成Applet类或JApplet类,该类就是一个能够嵌入到Web页中运行的Applet应用程序。
一个Applet应用程序必须声明为public,其中没有构造方法、解析方法和main()方法。
85、Applet容器的绘图方法是paint()方法,浏览器运行时会自动执行paint()方法绘图。
86、一个Applet对象经历由初始态、运行态、停止态到消亡态的一个生命周期。
Applet类声明了与生命周期相关的4个方法:
init()、start()、stop()、和destroy()。
这些方法由浏览器自动调用执行。
87、abstract不能修饰类的属性。
88、Java支持流技术,Java为多种场合提供了不同的流类。
按照流的方向性,流可分为输入流和输出流两种。
89、字节流包括字节输入流和字节输出流,这两大类都是由多个类组成的,InputStream类及其子类实现多种字节输入流,OutputSream类及其子类实现多种字节输出流。
90、System.err以PrintStream类的对象实现标准错误输出功能。
91、对象流分为对象输入流ObjectInputStream类和对象输出流ObjectOutputStream类。
92、Reader和Writer类书字符输入/输出流的抽象类。
93、URL制定在Internet上的某个信息资源的地址,包含协议、主机、端口及文件名。
94、ArrayList数组列表类使用一堆数组实现List.
95、LinkedList链表类使用循环双链表实现List.
96、小应用程序生命周期中,哪两个方法只能执行一次,哪两个方法可以被反复执行多次?
答:
只能执行一次init(),destroy();可以被反复执行stop(),start()。
97、数据类型的两种转换:
强制转换和自动转换。
98、Strings;System.out.println(s);
答:
输出字符串s.
99、protectedStringtoString(){}
100、哪个方法能唤醒等待队列中其他线程,使它们进行可运行状态。
答:
notify().
101、“FileInputStream、ObjectInputStream、CharInputStream、ZipInputStream”这些类中,哪一个不是InputStream的子类
答:
CharInputStream不是。
102、JFrame、JButton和JApplet这些常用的swing组件都属于容器。
103、简答:
方法调用的参数传递原则:
与赋值相同,即实际参数向形式参数赋值。
传递方式因形式参数的数据类而不同,若是基本数据类型,则传递值;若是引用数据类型,则传递引用。
在方法体内,如果修改引用类型的形式参数,同时改变对应的实际参数。
104、简答:
关键字this与super的用法
this:
代表了当前对象的一个引用,通过this的使用,可以方便地设访问当前对象的属性值,也可以用在构造方法的重载中。
super:
代表当前对象的直接父类,是当前对象的直接父类的引用,一般用于:
(1)访问直接父类中被隐藏的域和被子类覆盖的方法。
(2)调用直接父类的构造方法对父类中的成员进行初始化。
105、编程:
写一个Application程序,输出“HelloWorld!
”
publicclassHelloWorld
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("HelloWorld!
");
}
}
106、编程:
写一个Applet程序,输出“HelloWorld!
”
importjava.awt.Graphics;
importjava.applet.Applet;
publicclassHelloAppletWorldextendsApplet{
publicvoidinit(){
resize(400,200);
}
publicvoidpaint(Graphicsg){
g.drawString("Helloworld!
",10,20);
}
}
107、编程:
判断某年是否为闰年
importjava.util.Scanner;
publicclassRunyear{
publicstaticvoidmain(Stringargs[]){
Scannerscanner=newScanner(System.in);
System.out.println("请输入年份");
intyear=scanner.nextInt();
if(year%4==0&&year%100!
=0||year%400==0)
System.out.println(year+"为闰年");
else
System.out.println(year+"不为闰年");
}
}
108、编程:
输出Fibonacci数列
publicclassFib_while
{
publicstaticvoidmain(Stringargs[])
{
finalintMAX=20;
inti=0,j=1,count=0;
while(count { System.out.print(""+i+""+j); i=i+j; j=i+j; count+=2; } System.out.println(); } } 109、编程: 用javalangmath类生成10个0-99之间的随机整数,求最大最小值。 importjava.lang.*; publicclassRandomCompare{ publicstaticvoidmain(Stringargs[]) { intnum; intmax=0,min=100; System.out.println("产生0~99随机数: "); for(inti=0;i<10;i++) { num=(int)(Math.random()*100); System.out.println(num+"\t"); if(num>=max) max=num; if(num<=min) min=num; } System.out.println("max="+max+"\t"+"min="+min); } } 110、编程: 1+1/2! +1/3! +`````` publicclassJieCeng{ publicstaticvoidmain(Stringargs[]) {doubles=0,n=1; for(inti=1;i<20;i++) { n=n*(1.0/i); s=s+n; System.out.println(s); } } }111、编程: 把一个程序改成递归形式。 112、编程: 对一数组赋值,然后逆序输出。 publicclassNXoutput{ publicstaticvoidmain(Stringargs[]) { int[]a={10,30,22,43,56,33,66,57,85,3}; System.out.print("数组为"); for(inti=0;i<10;i++) { System.out.print(a[i]+""); } System.out.println(); System.out.print("逆序输出数组为: "); for(intj=9;j>=0;j--) { System.out.print(a[j]+""); } } }113、编程: 写一个矩形类(类名为: Rect),包含: ①两个protected属性: 宽、高;②两个构造方法: 一个带两个参数,一个不带参数;③两个方法: 求面积area()、求周长perimeter() publicclassRect{ protectedintwidth,heigh; fuxi(intw,inth){ width=w; heigh=h; } fuxi() { } intarea(){ returnwidth*heigh; } intperimeter(){ return2*(width+heigh); } } 114、编程: ①创建一个自定义的框架Frame对象作为程序的主窗口;②设置窗口标题;③窗口位置(200,200)、窗口大小(240,150);④设置流布局管理;⑤添加标签、文本行及按钮组件;⑥事件响应: 点击“Ok”按钮,能实现把第一个文本行中的信息显示在第二个文本行。 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; publicclassno114extendsJFrameimplementsActionListener{ privateJLabellabel1,label2; privateJButtonbt; privateJTextFieldinput,output; publicfuxi(){ super("我的Java图形用户界面"); label1=newJLabel("input: "); label2=newJLabel("output: "); bt=newJButton("copy"); input=newJTextField(15); output=newJTextField(15); bt.addActionListener(this); setLayout(newFlowLayout()); Containerfm=getContentPane(); setSize(240,150); setLocation(200,200); fm.add(label1); fm.add(input); fm.add(label2); fm.add(output); fm.add(bt); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==bt) output.setText(input.getText()); } publicstaticvoidmain(Stringargs[]){ fuxij=newfuxi(); j.show(); } } 115、编程: 由键盘输入一个整数,求出该数所有的因子,如输入12,则输出12的所有因子为1、2、3、4、6、12 importjava.util.*; publicclassYinZi { publicstaticvoidmain(Stringargs[]) { Scannerscanner=newScanner(System.in); intnum=scanner.nextInt(); for(inti=1;i<=num;i++) { if(num%i==0) System.out.print(i+""); } } }116、编程: 写一个程序,将[1,1000]范围内能同时被3、5整除的数输出。 publicclassMMM { publicstaticvoidmain(Stringargs[]) { for(inti=1;i<1000;i++) { if(i%3==0&&i%5==0) System.out.print(i+""); } System.out.println(); } } 117、编程: 写一个字符界面的应用程序,从键盘接收用户输入的5个整数,输出其中的最大、最小值。 importjava.awt.*; importjavax.swing.*; importjava.awt.event.*; publicclassno117extendsJFrameimpl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 复习 知识点