Java题库
填空题
1.每个Java应用程序都要有且只有一个__main( )__方法,它是程序运行的起点。
2.在面向对象概念中,整个世界是由各种各样的___对象_____组成的。
3.导入包的形式为:__import java_______________。
4.__字节码__是一套高度优化的指令集,它由Java运行期解释器执行,帮助Java实现了可移植性和安全性。
5.创建一个包时,使用关键字_package______。
6._封装_____是把成员变量和成员方法包装在一个类内以限定成员的访问,达到保护数据的一种技术。
7.用来实现接口的关键字是___implements___________。
8.多态性可通过2种方式来实现,一个是_ 方法重载__,另一个是___方法重写___。
9.在进行文件操作时,若需要知道关于文件的信息,则需要创建__File____类对象。
10.定义String变量s的值为“abcdef1234”,则s.length()的返回值是__10____。
11.在面向对象概念中,整个世界是由各种各样的__对象___组成的。
12.__继承___是由一种已有的类创建新类的机制,是面向对象程序设计的基石之一。
13.Java编译器会为所有程序自动导入包__java·long___,因此不必再用import语句导入它包含的所有类。
14._构造方法___可视为特殊的方法,它的主要角色是帮助创建的对象赋初值。
15.所有的Java异常都是系统类库中的_Exception____类的子类。
16.FileInputStream类直接继承自 input stream_;FileOutputStream类继承自_output stream_。
17.创建一个多线程程序时可以通过继承_thread 类,也可以通过实现_runnable_ 接口。
18.虽然同一类对象的 定义_都是一样的,但是每个对象的状态都是独立于其它对象的。
19.面向对象的3个最主要的特点是_继承__、 _封装__、 _多态_。
20. 用来表示当前对象的关键字是_this_,而用来表示父类对象的关键字是_super__。。
21.在进行文件操作时,若需要知道关于文件的信息,则需要创建__File__类对象。
22.在使用URL访问网络资源时,若要读取网络信息,需要使用_opeanstream_方法,返回一个输入流对象。
23.关系运算符的运算结果一定是_boolean__数据类型。
24.通常情况下,我们定义类中的_方法__为public,__成员变量____为private。
25.关键字this最常见的应用是在类的构造方法和实例方法中解决__参数___ 和_成员变量___同名的问题。
26.创建一个包时,使用关键字__package____。
27._封装_是把成员变量和成员方法包装在一个类内以限定成员的访问,达到保护数据的一种技术。
28.重新抛出异常时使用关键字__throws____。
29.用户自定义异常必须是__Exception____类的直接或间接子类。
30.在Java语言中,用_ abstract __修饰符定义的类为抽象类。
简答题
1.Java的集合框架是什么,其中的ArrayList与Vector类有何区别?
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。Java提供了实现常见数据结构的类,这些实现数据结构的类通称为Java集合框架。
1)vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。2)如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。
2.描述JVM加载class文件的原理机制。
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析.
1、装载:查找和导入class文件2、连接:其中解析步骤是可选的3、初始化:对静态变量,静态代码块执行初始化。
1.简述按值传递和按引用传递的区别 。
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。 引用传递:也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
2. 简述java垃圾回收机制。
java垃圾回收就是 系统自动把heap(堆)中没有引用指向的对象定期删除。这个是定期自动调用,一般不用去考虑回收的时间点,另外,如果heap中对象比内存多,这时是会报错的。JAVA垃圾回收机制另一个特点是,进行垃圾回收的线程是一种低优先级的线程,在一个Java程序的生命周期中,它只有在内存空闲的时候才有机会运行。
特点:1)垃圾回收是由虚拟机自动执行,不能人为地干预。2)系统比较空闲(垃圾回收线程)。3)对象不在被引用.对象处于引用的隔离岛状态(隔离引用),对象具备了回收的条件。4)gc()方法,可以建议虚拟机执行垃圾回收,但是不能确定是否会执行回收。
3.Java抽象类和接口的作用是什么,二者之间有何区别。
抽象类作用:抽象类是不能够实例化的类,它的作用就是产生子类的同时给予子类一些特定的属性和方法。通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。
接口作用:接口就是方法定义和常量值的集合,把方法的特征和方法的实现分割开来。接口不能有任何具体的方法,引入接口的目的是为了克服Java单继承机制带来的缺陷,实现类的多继承的功能。接口还可以用来实现不同类之间的常量共享。
二者的区别:抽象类在Java语言中体现了一种继承关系,要想使得继承关系合理,抽象类和继承类之间必须存在“是一个(is a)”关系,即抽象类和继承类在本质上应该是相同的。而对于接口来说,并不要求接口和接口实现者在本质上是一致的,接口实现者只是实现了接口定义的行为而已。
4.对于下面的代码,哪个结论是正确的,请解释原因。
public class Test{
public static void main(String[] args){
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
operate(a,b);
System.out.println(a+","+b);
}
static void operate(StringBuffer x,StringBuffer y) {
x.append(y);
y=x;
}
}
A.程序输出"A,B"。 B.程序输出"A,A"。 C.程序输出"B,B"。 D.程序输出"AB,B"。
2.答:选D,原因:java中的函数调用都是传值调用,形参的改变不会改变实参本身的值,对象也一样,此时,传递的是对象的引用,此时,实参的引用和形参的引用都指向相同的对象,由于对象本身发生了改变,所以在main函数中输出了改变后的结果,而y=x,这只是改变了引用变量本身,仍然输出B。
对operate(x,y)的分析,.append(y); append()函数有追加功能相当于insert();y=x;让y对应的内存空间修改为x的内存空间。主函数调用operate(x,y),x对应的内存中的值修改为AB,也就是aAddress内存空间中的值变成AB。a指向的内存空间也是aAddress,所以最后打印出来的值为AB。当前y指向aAddress,但是b依旧指向bAddress,所以最后打印出来的值为B。所以答案为D。
1、写出下面程序的运行结果
class PBase{
public void print(){
System.out.println("base"); }
}
public class PExt extends PBase{
public void print() {
System.out.println("extends"); }
public static void main(String[] args) { PBase a=new PExt();
a.print();
}
}
答案:extends
2、写出下面程序的运行结果
import java.io.*;
public class TestString{
public static void changeStr(String str) { str="welcome";
}
public static void main(String[] args) { String str="1234";
changeStr(str);
System.out.println(str);
}
}
答案:1234
1.写出下面程序的运行结果
class J_Base
class J_Subclass extends J_Base
public String mb_getString()
return ("sub");
public class JTest
{
public static void main (String []args) {
J_Base app = new J_Subclass();
System.out.println(app.mb_getString()); }
}
结果:sub
1、利用Socket机制实现利用网络进行文件传输的应用程序(要求从客户端向服务器端传送任意一个文本类型文件即可)。
服务器端serverfile.java
import java.io.*;
import http://wendang.chazidian.com.ServerSocket;
import http://wendang.chazidian.com.Socket;
public class serverfile {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(6000);//定义服务器端套接字;
Socket s = ss.accept();//监听6000端口,看是否有客户端请求;
FileInputStream fis = new FileInputStream("1.html");//选择需要进行传输给客户端的文件,并用文件输入流打开..
byte[] buf = new byte[10000];//定义保存字节流的字节数组;
int ten = fis.read(buf);//读取字节的长度;
String str = new String(buf,0,ten);//将读取的字节转换回来;
OutputStream os = s.getOutputStream();//打开输出流;
InputStream is = s.getInputStream();//打开输入流;
os.write(str.getBytes());//向客户端发送文件转换后的字节流;
byte[] buf1 = new byte[10000];
int len = is.read(buf1);//读取客户端的信息
System.out.println(new String(buf1,0,len));
}
}
客户端clientfile.java
import java.io.*;
import http://wendang.chazidian.com.InetAddress;
import http://wendang.chazidian.com.Socket;
import http://wendang.chazidian.com.UnknownHostException;
public class test1 {
public static void main(String args[]){
try {
Socket s = new Socket(InetAddress.getByName("127.0.0.1"),6000);//定义连接的主机的ip,以及端口号 InputStream is = s.getInputStream();//打开输入流
OutputStream os = s.getOutputStream();//打开输出流
FileOutputStream fos = new FileOutputStream("2.html");//定义接受对方数据的文件,用文件输出流保存
byte[] buf = new byte[100000];
int ten = is.read();
String str = new String(buf,0,ten);
fos.write(str.getBytes());//向文件写入数据
os.write("文件已收到谢谢".getBytes());
is.close();
os.close();
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2、用Java语言编写对整型数组进行二分查找的程序。 public class binarySearch
{
public static void main(String[] args)
{
int a[]={23,45,98,100,110,120,140};
int search=120;//记录要查找的元素
int low=0;//记录第一个元素
int high=a.length-1 ;
int index=-1;
while(low<=high)
{
index = (low+high)/2;//记录中间元素,用两边之和除2. int mid=a[index];
if(mid==search)
{//如果得到的数与要查找的数相等则break退出; break;
}
else if(mid<search)
{ low=index+1;
}
Else
{
high = index-1;
}
}
if(low<=high)
{
System.out.println(search+"在数组中第:"+(index+1)+"位"); }else
{
System.out.println("里面没有这个元素");
}
}
}
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 2016湖南公务员面试热点模拟题:实体书店的坚守与变革
- 2016湖南公务员面试热点模拟题:中国游客天价抢购日本大米
- 2016湖南公务员面试模拟题:“狗占人座”
- 2017湖南公务员面试热点模拟题:如何照顾受伤儿童
- 2016湖南公务员面试热点模拟题:舆情反转
- 2016湖南公务员面试模拟题: 高学历犯罪
- 2016湖南公务员面试热点模拟题:“蛇蝎保姆”,谁之过?
- 2016湖南公务员面试热点模拟题:打击黑摩的
- 2016湖南公务员面试热点模拟题:治慵治懒
- 2017湖南公务员面试热点模拟题:灾祸发生谁之过
- 2016湖南公务员面试模拟题:飞机“选座收费”惹争议
- 2016湖南公务员面试模拟题:“互联网+”时代的到来需要以诚为先
- 2016湖南公务员面试模拟题:一号难求
- 2017湖南公务员面试热点模拟题:摸查留守儿童
- 2017湖南公务员面试热点模拟题:幼儿园“虐童事件”
- 2016湖南公务员面试模拟题:垃圾分类的窘境
- 2016湖南公务员面试模拟题:“阿里”打假
- 2016湖南公务员面试热点模拟题:“冲动的惩罚”
- 2016湖南公务员面试热点模拟题:“黑心保姆”由谁“买单”
- 2016湖南公务员面试模拟题:“疑罪从无”
- 2016湖南公务员面试模拟题:保护好祖国花朵
- 2016湖南公务员面试热点模拟题:如何劝说商贩
- 2016湖南公务员面试模拟题:号贩子的猖獗是谁之过
- 2017湖南公务员面试热点模拟题:公安微警务上线
- 2016湖南公务员面试热点模拟题:“闯红灯”照片全市曝光
- 2016湖南公务员面试热点模拟题:驾照“直考”
- 2017湖南公务员面试热点模拟题:少年杀师
- 2016湖南公务员面试模拟题:全面放开二孩政策
- 2016湖南公务员面试模拟题:论规矩
- 2016湖南公务员面试模拟题:改变“重涨不重跌”现象 切实保障农民利益
网友关注视频
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 北师大版数学四年级下册3.4包装
- 二年级下册数学第二课
- 北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
- 冀教版小学英语五年级下册lesson2教学视频(2)
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
- 人教版历史八年级下册第一课《中华人民共和国成立》
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 外研版八年级英语下学期 Module3
- 外研版英语七年级下册module3 unit2第二课时
- 第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
- 化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
- 8.对剪花样_第一课时(二等奖)(冀美版二年级上册)_T515402
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
- 《空中课堂》二年级下册 数学第一单元第1课时
- 《小学数学二年级下册》第二单元测试题讲解
- 冀教版英语四年级下册第二课
- 外研版英语七年级下册module3 unit1第二课时
- 苏科版数学七年级下册7.2《探索平行线的性质》
- 化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
- 二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
- 小学英语单词
- 冀教版英语五年级下册第二课课程解读
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
- 冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理