首页开户注册送28元体验金网校万题库直播雄鹰网校团购书城模考论坛实用文档作文大全宝宝起名
2016中考
法律硕士
2016高考
MBA考试
2016考研
MPA考试
在职研
中科院
考研培训 自学考试 成人高考
四 六 级
GRE考试
攻硕英语
零起点日语
职称英语
口译笔译
申硕英语
零起点韩语
商务英语
日语等级
GMAT考试
公共英语
职称日语
新概念英语
专四专八
博思考试
零起点英语
托福考试
托业考试
零起点法语
雅思考试
成人英语三级
零起点德语
等级考试
华为认证
水平考试
Java认证
职称计算机 微软认证 思科认证 Oracle认证 Linux认证
公 务 员
导游考试
物 流 师
出版资格
单 证 员
报 关 员
外 销 员
价格鉴证
网络编辑
驾 驶 员
报检员
法律顾问
管理咨询
企业培训
社会工作者
银行从业
教师资格
营养师
保险从业
普 通 话
证券从业
跟 单 员
秘书资格
电子商务
期货考试
国际商务
心理咨询
营 销 师
司法考试
国际货运代理人
人力资源管理师
广告师职业水平
卫生资格 执业医师 执业药师 执业护士
会计从业资格
基金从业资格
统计从业资格
经济师
精算师
统计师
会计职称
法律顾问
ACCA考试
注册会计师
资产评估师
高级经济师
审计师考试
高级会计师
注册税务师
国际内审师
理财规划师
美国注册会计师
一级建造师
安全工程师
设备监理师
公路监理师
公路造价师
二级建造师
招标师考试
物业管理师
电气工程师
建筑师考试
造价工程师
注册测绘师
质量工程师
岩土工程师
注册给排水
造价员考试
注册计量师
环保工程师
化工工程师
暖通工程师
咨询工程师
结构工程师
城市规划师
材料员考试
消防工程师
监理工程师
房地产估价
土地估价师
安全评价师
房地产经纪人
投资项目管理师
环境影响评价师
土地登记代理人
宝宝起名
缤纷校园
实用文档
入党申请
英语学习
思想汇报
作文大全
工作总结
求职招聘 论文下载 直播课堂
您现在的位置: 开户注册送28元体验金 > Java认证考试 > 历年真题 > 正文
Java认证:Java笔试题附答案。
  一、单项选择题
  1.Java是从()语言改进重新设计。
  A.Ada
  B.C++
  C.Pasacal
  D.BASIC
  答案:B
  2.下列语句哪一个正确()
  A. Java程序经编译后会产生machine code
  B.Java程序经编译后会产生byte code
  C.Java程序经编译后会产生DLL
  D.以上都不正确
  答案:B
  3.下列说法正确的有()
  A.class中的constructor不可省略
  B. constructor必须与class同名,但方法不能与class同名
  C.constructor在一个对象被new时执行
  D.一个class只能定义一个constructor
  答案:C
  4.提供Java存取数据库能力的包是()
  A.java.sql
  B.java.awt
  C.java.lang
  D.java.swing
  答案:A
  5.下列运算符合法的是()
  A.&&
  B.<>
  C.if
  D.:=
  答案:A
  6.执行如下程序代码
  a=0;c=0;
  do{
  --c;
  a=a-1;
  }while(a>0);
  后,C的值是()
  A.0
  B.1
  C.-1
  D.死循环
  答案:C
  7.下列哪一种叙述是正确的()
  A.abstract修饰符可修饰字段、方法和类
  B.抽象方法的body部分必须用一对大括号{}包住
  C.声明抽象方法,大括号可有可无
  D.声明抽象方法不可写出大括号
  答案:D
  8.下列语句正确的是()
  A.形式参数可被视为localvariable
  B.形式参数可被字段修饰符修饰
  C.形式参数为方法被调用时,真正被传递的参数
  D.形式参数不可以是对象
  答案:A
  9.下列哪种说法是正确的()
  A.实例方法可直接调用超类的实例方法
  B.实例方法可直接调用超类的类方法
  C.实例方法可直接调用其他类的实例方法
  D.实例方法可直接调用本类的类方法
  答案:D|||
  二、多项选择题
  1.Java程序的种类有()
  A.类(Class)
  B.Applet
  C.Application
  D.Servlet
  2.下列说法正确的有()
  A.环境变量可在编译sourcecode时指定
  B.在编译程序时,所能指定的环境变量不包括class path
  C.javac一次可同时编译数个Java源文件
  D.javac.exe能指定编译结果要置于哪个目录(directory)
  答案:BCD
  3.下列标识符不合法的有()
  A.new
  B.$Usdollars
  C.1234
  D.car.taxi
  答案:ACD
  4.下列说法错误的有()
  A.数组是一种对象
  B.数组属于一种原生类
  C.intnumber=={31,23,33,43,35,63}
  D.数组的大小可以任意改变
  答案:BCD
  5.不能用来修饰interface的有()
  A.private
  B.public
  C.protected
  D.static
  答案:ACD
  6.下列正确的有()
  A. call byvalue不会改变实际参数的数值
  B. call by reference能改变实际参数的参考地址
  C. call byreference不能改变实际参数的参考地址
  D. call byreference能改变实际参数的内容
  答案:ACD
  7.下列说法错误的有()
  A.在类方法中可用this来调用本类的类方法
  B.在类方法中调用本类的类方法时可直接调用
  C.在类方法中只能调用本类中的类方法
  D.在类方法中绝对不能调用实例方法
  答案:ACD
  8.下列说法错误的有()
  A.Java面向对象语言容许单独的过程与函数存在
  B. Java面向对象语言容许单独的方法存在
  C.Java语言中的方法属于类中的成员(member)
  D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
  答案:ABC
  9.下列说法错误的有()
  A.能被java.exe成功运行的javaclass文件必须有main()方法
  B. J2SDK就是Java API
  C.Appletviewer.exe可利用jar选项运行.jar文件
  D.能被Appletviewer成功运行的javaclass文件必须有main()方法
  答案:BCD|||
  三、判断题
  1.Java程序中的起始类名称必须与存放该类的文件名相同。()
  答案:正确
  2.Unicode是用16位来表示一个字的。()
  答案:正确
  3.原生类中的数据类型均可任意转换。()
  答案:错误
  1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。
  答案:
  BOOL : if ( !a ) orif(a)
  int : if ( a == 0)
  float : const EXPRESSION EXP = 0.000001
  if ( a < EXP && a >-EXP)
  pointer : if ( a !=NULL) or if(a == NULL)请说出const与#define 相比,有何优点?
  答案:1) const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。
  2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。简述数组与指针的区别?
  数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。
  (1)修改内容上的差别
  char a= “hello”;
  a[0] = ‘X’;
  char *p = “world”; // 注意p 指向常量字符串
  p[0] = ‘X’;// 编译器不能发现该错误,运行时错误
  (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
  char a ="hello world";
  char *p = a;
  cout<< sizeof(a) << endl; // 12字节
  cout<< sizeof(p) << endl; // 4 字节
  计算数组和指针的内存容量
  voidFunc(char a[100])
  {
  cout<< sizeof(a) << endl; // 4 字节而不是100字节
  }类成员函数的重载、覆盖和隐藏区别?
  答案:
  a.成员函数被重载的特征:
  (1)相同的范围(在同一个类中);
  (2)函数名字相同;
  (3)参数不同;
  (4)virtual 关键字可有可无。
  b.覆盖是指派生类函数覆盖基类函数,特征是:
  (1)不同的范围(分别位于派生类与基类);
  (2)函数名字相同;
  (3)参数相同;
  (4)基类函数必须有virtual 关键字。
  c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则
  (1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。
  (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆) There are two int variables: a and b, don’t use “if”, “? :”, “switch”orother judgement statements, find out the biggest one of the two numbers.
  答案:( ( a + b ) + abs( a - b ) ) / 2|||
  6. 如何打印出当前源文件的文件名以及源文件的当前行号?
  答案:
  cout << __FILE__ ;
  cout<<__LINE__ ;
  __FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文件中定义的,而是由编译器定义的。
  7. main主函数执行完毕后,是否可能会再执行一段代码,给出说明?
  答案:可以,可以用_onexit 注册一个函数,它会在main 之后执行intfn1(void), fn2(void), fn3(void), fn4 (void);
  void main( void )
  {
  String str("zhanglin");
  _onexit( fn1 );
  _onexit( fn2 );
  _onexit(fn3 );
  _onexit( fn4 );
  printf( "This is executed first.“n" );
  }
  int fn1()
  {
  printf( "next.“n" );
  return 0;
  }
  int fn2()
  {
  printf( "executed " );
  return 0;
  }
  int fn3()
  {
  printf( "is " );
  return 0;
  }
  int fn4()
  {
  printf( "This ");
  return 0;
  }
  The _onexit function is passed the address of afunction (func) to be called when the program terminates normally. Successivecalls to _onexit create a register of functions that are executed in LIFO(last-in-first-out) order. The functions passed to _onexit cannot takeparameters.
  8. 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
  答案:
  #ifdef __cplusplus
  cout<<"c++";
  #else
  cout<<"c";
  #endif
  9.文件中有一组整数,要求排序后输出到另一个文件中
  答案:
  #i nclude
  #i nclude
  using namespace std;
  void Order(vector& data)//bubble sort
  {
  int count = data.size() ;
  int tag = false ; //设置是否需要继续冒泡的标志位
  for ( int i = 0 ; i < count ; i++)
  {
  for ( int j =0 ; j < count - i - 1 ; j++)
  {
  if ( data[j] > data[j+1])
  {
  tag = true ;
  int temp = data[j] ;
  data[j] = data[j+1] ;
  data[j+1] = temp ;
  }
  }
  if ( !tag )
  break ;
  }
  }
  void main( void )
  {
  vectordata;
  ifstreamin("c:““data.txt");
  if ( !in)
  {
  cout<<"file error!";
  exit(1);
  }
  int temp;
  while (!in.eof())
  {
  in>>temp;
  data.push_back(temp);
  }
  in.close(); //关闭输入文件流
  Order(data);
  ofstream out("c:““result.txt");
  if ( !out)
  {
  cout<<"fileerror!";
  exit(1);
  }
  for ( i = 0 ; i < data.size() ; i++)
  out<  10. 链表题:一个链表的结点结构
  struct Node
  {
  int data ;
  Node *next ;
  };
  typedef struct Node Node ;
  (1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)
  Node * ReverseList(Node*head) //链表逆序
  {
  if ( head == NULL || head->next == NULL )
  returnhead;
  Node *p1 = head ;
  Node *p2 = p1->next ;
  Node *p3 =p2->next ;
  p1->next = NULL ;
  while ( p3 != NULL )
  {
  p2->next = p1 ;
  p1 = p2 ;
  p2 = p3 ;
  p3 = p3->next ;
  }
  p2->next = p1 ;
  head = p2 ;
  return head ;
  }|||
  (2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
  Node *Merge(Node *head1 , Node *head2)
  {
  if ( head1 == NULL)
  return head2;
  if ( head2 == NULL)
  return head1 ;
  Node *head = NULL ;
  Node*p1 = NULL;
  Node *p2 = NULL;
  if ( head1->data < head2->data )
  {
  head = head1 ;
  p1 = head1->next;
  p2 = head2 ;
  }
  else
  {
  head = head2 ;
  p2 = head2->next ;
  p1 = head1 ;
  }
  Node *pcurrent = head ;
  while ( p1 != NULL && p2 != NULL)
  {
  if ( p1->data <= p2->data )
  {
  pcurrent->next = p1;
  pcurrent = p1 ;
  p1 = p1->next ;
  }
  else
  {
  pcurrent->next = p2 ;
  pcurrent = p2 ;
  p2 = p2->next ;
  }
  }
  if ( p1 != NULL )
  pcurrent->next = p1 ;
  if ( p2 != NULL )
  pcurrent->next = p2 ;
  return head ;
  }
  (3)已知两个链表head1 和head2各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。 (Autodesk)
  答案:
  Node *MergeRecursive(Node *head1 , Node *head2)
  {
  if ( head1 == NULL )
  return head2 ;
  if ( head2 == NULL)
  return head1 ;
  Node *head =NULL ;
  if ( head1->data < head2->data )
  {
  head = head1 ;
  head->next = MergeRecursive(head1->next,head2);
  }
  else
  {
  head = head2 ;
  head->next = MergeRecursive(head1,head2->next);
  }
  return head ;
  }
文章搜索
Java认证考试栏目导航
版权声明:如果Java认证考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本Java认证考试网内容,请注明出处。
开户注册送28元体验金,开户注册送体验金,MG电子遗产游戏攻略|2018手机版开户送体验金白菜官网