Java基础知识考点Java开卷考试(38页).doc

上传人:1595****071 文档编号:34800031 上传时间:2022-08-18 格式:DOC 页数:39 大小:60KB
返回 下载 相关 举报
Java基础知识考点Java开卷考试(38页).doc_第1页
第1页 / 共39页
Java基础知识考点Java开卷考试(38页).doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《Java基础知识考点Java开卷考试(38页).doc》由会员分享,可在线阅读,更多相关《Java基础知识考点Java开卷考试(38页).doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-开卷考试,共2个小时,要求卷面整洁,书写清晰。一 判断题 10分,每题1分 在编程时编写过多的注释,会使编译之后生成的程序文件变大。(错) 放心, 编译器会删除所有的注释。所以,哪怕你在程序中写了一部长篇小说,也不会拖慢程序的运行速度。一个 Java 源文件中只能定义一个公有类,并且类名必须与文件名一致。(对) . 通过在程序中引入“ import javax.swing.*; ”语句,就可以使用 javax.swing 包中的所有类(包括其嵌套的子包中的类)。(错) 要使用嵌套子包中的类,必须再次添加 import 子句 J2SE 的功能是 J 2 ME 的一个子集。(错) Java 规定

2、所有的方法都必须放到某个类中,不存在独立于类的方法。(对) java中 所有类是java.lang.Object 类的子类 (对) Swing是一套GUI组件,采用了新的思路设计Java应用程序的界面,它完全地替换掉了原有的AWT。(错)Swing仍然使用AWT的事件模型,并非完全抛弃。 值得注意的NetBeans 6.9.1完成最新的更新组件后,创建Java桌面应用程序时,有了一个新的提示消息框:二 简答题 40分,每题5分,共8个小题。现代编程语言有两种主要的类型:一种是“编译型 ”的,比如 C ,程序源码必须经过编译才能运行;另一种是“解释型 ”的,这种类型的语言(比如早期的 Basic

3、 )通常都拥有一个交互环境,用户输入一句代码计算机就执行一句代码。 Java 属于上述哪种类型?如果你认为 Java 不属于上述任何一种类型,那么它是不是一种新的编程语言类型? Java源程序需要编译,但运行时需要即时“解释”为本地CPU能执行的机器指令,所以它不属于“纯”的编译型或解释型,而是一种混合类型。Java 中有两个关键字: void 和 null ,它们有什么区别?void是无类型,null是空值,一个是对返回类型来说,一个对值来说的。Void表示这个方法执行结束后不返回任何值。void:Publicvoidsort();表示方法没有返回值Null表示一个对象为null,就是没有分

4、配内存,没有初始化。3.简述“类(Class)”、“类库(Class Library)”、“包(Package)”、“Jar文件”这四个概念间的联系。类库其实是一个“统称”,它是类的集合。包则是类库的组织形式,它类似于C+中的namespace,可以解决类的同名问题。 Jar则是一个采用Zip格式压缩的文件包,主要是为了方便Java组件的复用,简化Java应用程序的部署和发布。Jar包中可以保存任意类型的多个文件和多级嵌套的文件夹。比如JDK就包容了不少Jar压缩包,你可以使用解压缩工具(比如WinRAR)去查看它的内容。可以把Jar文件看成是Java类库的一个物理“载体”,之所以称其为“物理

5、”的,是因为我们可以在计算机中直接“看见”并“操作”它。在一个很大的循环(比如循环 100000 次)中,如果需要进行大量字符串的连接操作, 通常人们会使用 StringBuffer (或 StringBuilder)而不是 String 类型,请解释这么做的理由。StringBuffer 可存放允许修改的字符串,String对一串字符进行操作,不可变类。StringBuffer内部结构是数组,字符可以动态改变,String是final类型,不可改变。因为String的对象是不能修改的,进行加操作,会产生新的对象,在很大的循环中这样做会浪费内存空间。而StringBuffer是对同一个内存对象

6、,进行修改,节省内存,增加效率。现有两个长度不同的数组: int arr1 = new int10; int arr2 = new int100; 那么以下语句能通过编译吗? arr1 = arr2; 如果你认为可以通过编译,得到这个结论的依据是什么?如果不能通过编译,你认为其原因是什么?可以。因为哪怕是基本类型的数组,数组本身也是引用的,用=号时,只是将一个数组的地址,指向另一个,并不是进行复制。请看以下代码 : double d1 = 100.1; double d2 = 1001/10; System.out.println(d1 = d2); / 输出 : false 明明 d1 与

7、d2 是相等的 , 为什么程序运行时会输出一个让人意外的结果 : false ?Double d2=1001/10 1001和10都是int型 它们相除得出一个int型100前面用double类型 所以是100.0 所以的d1和d2不相等。请看以下示例代码: String s1 = Hello; String s2 = Hello; System.out.println(s1 = s2); / 输出: true String s3 = new String(Hello); String s4 = new String(Hello); System.out.println(s3 = s4); /

8、 输出: false 请解释一下为什么上述代码中 “System.out ” 两句代码输出完全不同的结果 ?请看代码String s=北京;s=s+奥运会;请问上面代码产生几个String对象3个 请看代码 short s=1; short t=s+1;以上代码是否可以编译,如果不能,请说明原因不能,1是int型 s为short型 都转换为int型 short t=(short)(s+1)谈谈你对interface的理解和应用。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义

9、static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。三 简单编程题30分,每题5分,共6个小题。以所有学习过程中练习过的作业为原型,注意适当的变化和新要求。试凑法、迭代法、最大最小值、打印图形、求素数、排序等。1.编写一个程序,用户输入任何一个字符串之后,反

10、转输出其结果。其运行结果如下所示: 请输入一个字串:我在学习 Java 程序设计,您输入了:计设序程 avaJ 习学在我package fei;public class fanchuan public static void main(String args) String s=计设序程 avaJ 习学在我;char array=s.toCharArray();for(int i=array.length-1;i=0;i-)System.out.println(s.charAt(i);package fei;import java.util.Scanner;public class Fanch

11、uan2 public static void main(String args) Scanner sc= new Scanner(System.in);/ System.outString word = sc.nextLine();System.out.println(word);StringBuffer sbb = new StringBuffer(word);System.out.println(sbb.reverse().toString();/自定char a=word.toCharArray();for(int i=a.length-1;i=0;i-)System.out.prin

12、tln(ai);/把a里的东西反序赋给bchar b=new chara.length;for(int j=0,i=a.length-1;ja.length;j+,i-)System.out.println(j=+j+,i=+i);bj=ai;String end =new String(b);System.out.println(end);2.请编写一个方法,其声明如下: public static int getRandomizeNumbers(int begin, int end, int count) 此方法将生成一个数组 , 包容 count 个 begin,end) 范围内的随机整

13、数 .package fei;public class Zuoye2 public static int getRandomizeNumbers(int begin,int end,int count)int a=null;a=new intcount;for(int i=0;i obj.max) obj.max = value; if (value obj.min) obj.min = value; sum += value; obj.average = (double) sum / arr.length; return obj; (4) 数学中,一个复数包容着一个实部(Real)和一个虚部

14、(Imaginary)。请设计一个Complex类,它的实例代表一个复数,并且用户可以这样使用它: /创建一个实部为3,虚部为4的复数 Complex obj=new Complex(3,4); /Complex对象具备按照数学中复数的习惯表示形式输出的能力。 System.out.println(obj); /输出:3+4i 送分题,覆盖一下toString()方法就行了。class Complex public double real; public double imaginary; public Complex(double realValue, double imaginaryVal

15、ue) real = realValue; imaginary = imaginaryValue; public String toString() return real + + + imaginary + i; 四 综合编程题20分类,方法,继承等。一个图书管理系统的面向对象设计方案: Book 代表书,有 “Name (书名) ” 、 “Author (作者名) ” 、 “Price (单价) ” 和 “IsBorrowed (是否被借 出) ” 四个属性。 类 Library 代表图书馆,其内部字段 books 用于保存图书馆中所有的书。它的 FindBook() 方法依据书名查找同名

16、的书(可能有多本)。另一个 Get AllBooks() 方法获取馆藏所有书的详细信息。 类 Reader 代表读者, Name 字段代表其姓名,读者可以 “ReturnBook (还书) ” 和 “BorrowBook (借书) ” 。 请编程完成以下工作: 1. 用 Java 编程实现上述 3 个类。( 15 分) 2. 在 main() 方法内书写以下测试代码:( 5 分) (1) 创建一个 Library 类的实例 myLittleLibrary ,其中预存有以下 3 本书: Java 程序设计,张三著, 45 元 Java 核心技术,李四著, 50 元 Java 程序设计,王五著,

17、38 元 (2) 显示图书馆中所有图书的信息,输出样例如下: Java 程序设计,张三著, 45 元,可借 Java 核心技术,李四著, 50 元,可借 Java 程序设计,王五著, 38 元,未还 (3) 创建一个 Reader 类的实例 oneBeautifulGirl ,她先在 myLittleLibrary 中查找 Java 程序设计 (4) oneBeautifulGirl 借了张三著的那一本书。现在显示图书馆中所有图书的信息 . (5) oneBeautifulGirl 把书还了,再次显示图书馆中图书信息。 package 图书管理系统;import java.util.Scann

18、er;public class TestBook /测试类,检测程序实例化 public static void main(String agrs) Library all=new Library3; /总共有三本书Library left=new Library1; /每次借阅一本 all0=new Library(Java 程序设计,张三著,45.0,No.1); all1=new Library( Java 核心技术,李四著,50.0,NO.2); all2=new Library(Java 程序设计,王五著, 38.0,No.3 ); /书的信息(书名,作者,价格,书号) Reader

19、 r=new Reader(oneBeautifulGirl,11101010,计科,1); /借书人的信息(姓名,学号,专业,班级) r.FindBook(all); /找书 r.GetAllBook(left); /自己拥有的书 r.BorrowBook(all,left); / 借书 r.ReturnBook(all,left); /还书class Library /图书馆类String Name; /书的属性(书名,作者,价格,书号)String Author;String Number;double Price;public int num; public Library(Strin

20、g name, String author, double price,String number) Name=name; Author=author; Price=price; Number=number; public void showBookInfo() System.out.println(*); System.out.println(书名:+Name); System.out.println(作者:+Author); System.out.println(价格:+Price); System.out.println(书号:+Number); System.out.println(*

21、); class Reader /借书者类Scanner scan=new Scanner(System.in); String names; /借书人的信息属性 int number; /姓名,学号,专业,班级 String grade; int classes; int score=0; Reader(String n,int num,String g,int c) this.names=n; this.number=num; this.grade=g; this.classes=c;void FindBook(Library all) /查书 for(int i=0;i3;i+) all

22、i.showBookInfo(); void GetAllBook(Library left) for (int i = 0; i 1; i+) /借阅哪本书 if(lefti!=null) lefti.showBookInfo(); void BorrowBook(Library all,Library left) /借书System.out.println(请输入您要查找的书名:); String k=scan.next(); int i; for( i=0;i10;i+) if(k.equals(alli.num) alli.showBookInfo(); break; System.o

23、ut.println(你要借吗?请输入1,表示借。);int j;j=scan.nextInt();if(j=1) System.out.println(借阅成功); leftscore=alli;score+=1; if(score2)System.out.println(您还可以借阅+(1-score)+本); else System.out.println(对不起,一个人只能借1本); void ReturnBook(Library all,Library left) /还书System.out.println(请输入您要还的书的书号);int n=scan.nextInt(); for

24、(int i=0;i3;i+) if(n=alli.num) for(int j=0;j1;j+) if(leftj=alli) leftj=null; System.out.println(还书成功); package 练习;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CalButtons SuppressWarnings(serial)class CalButtonPane extends JPanel implements ActionListenerString keys=7,8

25、,9,/,4,5,6,*,1,2,3,-,0,.,=,+;JButton keyb=new JButtonkeys.length;JTextField t;JButton clear;double sum =0,num;int i=0;int j=0,l,action;String show = ;CalButtonPane (JTextField t)super(new GridLayout(6,6,8,8);this.t=t;for(int i=0;ikeys.length;i+)keybi=new JButton(keysi);keybi.addActionListener(this);

26、this.add(keybi);clear=new JButton(Clear); clear.addActionListener(this); keyb0.addActionListener(this);class Calculator extends JFrameJPanel p;JTextField t;CalButtonPane cp;public Calculator()super(Java计算器);setDefaultCloseOperation(EXIT_ON_CLOSE);calInit();Container cc=getContentPane();cc.setLayout(

27、new BorderLayout();cc.add(t,North);cc.add(cp,Center);cc.add(cp.clear,South);this.setLocation(300,200);this.pack();this.setResizable(false);this.setVisible(true);void calInit()t=new JTextField(0.0);t.setHorizontalAlignment(JTextField.RIGHT);cp=new CalButtonPane(t);public void actionPerformed(ActionEv

28、ent e) JButton o=(JButton)e.getSource(); System.out.println(Btn被点击了);if(e.getSource() = keyb0)/ btn 7show +=7;System.out.println(7被点击了);t.setText(show);String s=o.getText();char c=s.charAt(0);num=Double.parseDouble(t.getText();if(c=+) /加法运算if(j=0)sum=num;else if(action=1)sum+=num;t.setText(sum+);j+;

29、i=0;action=1;else if(c=-) /减法运算if(j=0)sum=num;else if(action=2)sum-=num;t.setText(sum+);j+;i=0;action=2;else if(c=*) /乘法运算if(j=0)sum=num;else if(action=3)sum*=num;t.setText(sum+);j+;i=0;action=3;else if(c=/) /除法运算if(j=0) sum=num; else if(action=4)sum/=num;t.setText(sum+);j+;i=0;action=4; else if(c=)

30、switch(action)case 1:t.setText(sum+=num)+);break;case 2:t.setText(sum-=num)+);break;case 3:t.setText(sum*=num)+);break;case 4:t.setText(sum/=num)+);break;t.setText(sum+);i=0;j=0;action=0;else if(c=.)if(t.getText().indexOf(.)=-1)t.setText(t.getText() +c);else if(c=C)i=0;j=0;sum=0;action=0;t.setText(0

31、);elseif(i=0)t.setText();t.setText(t.getText() +c);i+;public static void main(String agrs) new Calculator(); /*假如有500个小孩,手拉手拉成一圈,从其中一个小朋友开始一次编号为1-500,从1号小朋友开始循环1到3报数,数到3的小朋友退出,编写一个java应用程序,计算出最后一个小朋友的号码是多少?*/public class Count3Quitpublic static void main(String args)boolean arr = new boolean500;for(int i=0;i 1)if(arrindex = true)countNum+;if(countNum = 3)countNum=0;arrindex=false;leftCount-;index +;if(index = arr.length)index = 0;for(int i=0;iarr.length;i+)if(arri = true)System.out.println(i);第 39 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁