《Java语言程序设计一》复习资料Word文档下载推荐.docx
《《Java语言程序设计一》复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计一》复习资料Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
![《Java语言程序设计一》复习资料Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/22/57ae898a-2c02-4eb1-9f50-e55da8f5ea12/57ae898a-2c02-4eb1-9f50-e55da8f5ea121.gif)
编程语言的四个发展阶段
(1)面向机器语言
(2)面向过程语言(3)结构化程序设计阶段(4)面向对象编程。
代码TextArea text=new TextArea();
JScrollPane jsp=new JScrollPane(text);
().add(jsp);
可以将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。
多任务是针对操作系统而言的,表示操作系统可以同时执行多个程序;
多线程则是针对一个程序而言的,表示一个程序内部可以同时执行多个线程。
在循环中使用break语句,将使循环终止,流程跳转到break语句所在的循环外面的第一个语句继续执行;
在循环中使用continue语句,将提前结束本次循环,流程跳转到continue语句所在循环的第一个语句继续执行。
用final修饰的类不能被继承,即不能有子类;
用final修饰的方法不能被重写。
Java小应用程序播放音频文件需要用到的类的类名是AudioClip,创建对象的方法是getAudioCilp() 。
package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包,而import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。
在JAVA中实现与后台数据库的连接可以采用二种方法:
(1)或者编写一个驱动程序接受JDBC调用,执行SQL对数据库的调用。
(2)或者使用已存在的ODBC驱动程序,用JDBC-ODBC桥将JDBC与ODBC连接起来。
用向量类的对象存储数据与用数组表示数据是有区别的:
(1)数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据;
(2)数组一旦用new运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加。
构造方法的名字和类名相同,且没有任何返回值,创建一个对象是执行构造方法,由系统自动调用。
创建一个File对象构造方法有:
(1)包含路径名的字符串;
(2)含有路径名的字符串和含文件名的字符串;
(3)一个代表路径的文件和一个含有文件名的字符串。
设置组件的字体和颜色的方法:
(1)设置字体:
用Font类创建一个字体对象,该对象表示一种字体,通过组件对象名调用方法SetFont(Font f),即可设置组件的字体
(2)设置颜色:
用Color类创建两个颜色对象,表示两种颜色,一种颜色表示组件的前景色,另一种表示背景色,通过组件对象名调用方法SetBackground(Color C)可设置组件的背景色,调用方法SetForeground(Color C)可设置组件的前景色。
MouseMotionListener接口事件的处理。
鼠标移动事件有两种:
拖动鼠标和移动鼠标;
产生的事件类型MouseEvent;
获得监视器的方法是addMouseMotionListener( );
事件接口中的方法为mouseDragged(MouseEvent e) ;
和mouseMoved(MouseEvent e) 。
继承是一种由已有的类创建新类的机制;
利用继承可以创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类;
新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为;
由继承而得到的类称为子类。
菜单上的事件的处理方法:
(1)单击菜单项可产生ActionEvent事件处理该事件的接口是Actionlistener;
(2)接口中的方法是actionPerformed(ActionEvent e) ;
(3)事件源获得监视器的方法是addActionListener( ) ;
(4)ActionEvent获得事件源的方法是getSource( ) 。
选择(Choice)控件上的事件处理方法:
(1)选择控件的选择情况发生变化会产生HemEvent事件;
(2)处理该事件的接口是HemListener;
(3)接口中的方法是ItemStateChanged(HemEvent e) ;
(4)事件源获得监视器的方法是addHemListener( ) ;
(5)处理该事件时,如果想获得事件源可调用方法getHemSelectable( ) 。
滚动列表(List)上的事件的处理方法。
滚动列表可产生两种事件:
双击和单击某项,当双击某项时,产生ActionEvent事件,获得事件监视器的方法是addActionListener( ),处理事件的接口是ActionListener;
接口中的方法是ActionPerformed(ActionEvent e),获得该事件的事件源的方法是getSource( );
当单击某项时,产生HemEvent事件,获得事件监视器的方法是addHemListener( ),处理事件的接口是HemListener;
接口中的方法是itemStateChanged(HemEvent e),获得该事件的事件源的方法是getHemSelectable。
可以用套接字建立两个程序间的通信:
(1)用Socket类建立客户到服务器的套接字的对象:
Socket(String host,int port)
(2)用ServerSocket建立接受客户套接字的服务器套接字对象:
ServerSocket(int port)客户端与服务器端的端口号相同
(3)客户端服务器对象调用方法accept()接受客户的套接字,创建客户端套接字对象,服务器端套接字对象和调用方法accept()时都可能产生IOException,所以需对例外进行处理。
如果类的成员变量与方法中的局部变量名相同,那么可以在方法中通过this关键字调用成员变量;
在构造方法中使用this调用构造方法的语句必须是该方法的第一条执行语句,且只能出现一次;
部变量名相同,那么可以在方法中通过this关键字调用成员变量只能在构造方法中使用this调用其他的构造方法。
borderlayout布局管理器将容器的矩形区域分为五个区,分别是上北下南左西右东和中部。
这五个区域每个区域最多只能放置一个组件,如果添加了多个,只有最后一个能够正确显示。
这五个区域可以选择性地使用其中几个,或者全部都使用。
不使用的区域将合并为一个,下一个组件添加进来,将占据这个合并区域。
线程的一个生命周期包括以下状态:
(1)新建(new)
(2)可运行状态(Runnable)、(3)死亡(Dead)(4)阻塞(Blocked)
Java数组的内存分配。
当我们需要多个类型相同的变量的时候,就考虑定义一个数组。
在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静态的,所以想要使用就必须先初始化(为数组对象的元素分配空间)。
Java语言里,数组的初始化有两种方式:
静态初始化:
初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:
初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
不管采用哪种方式初始化Java数组,一旦初始化完成,该数组的长度就不可改变,可以通过数组的length属性取得数组的长度。
try和catch的作用是测试系统稳定性,测试系统运行时是否会崩溃。
语法格式如下:
try
{
有可能出现错误的代码写在这里
}
catch
出错后的处理
如果try中的代码没有出错,则程序正常运行try中的内容后,不会执行catch中的内容。
如果try中的代码一旦出错,程序立即跳入catch中去执行代码,那么try中出错代码后的所有代码就不再执行了。
程序题练习
1.表示year年是闰年的Java表达式。
闰年的条件是:
每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
(year%4= =0) &
&
(year%4!
=0)||(year%400= =0)
2.程序如下:
classStaticDemo
staticintx;
inty;
publicstaticintgetX()
{
returnx;
publicstaticvoidsetX(intnewX)
x=newX;
publicintgetY()
{returny;
publicvoidsetY(intnewY)
{y=newY;
}
publicclassMainDemo{
publicstaticvoidmain(String[]args)
System.out.println("
静态变量x="
+StaticDemo.getX());
StaticDemoa=newStaticDemo();
StaticDemob=newStaticDemo();
a.setX
(1);
a.setY
(2);
b.setX(3);
b.setY(4);
静态变量a.x="
+a.getX());
实例变量a.y="
+a.getY());
+b.getX());
+b.getY());
程序运行结果为:
静态变量x=0
静态变量a.x=3
实例变量a.y=2
实例变量a.y=4
3.请写一个if语句,判断整数n是否同时满足“被3除余2,被7除余1”的条件,满足时输出“OK”,否则输出“NO”。
程序为:
if(n%3==2&
n%7==1)
System.out.print(“OK”);
else
System.out.print(“NO”);
4.程序如下
publicclassContinueTest
publicstaticvoidmain(Stringargs[])
char
c='
i'
;
for(int
n=6;
n<
11;
n++)
if(n==8)
continue;
System.out.print("
\t"
+(c++));
(1)程序的输出结果是:
i
j
k
l
(2)若将if中的continue语句替换为break语句,输出结果是:
i
j
5.分析以下程序的运行结果
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringname,intage){
this.name=name;
this.age=age;
voidout(){
姓名:
+name);
年龄:
+age);
voidoutOther(){
家庭住址:
+address);
电话:
+tel);
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
super.out();
super.outOther();
System.out.println("
学校:
+school);
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("
Tom"
15);
son.address="
金水区"
son.school="
九中"
son.tel="
66123456"
son.out();
运行结果为:
姓名:
Tom
年龄:
15
家庭住址:
金水区电话:
66123456
九中
6.分析以下程序。
Packagetest;
PublicclassFatherClass
PublicFatherClass()
System.out.print(“FatherClassCreate”);
子类:
Importtest.FatherClass;
PublicclassChildClassextendsFatherClass
PublicChildClass()
{
System.out.println(“ChildClassCreate”);
Publicstaticvoidmain(String[]args)
FatherClassfc=newFatherClass();
ChildClasscc=newChildClass();
程序执行结果为:
FatherClassCreate
ChildClassCreate
7.分析下列程序的功能。
importjava.io.File;
publicclassFileExercise{
publicstaticvoidmain(String[]args){
FilefileObject=newFile("
Sally.txt"
);
if(fileObject.exists()){
ThereisafilenamedSally.txt"
}else{
ThereisnofilenamedSally.txt"
该程序的功能是测试程序所在的目录是否包含一个名为Sally.txt的文件。
如果存在则输出ThereisafilenamedSally.txt;
如果不存在则输出Thereis
no
filenamedSally.txt。
8.分析以下需求,并用代码实现:
(1)定义如下方法publicstaticStringgetPropertyGetMethodName(Stringproperty);
(2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字。
(3)如:
用户调用此方法时给定的参数为"
name"
,该方法的返回值为"
getName"
。
代码如下:
publicstaticvoidmain(String[]args){
System.out.println(getPropertyGetMethodName("
lisa"
));
publicstaticStringgetPropertyGetMethodName(Stringproperty){
return"
get"
.concat(property);
9.分析以下需求,并用代码实现:
(1)定义数字字符串数组{"
010"
"
3223"
666"
7890987"
123123"
(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
010是对称的,3223是对称的,123123不是对称的
(4)最终打印该数组中对称字符串的个数
judge02();
publicstaticvoidjudge02(){
String[]strings={“010”,“3223”,“666”,“7890987”,“123123”};
intcount=0;
//count是一个计数器,把不对称的统计出来,后面就可以确定对称的
for(inti=0;
i<
strings.length;
i++){
//将字符串数组中的每个字符串拿出来,在将其变成一个个字符数组,然后每个字符来比较
char[]cs=strings[i].toCharArray();
for(intj=0,k=cs.length-1;
j<
k;
j++,k–){
if(cs[j]-cs[k]!
=0){
System.out.println(strings[i]+“不是对称的”);
count++;
break;
intnum=strings.length-count;
System.out.println(“对称字符串的个数是”+num);
10.编写程序,实现如下功能:
键盘录入一个长字符串str,再录入一个短字符串subStr,要求长字符串str中,包含多个短字符串subStr,打印出短字符串subStr在长字符串str中每次出现的索引。
程序如下:
importjava.util.Scanner;
publicclassLastTest{
Scannerscanner=newScanner(System.in);
System.out.println(“输入一个长字符串”);
StringlString=scanner.next();
System.out.println(“输入一个短字符串”);
Stringstring=scanner.next();
times(lString,string);
publicstaticvoidtimes(StringlString,Stringstring){
intindex=0;
while(index<
lString.length()){
index=lString.indexOf(string,index);
System.out.println(index);
index++;