Java基础知识考点Java开卷考试Word文档下载推荐.docx
- 文档编号:356467
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:19
- 大小:23.02KB
Java基础知识考点Java开卷考试Word文档下载推荐.docx
《Java基础知识考点Java开卷考试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java基础知识考点Java开卷考试Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。
包那么是类库的组织形式,它类似于C++中的namespace,可以解决类的同名问题。
Jar那么是一个采用Zip格式压缩的文件包
,主要是为了方便Java组件的复用,简化Java应用程序的部署和发布。
Jar包中可以保存任意类型的多个文件和多级嵌套的文件夹。
比方JDK就包容了不少Jar压缩包,你可以使用解压缩工具(比方WinRAR)去查看它的内容。
可以把Jar文件看成是Java类库的一个物理“载体〞,之所以称其为“物理〞的,是因为我们可以在计算机中直接“看见〞并“操作〞它。
在一个很大的循环〔比方循环100000次〕中,如果需要进行大量字符串的连接操作,通常人们会使用StringBuffer〔或StringBuilder〕而不是String类型,请解释这么做的理由。
StringBuffer可存放允许修改的字符串,String对一串字符进行操作,不可变类。
StringBuffer内部结构是数组,字符可以动态改变,String是final类型,不可改变。
因为String的对象是不能修改的,进行加操作,会产生新的对象,在很大的循环中这样做会浪费内存空间。
而StringBuffer是对同一个内存对象,进行修改,节省内存,增加效率。
现有两个长度不同的数组:
int[]arr1=newint[10];
int[]arr2=newint[100];
那么以下语句能通过编译吗?
arr1=arr2;
如果你认为可以通过编译,得到这个结论的依据是什么?
如果不能通过编译,你认为其原因是什么?
可以。
因为哪怕是根本类型的数组,数组本身也是引用的,用=号时,只是将一个数组的地址,指向另一个,并不是进行复制。
请看以下代码:
doubled1=100.1;
doubled2=1001/10;
System.out.println(d1==d2);
//输出:
false
明明d1与d2是相等的,为什么程序运行时会输出一个让人意外的结果:
false?
Doubled2=1001/101001和10都是int型它们相除得出一个int型100
前面用double类型所以是100.0所以的d1和d2不相等。
请看以下例如代码:
Strings1="
Hello"
;
Strings2="
System.out.println(s1==s2);
//输出:
true
Strings3=newString("
);
Strings4=newString("
System.out.println(s3==s4);
请解释一下为什么上述代码中“System.out…〞两句代码输出完全不同的结果?
请看代码
Strings="
北京"
s=s+"
奥运会"
请问上面代码产生几个String对象
3个
shorts=1;
shortt=s+1;
以上代码是否可以编译,如果不能,请说明原因
不能,1是int型s为short型都转换为int型shortt=〔short〕〔s+1〕
谈谈你对interface的理解和应用。
接口〔interface〕是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义staticfinal成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义〔即将程序体给予〕所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。
三简单编程题30分,每题5分,共6个小题。
以所有学习过程中练习过的作业为原型,注意适当的变化和新要求。
试凑法、迭代法、最大最小值、打印图形、求素数、排序等。
1.编写一个程序,用户输入任何一个字符串之后,反转输出其结果。
其运行结果如下所示:
请输入一个字串:
我在学习Java程序设计,您输入了:
计设序程avaJ习学在我
packagefei;
publicclassfanchuan{
publicstaticvoidmain(String[]args){
Strings="
计设序程avaJ习学在我"
chararray[]=s.toCharArray();
for(inti=array.length-1;
i>
=0;
i--){
System.out.println(s.charAt(i));
}}}
importjava.util.Scanner;
publicclassFanchuan2{
Scannersc=newScanner(System.in);
Stringword=sc.nextLine();
System.out.println(word);
StringBuffersbb=newStringBuffer(word);
System.out.println(sbb.reverse().toString());
//自定
chara[]=word.toCharArray();
for(inti=a.length-1;
System.out.println(a[i]);
}//把a里的东西反序赋给b
char[]b=newchar[a.length];
for(intj=0,i=a.length-1;
j<
a.length;
j++,i--){
System.out.println("
j="
+j+"
i="
+i);
b[j]=a[i];
}
Stringend=newString(b);
System.out.println(end);
}}
2.请编写一个方法,其声明如下:
publicstaticint[]getRandomizeNumbers(intbegin,intend,intcount)
此方法将生成一个数组,包容count个[begin,end)范围内的随机整数.
publicclassZuoye2{
publicstaticint[]getRandomizeNumbers(intbegin,intend,intcount){
int[]a=null;
a=newint[count];
for(inti=0;
i<
count;
i++){
a[i]=begin+(int)(Math.random()*(end-begin));
returna;
}}
(2)编写一个方法,它接收一个int数组作为参数,外界只需调用一次这个方法,可以马上得到这个数组的最大值、最小值和平均值信息。
classArrayInfo
{
publicintmax=0;
publicintmin=0;
publicdoubleaverage=0;
定义好了ArrayInfo类后,此方法就很容易编写了:
publicstaticArrayInfogetArrayInfo(int[]arr){
ArrayInfoobj=newArrayInfo();
intsum=0;
obj.max=obj.min=arr[0];
for(intvalue:
arr){
if(value>
obj.max){
obj.max=value;
}
if(value<
obj.min){
obj.min=value;
sum+=value;
obj.average=(double)sum/arr.length;
returnobj;
(4)数学中,一个复数包容着一个实部〔Real〕和一个虚部〔Imaginary〕。
请设计一个Complex类,它的实例代表一个复数,并且用户可以这样使用它:
//创立一个实部为3,虚部为4的复数
Complexobj=newComplex(3,4);
//Complex对象具备按照数学中复数的习惯表示形式输出的能力。
System.out.println(obj);
//输出:
3+4i
送分题,覆盖一下toString()方法就行了。
classComplex{
publicdoublereal;
publicdoubleimaginary;
publicComplex(doublerealValue,doubleimaginaryValue){
real=realValue;
imaginary=imaginaryValue;
publicStringtoString(){
returnreal+"
+"
+imaginary+"
i"
四综合编程题20分
类,方法,继承等。
一个图书管理系统的面向对象设计方案:
Book代表书,有“Name〔书名〕〞、“Author〔作者名〕〞、“Price〔单价〕〞和“IsBorrowed〔是否被借出〕〞四个属性。
类Library代表图书馆,其内部字段books用于保存图书馆中所有的书。
它的FindBook()方法依据书名查找同名的书〔可能有多本〕。
另一个GetAllBooks()方法获取馆藏所有书的详细信息。
类Reader代表读者,Name字段代表其姓名,读者可以“ReturnBook〔还书〕〞和“BorrowBook〔借书〕〞。
请编程完成以下工作:
1.
用Java编程实现上述3个类。
〔15分〕
2.
在main()方法内书写以下测试代码:
〔5分〕
(1)
创立一个Library类的实例myLittleLibrary,其中预存有以下3本书:
Java程序设计,张三著,45元
Java核心技术,李四著,50元
Java程序设计,王五著,38元
(2)
显示图书馆中所有图书的信息,输出样例如下:
Java程序设计,张三著,45元,可借
Java核心技术,李四著,50元,可借
Java程序设计,王五著,38元,未还
(3)
创立一个Reader类的实例oneBeautifulGirl,她先在myLittleLibrary中查找?
Java程序设计?
(4)
oneBeautifulGirl借了张三著的那一本书。
现在显示图书馆中所有图书的信息.
(5)
oneBeautifulGirl把书还了,再次显示图书馆中图书信息。
package图书管理系统;
publicclassTestBook{//测试类,检测程序实例化
publicstaticvoidmain(String[]agrs){
Libraryall[]=newLibrary[3];
//总共有三本书
Libraryleft[]=newLibrary[1];
//每次借阅一本
all[0]=newLibrary("
Java程序设计"
"
张三著"
45.0,"
No.1"
all[1]=newLibrary("
Java核心技术"
李四著"
50.0,"
NO.2"
all[2]=newLibrary("
王五著"
38.0,"
No.3"
);
//书的信息〔书名,作者,价格,书号〕
Readerr=newReader("
oneBeautifulGirl"
11101010,"
计科"
1);
//借书人的信息(姓名,学号,专业,班级)
r.FindBook(all);
//找书
r.GetAllBook(left);
//自己拥有的书
r.BorrowBook(all,left);
//借书
r.ReturnBook(all,left);
//还书
classLibrary{//图书馆类
StringName;
//书的属性〔书名,作者,价格,书号〕
StringAuthor;
StringNumber;
doublePrice;
publicintnum;
publicLibrary(Stringname,Stringauthor,doubleprice,Stringnumber){
Name=name;
Author=author;
Price=price;
Number=number;
publicvoidshowBookInfo(){
System.out.println("
**************************"
书名:
"
+Name);
"
+Author);
价格:
+Price);
书号:
+Number);
System.out.println("
}}
classReader{//借书者类
Scannerscan=newScanner(System.in);
Stringnames;
//借书人的信息属性
intnumber;
//姓名,学号,专业,班级
Stringgrade;
intclasses;
intscore=0;
Reader(Stringn,intnum,Stringg,intc){
this.names=n;
this.number=num;
this.grade=g;
this.classes=c;
}
voidFindBook(Library[]all){//查书
for(inti=0;
3;
i++)
all[i].showBookInfo();
}
voidGetAllBook(Library[]left){
for(inti=0;
i<
1;
i++){//借阅哪本书
if(left[i]!
=null)
left[i].showBookInfo();
}
voidBorrowBook(Library[]all,Library[]left){//借书
请输入您要查找的书名:
Stringk=scan.next();
inti;
for(i=0;
10;
i++){
if(k.equals(all[i].num)){
all[i].showBookInfo();
break;
}
}
你要借吗?
请输入1,表示借。
intj;
j=scan.nextInt();
if(j==1){
借阅成功"
left[score]=all[i];
score+=1;
}
if(score<
2){
您还可以借阅"
+(1-score)+"
本"
}else{
System.out.println("
对不起,一个人只能借1本"
}}
voidReturnBook(Library[]all,Library[]left){//还书
System.out.println("
请输入您要还的书的书号"
intn=scan.nextInt();
for(inti=0;
if(n==all[i].num){
for(intj=0;
1;
j++){
if(left[j]==all[i]){
left[j]=null;
还书成功"
}}}}}}
package练习;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassCalButtons{
@SuppressWarnings("
serial"
)
classCalButtonPaneextendsJPanelimplementsActionListener{
String[]keys={"
7"
8"
9"
/"
4"
5"
6"
"
*"
1"
2"
3"
-"
0"
."
="
};
JButton[]keyb=newJButton[keys.length];
JTextFieldt;
JButtonclear;
doublesum=0,num;
inti=0;
intj=0,l,action;
Stringshow="
CalButtonPane(JTextFieldt){
super(newGridLayout(6,6,8,8));
this.t=t;
for(inti=0;
keys.length;
keyb[i]=newJButton(keys[i]);
keyb[i].addActionListener(this);
this.add(keyb[i]);
}
clear=newJButton("
Clear"
clear.addActionListener(this);
keyb[0].addActionListener(this);
classCalculatorextendsJFrame{
JPanelp;
JTextFieldt;
CalButtonPanecp;
publicCalculator(){
super("
Java计算器"
setDefaultCloseOperation(EXIT_ON_CLOSE);
calInit();
Containercc=getContentPane();
cc.setLayout(newBorderLayout());
cc.add(t,"
North"
cc.add(cp,"
Center"
cc.add(cp.clear,"
South"
this.setLocation(300,200);
this.pack();
this.setResizable(false);
th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础知识 考点 开卷 考试