Java基础上机题_分类整理版
- 格式:doc
- 大小:137.00 KB
- 文档页数:10
1、在工程中创建包p1,定义可计算面积的接口Area,Area中定义抽象方法: (40分)public double area();再定义一个实现该接口的矩形类Rectangle,(1)矩形类中定义double数据成员width和height。
(2)实现接口中求面积的方法,求矩形面积。
(3)定义矩形类中的求周长的方法,原型如下:public double perimeter();(4)定义主函数,测试这个类。
2、(40分)在工程中新建package包p1,在包中定义如下接口和类:(1)自定义接口Runner,接口中声明抽象方法:public abstract void run();(2)定义一个类Dog,实现上面的Runner接口,Dog中实现的run的功能是输出"A dog is running."(3)再定义一个类 Horse,实现上面的Runner接口,Horse中实现的run的功能是输出"A horse is running."(4)定义主函数,测试上面的两个类,使用Runner animal定义的animal引用Dog与Horse 的实例。
3、在工程中新建package包p1,在包中定义一个复数类Complex,要求:(40分)(1)成员变量包括实部private double real和虚部private double imaginary;(2)构造方法:public Complex(),默认值0.0public Complex(double real,double imaginary)(3)成员方法包括实现复数加法public Complex add(Complex cp)乘法public Complex multiply(Complex cp)描述对象信息的字符串方法public String toString()方法,格式:a+bi的形式比较是否相等public Boolean equal(Complex cp)。
java基础50道经典练习题及答案《Java基础50道经典练习题及答案》Java作为一种广泛应用于软件开发的编程语言,对于初学者来说,掌握其基础知识是非常重要的。
为了帮助大家更好地学习和掌握Java基础知识,我们整理了50道经典的练习题及答案,希望能够帮助大家更好地理解和掌握Java编程。
1. 请写出Java中的8种基本数据类型。
2. 什么是Java中的包(package)?3. Java中的“==”和“equals()”有什么区别?4. 什么是Java中的多态(polymorphism)?5. 请写出Java中的四种访问修饰符及其作用。
6. 什么是Java中的接口(interface)?7. 请写出Java中的四种循环语句。
8. 什么是Java中的异常处理(exception handling)?9. Java中的“String”和“StringBuffer”有什么区别?10. 请写出Java中的三种注释方式。
这些练习题涵盖了Java基础知识的各个方面,包括数据类型、包、运算符、多态、访问修饰符、接口、循环语句、异常处理、字符串处理等内容。
通过做这些练习题,可以帮助大家更好地理解和掌握Java编程的基础知识。
在学习Java编程的过程中,不仅要掌握理论知识,还要多做练习,多动手实践。
只有通过实际操作,才能更好地理解和掌握Java编程的各种知识点。
希望大家能够认真对待这些练习题,多加练习,相信一定能够取得不错的成绩。
最后,希望大家在学习Java编程的过程中,保持耐心和坚持,相信通过不懈的努力,一定能够掌握好Java编程的基础知识,成为一名优秀的Java程序员。
祝大家学习进步,早日掌握Java编程!。
班级:姓名:学号:《JAVA程序设计》试题1一、单项选择填空(每小题2分,共50分)1.下列有关Java语言的叙述中,正确的是(B)A、Java是不区分大小写的B、源文件名与public权限的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限2.在Java中,负责对字节代码解释执行的是(B)。
字节就是class 文件A、垃圾回收器B、虚拟机C、编译器D、多线程机制3.在Java程序设计中,由Java编译器默认导入的包是(D)A、java.appletB、java.awtC、java.util 输入语言D、ng4.编译Java application源程序文件将产生相应的字节码文件,这些字节文件的扩展名为(B)A、.javaB、.classC、.htmlD、.exe5.在Java中,用package语句定义一个包时,该包的层次结构即是(b)A、与文件的结构相同B、与文件目录的层次相同C、与文件类型相同D、与文件大小相同6.有时在程序设计中采用分治算法而选择递归,“递归”的基本思想是(c)A、“让别人反复调用自己”B、“自己反复调用别人”C、“自己反复调用自己”D、以上说法都不对7.main方法是Java Application程序执行的入口,含有main方法的类是主类,且main方法的定义是唯一的,以下哪项是正确的(b)A、public static void main()B、public static void main(String args[ ])C、public static int main(String arg[])D、public void main(String arg[])8.按照Java的标识符的行业命名规范,下列分别表示一个类和一个方法的标识符比较合适的是(b)A、Helloworld,GetSwimmingScoreB、HelloWorld,getSwimmingScoreC、helloworld,getswimmingscoreD、helloWorld,Getswimmingscore9.以下程序的运行结果为(d)public class IfTest{public static void main(String args[]){int x=3;{int y=1;}if(x==y)System.out.println(“equal”);elseSystem.out.println(“Not Equal”);}}A、Not equalB、EqualC、无输出D、编译出错,找不到y10.下列说法不正确的是(c)A、IOException必须被捕获或抛出B、java语言不自动初始化变量的值C、java语言不允许同时继承一个类并实现一个接口D、java语言会自动回收内存中的垃圾11.在Java中,所有类的根类是(a)A、ng.ObjectB、ng.ClassC、java.applet.AppletD、java.swing.Jframe12.下列方法中可以用来创建一个新线程的是(b)A、实现ng.Runnable接口并重写start()方法B、实现ng.Runnable接口并重写run()方法C、实现ng.Thread接口并重写run()方法D、实现ng.Thread类并重写start()方法13.启动Applet小程序时,即调用类似于应用程序main方法的入口方法(b)A、stop()B、init()C、start()D、destroy()14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
java基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。
为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。
1. 编写一个Java程序,打印输出"Hello, World!"。
```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。
```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个Java程序,将一个字符串反转并输出。
java机试题及答案Java机试题及答案一、选择题1. 在Java中,用哪个关键字可以定义一个类?A. classB. functionC. methodD. type答案:A2. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _classD. class答案:D3. Java中的main方法必须返回什么类型?A. voidB. intC. StringD. Object答案:A4. 在Java中,哪个类提供了基本的数学运算?A. ng.MathB. java.util.MathC. ng.CalculationD. java.util.Calculation答案:A5. 下列哪个是Java的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D二、简答题1. 请简述Java的垃圾回收机制是什么?答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,以回收不再使用的对象所占用的内存。
垃圾回收器会跟踪每个对象的引用,当一个对象的引用计数为零时,即没有任何引用指向该对象,垃圾回收器就会在下一次运行时将其内存回收。
2. 什么是Java的多态性?答案:Java的多态性是指允许不同类的对象对同一消息做出响应的能力。
在Java中,多态性主要有两种形式:方法重写(运行时多态)和方法重载(编译时多态)。
方法重写是指子类提供一个与父类中具有相同名称和参数的方法,而方法重载是指在同一个类中定义多个同名方法,但参数类型或个数不同。
三、编程题1. 编写一个Java程序,实现计算两个整数的和。
```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2);System.out.println("The sum is: " + sum);}public static int addNumbers(int a, int b) {return a + b;}}```2. 编写一个Java程序,实现字符串反转。
java试题库及答案Java是一种广泛使用的高级编程语言,因其简洁、高效和跨平台性而备受程序员们的青睐。
为了帮助学习Java的同学更好地备战考试,我们特别整理了一份Java试题库及答案,希望对大家有所帮助。
一、基础知识题1. Java中基本数据类型有哪些?请简要说明各自的特点。
答:Java中的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。
其中整型用于存储整数,浮点型用于存储小数,字符型用于存储字符,布尔型用于存储真假值。
2. Java中如何进行输入输出操作?答:在Java中,可以使用Scanner类进行输入操作,System.out.println()进行输出操作。
二、面向对象题1. 请简要说明面向对象编程的三大特性是什么?答:面向对象编程的三大特性是封装、继承和多态。
封装指的是将数据和方法封装到一个类中,通过访问修饰符来控制对外部的访问权限;继承指的是子类可以继承父类的属性和方法;多态指的是同一个方法在不同的对象下有不同的实现。
2. Java中如何实现继承?请编写一个简单的代码示例。
答:在Java中,可以通过extends关键字来实现继承。
示例代码如下:```javaclass Animal {public void eat() {System.out.println("Animal is eating");}}class Dog extends Animal {public void bark() {System.out.println("Dog is barking");}}public class Main {public static void main(String[] args) {Dog myDog = new Dog();myDog.eat();myDog.bark();}```三、异常处理题1. Java中如何处理异常?请简要说明try-catch-finally语句的作用。
Java上机操作试题一、Java基础语法1. 请简要描述Java的基本数据类型及其占用的空间大小。
2. 请编写一个Java程序,输出以下的结果:12 23 3 34 4 4 45 5 5 5 5提示:使用循环语句和嵌套循环语句。
3. 请编写一个Java程序,实现以下功能:输入两个整数a和b,输出a和b的和、差、积、商和余数。
4. 请编写一个Java程序,实现以下功能:输入一个正整数n,输出n的所有因子。
提示:可以使用循环语句和判断语句。
二、面向对象编程1. 请简要描述Java中类和对象的概念。
2. 请编写一个Java程序,实现以下功能:设计一个圆类Circle,包含一个double类型的半径属性,以及圆的面积和周长的计算方法。
提示:可以使用Math中的常量和方法。
3. 请编写一个Java程序,实现以下功能:设计一个可爱的小猫类Cat,包含一个String类型的name属性和一个void类型的cry方法,输出“喵喵喵!”。
4. 请编写一个Java程序,实现以下功能:定义一个矩形类Rectangle,包含一个int类型的长和宽属性,以及计算矩形周长和面积的方法。
提示:在构造函数中将长和宽初始化。
三、异常处理1. 请简要描述Java异常处理的基本原理。
2. 请编写一个Java程序,实现以下功能:计算两个整数相除的结果,如果除数为0,抛出异常并输出“除数不能为0!”,否则输出计算结果。
3. 请编写一个Java程序,实现以下功能:设计一个数组类,包含一个int类型的数组属性和一个获取指定位置元素的方法,如果指定位置超出范围,抛出异常并输出“数组下标越界!”,否则输出指定位置元素。
4. 请编写一个Java程序,实现以下功能:模拟登录功能,输入用户名和密码,如果用户名或密码不正确,抛出异常并输出“用户名或密码错误!”,否则输出“登录成功!”。
提示:可以使用字符串的equals方法进行字符串比较。
以上试题侧重测试Java基础语法、面向对象编程以及异常处理的掌握情况。
java基础试题及答案Java是一种广泛应用的计算机编程语言,具有简单、可移植、面向对象、安全以及高性能等特点。
它在互联网、移动应用、企业级应用开发等领域都有着重要的地位。
为了帮助大家更好地掌握Java基础知识,以下是一些常见的Java基础试题及答案。
一、选择题1. 下列关于Java语言的特点,错误的是:A. Java是一种面向对象的语言B. Java具有可移植性C. Java是一种编译型语言D. Java具有垃圾回收机制答案:C2. Java程序的入口点是:A. public static void main(String[] args)B. public static void start(String[] args)C. public static void run(String[] args)D. public static void execute(String[] args)答案:A3. 下列关于Java包(package)的说法,正确的是:A. 包用于组织类和接口B. 包是Java中的关键字C. 一个Java文件只能属于一个包D. 包的命名必须与所在的文件夹相同答案:A二、填空题1. 关键字____用于定义类的继承关系。
答案:extends2. 在Java中,____用于创建对象的实例。
答案:new3. Java中,____可以用于捕获、处理异常。
答案:try-catch三、简答题1. 什么是面向对象编程?答:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将问题描述为一组对象的集合,通过对象之间的互相作用来解决问题。
面向对象编程主要包括封装、继承和多态三个基本特性。
2. Java的封装是指什么?答:封装是面向对象编程中的一种基本特性,指的是将数据和操作数据的方法放在一个类中,对外部隐藏内部的具体实现细节,只暴露必要的接口供外部调用。
Java基础上机题分类整理版java基础上机题-分类整理版一、类和对象基础题(共13题)1.撰写一个java应用程序,该程序中存有3个类:lader、circle和主类a。
具体内容建议如下:lader类具备类型为double的上底、下底、低、面积属性,具备回到面积的功能,包含一个构造方法对上底、下底、低展开初始化。
circle类具备类型为double 的半径、周长和面积属性,具备回到周长、面积的功能,包含一个构造方法对半径展开初始化。
主类a用以测试类lader和类circle的功能。
2.按要求编写java应用程序:(1)撰写西游记人物类(xiyoujirenwu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printname),显示武器(printweapon)(2)在主类的main方法中建立二个对象:zhubajie,sunwukong。
并分别为他们的两个属性(name,weapon)赋值,最后分别调用printname,printweapon方法表明二个对象的属性值。
3.编写java应用程序。
首先定义一个描述银行账户的account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。
其次,编写一个主类,在主类中测试account类的功能。
4.撰写java应用程序。
首先,定义一个时钟类――clock,它包含三个int型成员变量分别则表示时、分后、秒,一个构造方法用作对三个成员变量(时、分后、秒)展开初始化,除了一个成员方法show()用作表明时钟对象的时间。
其次,再定义一个主类――testclass,在主类的main方法中建立多个时钟类的对象,采用这些对象调用方法show()去表明时钟的时间。
5.编写java应用程序。
首先,定义描述学生的类――student,包括学号(int)、姓名(string)、年龄(int)等属性;二个方法:student(intstuno,stringname,intage)用于对对象的初始化,output()用于输出学生信息。
Java基础笔试机试测试题(带答案)Java基础考试题班级:__________ 姓名:___________ 日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
public class Test {public static void changeString(StringBuffer sb) {("stringbuffer2");}public static void main(String[] args) {StringBuffer sb = new StringBuffer("stringbuffer1");changeString(sb);"sb = " + ());}}A. sb = stringbuffer2stringbuffer1B. sb = stringbuffer1C. sb = stringbuffer2D. sb = stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。
A)('v'); B)('v'); C)('v'); D)('v');4)下列代码运行后,变量c的值是()。
int a=15,b=10;double c=a/b;a) b) c) 1 d) 05)main方法如下所示,该程序的运行结果是()。
public static void main(String [] args){int i=0;输出0 b) 输出1 c) 编译错误d) 运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。
一、类和对象基础题(共13题)1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。
具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。
Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。
主类A用来测试类Lader和类Circle的功能。
2.按要求编写Java应用程序:(1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示武器(printWeapon)(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。
并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName,printWeapon方法显示二个对象的属性值。
8.编写Java应用程序。
首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。
其次,编写一个主类,在主类中测试Account类的功能。
9.编写Java应用程序。
首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。
其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
10.编写Java应用程序。
首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(intstuNo,Stringname,intage) 用于对对象的初始化,outPut()用于输出学生信息。
常见的Java上机面试题在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。
笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。
上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。
这主要是考查面试者代码书写和编程的熟练程度。
值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速开发环境。
本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。
17.1 Java基础编程试题(1)在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。
面试题1 怎样截取字符串考题题干编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个"。
试题分析本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。
参考答案具体代码实现如下:1.package core_java;2.import java.util.Scanner;3.public class InterceptionStr {4.static String ss;//要进行截取操作的字符串5.static int n;//截取的字符串的字节数6.public static void main(String[] args) {7. System.out.println("请输入字符串:");8. Scanner scStr = new Scanner(System.in);//从键盘获取字符串9. ss = scStr.next(); //将Scanner对象中的内容以字符串的形式取出来10. System.out.println("请输入字节数:");11. Scanner scByte = new Scanner(System.in);//从键盘获取字符串12. n = scByte.nextInt();//将Scanner对象中的内容以数值的形式取出来13. Interception(setValue());//方法与方法间的套用14. }15.public static String[] setValue() {//此方法的作用是将字符串转换成字符串数组16. String[] string = new String[ss.length()];//创建一个字符数组string17.for (int i = 0; i < string.length; i++) {18. string[i] = ss.substring(i, i + 1);19.//将字符串ss中的第i个字符取出,放入字符数组中string中20. }21.return string;//将这个字符数组返回22. }23.public static void Interception(String[] string) {24.int count = 0;25. String m = "[\u4e00-\u9fa5]";//汉字的正则表达试26. System.out.println("以每" + n + "字节划分的字符串如下所示:");27.for (int i = 0; i < string.length; i++) {28.if (string[i].matches(m)) {29.//将字符数组中的每一个元素与表则表达式进行匹配,如果相同则返回true30. count = count + 2;//如果当前字符是汉字,计数器count就加231. } else {32. count = count + 1;//如果当前字符不是汉字,计数器count就加133. }34.if (count < n) {//如果当前计数器count的值小于n,则输出当前字符35. System.out.print(string[i]);36. } else if (count == n) {//如果当前计数器count的值等于n,则输出当前字符37. System.out.print(string[i]);38. count = 0;39. System.out.println();//内循环结果,则需要换行,起到控制打印格式的作用40. } else {41. count = 0;//如果当前计数器count的值大于n,则计数器count清零,接着执行外部循环42. System.out.println();43. }44. }45. }46.}17.1 Java基础编程试题(2)面试题2 怎样实现元素互换考题题干从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。
上机练习题(共包括四部分、16个练习、共96个练习题,请使用“视图”中的“文档结构图”查看)一、java语言基础和面向对象(教材内容的第1、2、3章)练习1(4)掌握:各种数据类型变量的定义和访问,各种数据类型常量的使用,数据类型转换。
1. 编写Applet,其功能为:取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。
最后,求这两个数的和并将结果输出。
要求这些功能在主类的方法init( ) 中实现,并使输出结果仅保留小数点后4位(不需四捨五入)。
@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2. 请编写一个Applet,其功能为:取一个小于10000的正随机整数,并输出该数的平方根。
要求这些功能在主类的方法paint( ) 中实现,并使输出结果在四捨五入后保留小数点后4位。
@程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于"+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3. 编写一个Applet,其功能为:取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。
java上机试题及答案Java上机试题及答案一、选择题1. 在Java中,以下哪个关键字用于声明一个类?- A. class- B. struct- C. interface- D. enum答案:A2. Java中用于捕获异常的关键字是?- A. try- B. catch- C. throw- D. finally答案:B二、填空题1. Java中,单精度浮点数使用的数据类型是________。
答案:float2. Java中,用于声明字符串的关键字是________。
答案:String三、编程题1. 编写一个Java程序,计算并输出100以内所有偶数的和。
```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("The sum of even numbers within 100 is: " + sum);}}```四、简答题1. 简述Java中接口和抽象类的区别。
答案:接口和抽象类都是Java中实现抽象化的方式。
接口可以包含常量、抽象方法和默认方法,但不能包含状态信息;抽象类可以包含状态信息和非抽象方法。
接口中的所有方法默认为public,而抽象类中可以有private和protected方法。
接口不能实现其他接口,但可以继承多个接口;抽象类可以继承一个类,但不能继承另一个抽象类。
2. 描述Java中垃圾回收机制的基本原理。
答案:Java中的垃圾回收机制主要依赖于垃圾收集器(Garbage Collector, GC)。
GC通过追踪对象的引用来识别哪些对象是可达的,即被程序直接或间接引用的对象。
不可达的对象被认为是垃圾,GC会定期地回收这些对象占用的内存。
完整版)Java基础试题及其答案无法确定输出结果,因为代码中缺少输出语句。
1) 正确的main方法格式是public static void main(String[] args)。
2)要使代码编译成功,横线处可以填入(a) (byte) (b1-b2)。
3).db下的类,这个类必须定义为public。
4)不能通过编译的语句是(d) float f=5+5.5.因为5和5.5的数据类型不同,无法进行加法运算。
5)可以把JFrame的布局管理器设为FlowLayout类型的方法是(a) ___())。
6)运行时会产生空指针异常,即(b) ___。
7)可以使用键/值形式保存数据的对象是(c) HashMap。
8)无法确定输出结果,因为代码中缺少输出语句。
14)答案为a。
因为在for循环外面的System.out.print(i)会报错,i的作用域只在for循环内部。
15)答案为b和c。
因为Integer.valueOf(int i)和new Integer(int i)都可以将int类型转换成Integer类型。
16)答案为b。
当对null对象进行操作时,会产生___异常。
17)答案为1.因为indexOf方法返回的是目标字符串在原字符串中第一次出现的位置,从0开始计数,所以5的位置是1.18)答案为b。
在Java中,接口是通过implements关键字来实现的,而不是extends关键字。
所以正确的语句应该是interface A implements B,C。
可以在代码A处加入的代码是(d)tt.jump()。
在JAVA语言中,下面变量命名合法的有(a)variable123和(d)variable_123.给定一段JAVA代码如下:要打印出list中存储的内容,以下语句正确的是(a)while(it.hasNext())system.out.println(it.next())和(b)for(int i=0.i<list.size()。
一、类和对象基础题(共13题)1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。
具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。
Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。
主类A用来测试类Lader和类Circle的功能。
2.按要求编写Java应用程序:(1)编写西游记人物类()其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示武器(printWeapon)(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。
并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。
3.编写Java应用程序。
首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。
其次,编写一个主类,在主类中测试Account类的功能。
4.编写Java应用程序。
首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。
其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
5.编写Java应用程序。
首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。
其次,再定义一个主类——TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。
7.编写Java应用程序。
首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在控制台打印出小写的英文字母表。
其次,再定义一个主类——TestClass,在主类的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大小写英文字母表。
8.按要求编写Java应用程序。
(1)建立一个名叫Cat的类:属性:姓名、毛色、年龄行为:显示姓名、喊叫(2)编写主类:创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。
9.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。
10.按要求编写Java应用程序。
(1)创建一个叫做People的类:属性:姓名、年龄、性别、身高行为:说话、计算加法、改名编写能为所有属性赋值的构造方法;(2)创建主类:创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;让该对象调用成员方法:说出“你好!”计算23+45的值将名字改为“李四”11.按要求编写Java应用程序。
(1)创建一个叫做机动车的类:属性:车牌号(String),车速(int),载重量(double)功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。
编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;(2)创建主类:在主类中创建两个机动车对象。
创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽A9752”,并让其加速。
创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为150, 载重为200,并让其减速。
输出两辆车的所有信息12.创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方法初始化x和y。
创建类主类A来测试它。
13.首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次,再编写一个主类来测试ChongZai类的功能。
二、数组相关(共4题)14.已知2个一维数组:a[]={3,4,5,6,7},b[]={1,2,3,4,5,6,7};把数组a与数组b 对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2];最后输出数组b的元素。
15.找出如下数组中最大的元素和最小的元素,a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}三、继承相关(共13题)18.实现如下类之间的继承关系,并编写Music类来测试这些类。
19.创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople 和AmericanPeople类重写父类的三个方法)。
20.编写一个Java应用程序,该程序包括3个类:A类、B类和主类E。
其中类B是类A的子类,在子类B中新增了成员变量和成员方法,并且隐藏了父类A的成员变量和重写了父类A的成员方法。
在主类E的main方法中,创建类B 的对象并赋给父类A的对象a,使用上转型对象a来测试上转型对象的一些特性。
21.编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。
要求:(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。
(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。
(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。
(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。
22.编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。
然后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写),子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子类新增的方法g输出大写的英文字母表。
最后编写主类C,在主类的main方法中测试类A与类B。
23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。
具体要求如下:(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);(2)Employee类中的属性有:办公室office(String类型),工资wage(double 类型),受雇日期hiredate(String类型);(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);(4)Staff类中的属性有:职务称号duty(String类型)。
24.编写一个Car类,具有final类型的属性品牌,具有功能drive;定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。
25.按要求编写一个Java应用程序:(1)编写一个矩形类Rect,包含:两个protected属性:矩形的宽width;矩形的高height。
两个构造方法:1.一个带有两个参数的构造方法,用于将width和height属性初化;2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。
两个方法:求矩形面积的方法area()求矩形周长的方法perimeter()(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用矩形的左上角坐标来标识,包含:添加两个属性:矩形左上角坐标startX和startY。
两个构造方法:带4个参数的构造方法,用于对startX、startY、width和height属性初始化;不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;(3)编写PlainRect类的测试程序创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;计算并打印输出矩形的面积和周长;26.定义类Human,具有若干属性和功能;定义其子类Man、Woman;在主类Test中分别创建子类、父类和上转型对象,并测试其特性。
27.编写一个Animal类,具有属性:种类;具有功能:吃、睡。
定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。
28.按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其面积和体积。
29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
最后,写一个测试类来测试这些类的功能。
30.编写一个Shape类,具有属性:周长和面积;定义其子类三角形和矩形,分别具有求周长的方法。
定义主类E,在其main方法中创建三角形和矩形类的对象,并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
四、包和访问权限(共5题)31.按要求编写Java应用程序:①创建项目testpackage在该项目下创建包pack1和包pack2在pack1下创建类A和类B在pack2下创建类B和类C在pack1.B的main方法中创建一个类A的对象a在pack2.C的main方法中创建一个类A的对象a②在pack2.B中添加方法f如下:public void f(){System.out.println("执行pack2包中的类B的方法f");}在pack2.C中创建pack2.B的对象b,并调用方法f③在类A中添加如下三个成员变量:int型的私有变量ifloat型的变量fdouble型的公有变量d在pack1.B的main方法中为对象a的成员变量f和d分别赋值为2和3在pack2.C的main方法中为对象a的成员变量d赋值为332.在包a中编写一个类Father,具有属性:年龄(私有)、姓名(公有);具有功能:工作(公有)、开车(公有)。