Java基础知识考点Java开卷考试.pdf

上传人:索**** 文档编号:83199332 上传时间:2023-03-28 格式:PDF 页数:11 大小:68.75KB
返回 下载 相关 举报
Java基础知识考点Java开卷考试.pdf_第1页
第1页 / 共11页
Java基础知识考点Java开卷考试.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《Java基础知识考点Java开卷考试.pdf》由会员分享,可在线阅读,更多相关《Java基础知识考点Java开卷考试.pdf(11页珍藏版)》请在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:Public void sort();表示方法没有返回值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 的对象是不能修改的,进行加操作,会产生新的对象,在很大的循环中这样做会浪费内存空间。而StringB

6、uffer 是对同一个内存对象,进行修改,节省内存,增加效率。现有两个长度不同的数组: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 与 d2 是相等的,为什么

7、程序运行时会输出一个让人意外的结果: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);/输出:false 请解释一下为什么上述代码中“

8、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)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final 成员变量。接口

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

10、所示:请输入一个字串:我在学习 Java 程序设计,您输入了:计设序程 avaJ 习学在我package fei;publicclass fanchuan publicstaticvoid 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;publicclass Fanchuan2 publicstaticvo

11、id main(String args)Scanner sc=new Scanner(System.in);/System.out String 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.println(ai);/把a里的东西反序赋给b char b

12、=new char a.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)范围内的随机整数.package fei;publicclass Zu

13、oye2 publicstaticint getRandomizeNumbers(int begin,int end,int count)int a=null;a=new int count;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)和一个虚部(Imaginary)。请设计一个Complex 类,它的实例代表一个复数,并且用户可以这样

14、使用它:/创建一个实部为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 imaginaryValue)real=realValue;imaginary=imaginaryValue;public S

15、tring toString()return real+imaginary+i;四 综合编程题20 分类,方法,继承等。一个图书管理系统的面向对象设计方案:Book 代表书,有“Name(书名)”、“Author(作者名)”、“Price(单价)”和“IsBorrowed(是否被借出)”四个属性。类Library 代表图书馆,其内部字段books 用于保存图书馆中所有的书。它的FindBook()方法依据书名查找同名的书(可能有多本)。另一个Get AllBooks()方法获取馆藏所有书的详细信息。类 Reader 代表读者,Name 字段代表其姓名,读者可以“ReturnBook(还书)”和

16、“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 类的实例oneBeauti

17、fulGirl,她先在myLittleLibrary 中查找 Java 程序设计(4)oneBeautifulGirl 借了张三著的那一本书。现在显示图书馆中所有图书的信息.(5)oneBeautifulGirl 把书还了,再次显示图书馆中图书信息。package 图书管理系统;import java.util.Scanner;public class TestBook /测试类,检测程序实例化public static void main(String agrs)Library all=new Library3;/总共有三本书Library left=new Library1;/每次借阅一本

18、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 r=new Reader(oneBeautifulGirl,11101010,计科,1);/借书人的信息(姓名,学号,专业,班级)r.FindBook(all);/找书r.GetAllBook(left);/自己拥有的书r.BorrowBook(all,left);/借书r.ReturnBook(

19、all,left);/还书 class Library /图书馆类String Name;/书的属性(书名,作者,价格,书号)String Author;String Number;double Price;public int num;public Library(String name,String author,double price,String number)Name=name;Author=author;Price=price;Number=number;public void showBookInfo()实用文档.System.out.println(*);System.out

20、.println(书名:+Name);System.out.println(作者:+Author);System.out.println(价格:+Price);System.out.println(书号:+Number);System.out.println(*);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

21、,int c)this.names=n;this.number=num;this.grade=g;this.classes=c;void FindBook(Library all)/查书for(int i=0;i3;i+)alli.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(请输入您要查找的书名:);Str

22、ing k=scan.next();int i;for(i=0;i10;i+)if(k.equals(alli.num)alli.showBookInfo();break;System.out.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 Re

23、turnBook(Library all,Library left)/还书System.out.println(请输入您要还的书的书号);int n=scan.nextInt();for(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 SuppressWarn

24、ings(serial)class CalButtonPane extends JPanel implements ActionListener String keys=7,8,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

25、;for(int i=0;ikeys.length;i+)keybi=new JButton(keysi);实用文档.keybi.addActionListener(this);this.add(keybi);clear=new JButton(Clear);clear.addActionListener(this);keyb0.addActionListener(this);class Calculator extends JFrame JPanel p;JTextField t;CalButtonPane cp;public Calculator()super(Java计算器);setDe

26、faultCloseOperation(EXIT_ON_CLOSE);calInit();Container cc=getContentPane();cc.setLayout(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.setHorizontal

27、Alignment(JTextField.RIGHT);cp=new CalButtonPane(t);public void actionPerformed(ActionEvent e)JButton o=(JButton)e.getSource();System.out.println(Btn被点击了);if(e.getSource()=keyb0)/btn 7 show+=7;System.out.println(7 被点击了);t.setText(show);String s=o.getText();char c=s.charAt(0);num=Double.parseDouble(t

28、.getText();if(c=+)实用文档./加法运算if(j=0)sum=num;else if(action=1)sum+=num;t.setText(sum+);j+;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

29、(j=0)sum=num;else if(action=4)sum/=num;t.setText(sum+);j+;i=0;action=4;else if(c=)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().inde

30、xOf(.)=-1)t.setText(t.getText()+c);else if(c=C)i=0;j=0;sum=0;action=0;t.setText(0);实用文档.else if(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 Count3Quit public 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);

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

当前位置:首页 > 教育专区 > 高考资料

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

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