当前位置:文档之家› CoreJava试题1

CoreJava试题1

CoreJava试题1
CoreJava试题1

CoreJava总结:

1、java语言概述

java语言特性——它是一种简单、面向对象、分布式、解释型、稳定、安全、结构中立、易移植、高性能、多线程的动态语言jdk、jre、jvm

GC System.gc()

编码(.java)——编译(.class)——运行javac 编译java 运行

Javac -d d:/workspace First.java

Java -classpath d:/workspace com.tarena.First

JA V A_HOME

CLASSPATH

PATH:java javc jar javadoc

代码安全

常见包:lang、io、net、util、sql

2、基础语法

注释:单行//、多行/* */ 、文档/** */ ctrl+/ 单行注释、取消已注释

Crtl+shift+/ 多行注释

Crtl+shift+\ 取消多行注释

标识符:类UserAction、方法getName()、变量名name,字母、_、$开头,长度无限制,大小写敏感case sensitive

规范:包https://www.doczj.com/doc/9b4735188.html,.tarena、类(接口)、方法(变量)、常量(static final)PI_MY=3.1415926

关键字50个:volatile,transient,sizeof,const(final)、goto (break[label]、continue[label])

字面值:true、false、null

数据类型:8种基本类型、引用类型(对象气球)

String name = new String("123");

栈:引用,基本类型int a =1;

堆:对象Person p//声明; p= new Person();//实例化

运算符:A&getXXX()、A&&getXXX(),>>>(>>),instanceof(比较运算符)

false&true false&&true

int a =1;Int b =a++ +1 int c =++a +1

Byte a=1;byte b =1;

Byte c =(byte)a+b

Byte d+=1.0;//因为不管运算符右边得到的是什么类型都会把右边得到的值转化为左边的类型

表达式:由运算符、常量及变量构成

3、流程控制

if……else,switch(byte、short、int、char、枚举,long与String 不可)……case(default位置不限),while,do……while,for(;;){}

break、continue

4、数组

相同类型对象的集合,对象(length属性)

数组的声明int[] a,int a[]

int[] a ={1,2,3}//数组静态初始化只可在声明时初始化。

//Long[] b = a; //错误

数组的创建a=new int[5];默认初始化与类属性的默认初始化一样数组的初始化a=new int[]{1,2,3,4,5};

声明、创建、初始化一起:int[] a=new int[]{1,2,3,4,5}

多维数组int[][] a=new int[2][];

Int[] a[] ;int a[][];

a[0]={1,2,3} a[1]={2,3,4,5}

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

java.util.Arrays查找、排序sort()

Int[][] b = Arrays.copyof(a,3 );

数组---》集合:java.util.Arrays.asList()

集合---》数组:list.toArray()

选择、冒泡(熟记,在纸上写出来)、插入、快速见FTP

5、面向对象概论

类和对象:类——抽象数据类型,对象——类的实例

封装(隐藏该隐藏的、公开该公开的、getter/setter、方便使用、安全考虑)——>继承(代码重用OOP、AOP,构造器不可被继承)@OverRide

——>多态(父类引用指向子类对象、编译时只能调用父类方法、运行时实际调用子类重写的方法)

People p = new Student();

P.playGame();//出错,编译器只去父类中找

P.study();//多态发生在运行期

重写:方法名相同、返回值相同(父子类也可)、参数列表相同、访问权限不能变小、抛出异常不能扩大(父类方法抛异常、子类

方法不抛异常)

重载:方法名相同、返回值不做限制、参数列表不同(精确匹配)static(修饰成员属性、成员方法)、final(修饰类不可被继承-String 类、修饰方法不可被重写、修饰变量不可变)、abstract(抽象类可以没有抽象方法、抽象方法必须声明在抽象类中)

抽象类(有构造器、不可实例化、单继承)和接口(无构造器、多实现)——面向接口编程(jdbc API)

构造器:与类名相同、没有返回值、默认构造器(空参空实现)、构造器重载

子类对象创建和初始化顺序:

*创建一个子类对象:

*1、加载父类

*2、加载子类

*3、初始化父类的属性

*4、调用父类的构造器

*5、显示初始化父类的属性

*6、执行父类构造器下面的代码执行完

*7、初始化子类的属性

*8、调用子类的构造器

*9、显示初始化子类中的属性

*10、执行子类构造器以下的代码

单类创建和初始化顺序:类的static成员(一次)和静态语句块、属性默认初始化、构造器、显式初始化(代码块)、构造器剩余代码

this.当前对象成员、this(id,name)调用当前对象重载的构造器super.父类对象成员、super(……)调用父类重载的构造器Super()和this()只能出现在构造器第一行

类型转换:高字节(父类)-低字节(子类)(强转)——instanceof

Person p = new Person();

If(p instanceof Student){

Student s = (Student)p;

}

运算符、反之自动类型提升

String s=“ABC”;

Object obj =s;

方法声明(签名):修饰符返回类型方法名(参数列表)抛出异常{方法体}

参数传递:值传递(ctrl+s 编码习惯)

6、高级语言特性

访问控制:private、default、protected、public(反射可以破坏封装、编译时概念)

Object:clone(深克隆、浅克隆)、finalize(回收资源)、equals (默认实现:==)、toString(类全限定名@hashCode的16进制)、hashCode(默认native非java语言实现)、getClass(反射相关)、wait(3个)、notify、notifyAll(线程相关)

String(方法参考API)常量池

String str=new String(“abc”)创建了两个对象

String s="abc";

String s1="d";

String s4 ="abc"+"d";

Strign s2=s+s1;

String s3="abcd";

S2 == s3

StringBuffer(线程安全、synchronized)、StringBuilder——可变长字符串

可变长参数String[]——String…

静态导入import static System.out out.println(); (不建议用) 包装类——自动拆箱、装箱char——Character

int——Integer——String PPT 162

缓存范围(-128--127)

Integer a =128;

Integer b =128;

a ==b;

内部类:静态、成员、局部(final变量)、匿名(无名,无构造器,无class,implments、extends关键字,继承类或实现接口)静态内部类创建对象

new Outer.Inner()

成员内部类创建对象

(new Outer()).new Inner()

枚举enum:特殊的类、不可被继承、可以实现接口、没有“局部或匿名枚举”的概念

7、集合

自动扩容,元素类型任意,数据结构

PPT183

Queue:FIFO

List有序、可重复:ArrayList(数组实现、查询快、增删慢)、LinkedList(双向链表实现、查询慢、增删快)、Vector(线程安全的ArrayList)

Set无序、不可重复:TreeSet(实现可排序SortedSet)、HashSet (通过hashCode计算位置、若位置已被占比较equals、若equals 相等丢弃否则按照某种算法寻找下一位置)

Map键值对:TreeMap(实现SortedMap)、HashMap(HashSet 就是value为null的HashMap)

Iterator(用作迭代)、Iterable(Collection的父接口,方法iterator)

1、迭代器在循环外创建

2、一次循环只能调用一次next();

3、删除集合元素使用迭代器的删除方法remove();

for-each循环——用迭代器实现(数组,集合)一般用于查询,不用于删除

https://www.doczj.com/doc/9b4735188.html,parable(用于要插入集合的类实现)、

https://www.doczj.com/doc/9b4735188.html,parator(用于Tree*的构造器)

8、泛型

代码安全性ClassCastException

泛型类

类型擦除——编译时概念

ArrayList list=new ArrayList();

ArrayList list=new ArrayList();

List list=new ArrayList();

ArrayList list=new ArrayList(); 泛型参数不允许多态

9、异常

PPT244

Error、Exception(受查异常,必须处理:捕获或抛出)、RuntimeException(运行时异常,可以不处理)

try(可能出异常的代码块)——catch(捕获异常并处理printStackTrace、getCource、getMessage)——finally(final、finalize)除出现System.exit(0);代码外一定执行

自定义异常

Throw new MyException();//100%发生异常

throws MyException//可能发生异常

异常栈结构

常见异常:除数为零异常,数组下标越界,类型转换异常,空指针异常,数据格式不正确

断言:Assertion https://www.doczj.com/doc/9b4735188.html,ng.AssertionError –enableassertions用于

调试,产品发布后关闭断言

10 反射、标注

Class(基因)获得对象的三种方式:类名.class、对象.getClass()、Class.forName();——立即/强制加载类型信息

Integer.TYPE == int.class(封装类的TYPE属性和基本类型的class 相同)

Class对象的newInstance()方法得到实例

Class c = People.class;

Method m = c.getMethod("eat",String.class);

Constructor con=

c.getConstructor(String.class,int.class);

People p = con.newInstance("张三",20);

m.invoke(p, "eat");

new People().eat();

类型信息(.class文件)的运行时加载(动态加载)

反射:获取类型信息、创建对象、破坏封装、调用方法(AOP)标注:Annotation特殊的接口@Test()、Method.invoke

三种类型:标记标注、单值标注、多值标注

自定义标注@interface

常见标注:@Override、@Deprecated、@SuppressWarning

元标注:标注标注的标注@Retention、@Target、@Documented、@Inheried

11 IO流、文件

File(exist、getAbsolutePath)文件或者目录File.Separator

IO流PPT466-468

分类:

输入流(in、reader)——输出流(out、writer)

字节流(stream)——字符流(reader、writer)(适配器模式)节点流——包装流(装饰器模式)

new ObjectInputStream(new DataInputStream……(new FileInputStream(文件路径)))

1、文件读写流FileInputStream

2、转换流InputStreamReader(编码转换)

3、数据流DataInputStream(8中基本类型)

4、按行读写流BufferedReader/PrintWriter(PrintStream)

5、对象流ObjectInputStream(必须实现Serializable)

内存-->硬盘:

1、序列化:把对象保存到文本中

2、持久化:jdbc、hibernate,把对象保存到数据库中

如何挑选合适的流?

静态的static

瞬时的transient

序列化——ObjectInput(Output)Stream借助反射实现实现可序列化接口

什么被序列化了:类的全限定名、属性的类型和值(对象的状态)

反序列化要求jvm中有类的声明

Class.forName(类的全限定名);

RandomAccessFile(read、write、seek)

格式化输出/入:Scanner、printf(“%s_%d”,”123”,12);

13 多线程

线程、进程

Thread类和Runnable接口(解决了单继承问题)

状态切换PPT435 7种状态sleep、yield、join、start、notify、wait

并发控制:synchronized 牺牲时间换取安全性

synchronized {

}

死锁——哲学家进餐(了解)

并发包:Executor ExecutorService

1, 创建线程池,返回ExecutorService

newCachedThreadPool()

无容量限制,根据任务量自动创建线程

一般情况下使用

newFixedThreadPool(int nThreads)

指定容量限制的线程池

大量任务情况下使用

ExecutorService - 线程池

---------------------

execute(Runnable command)将任务代码交给线程池,

线程之内的线程会自动执行任务的run方法

Callable(call方法解决了run方法的两个问题:有返回值(泛型)、可以抛出异常)Future

Lock:互斥锁、读写锁

14 网络编程

Scoket

TCP/IP协议

UDP

https://www.doczj.com/doc/9b4735188.html,+java.io+https://www.doczj.com/doc/9b4735188.html,ng

注意flush

编程步骤

Socket s = new Socket();

//s.getInputStream()

//s.getOutputStream()

ServerSocket sc = new ServerSocket(8080);

Socket ss = sc.accept();

ss.getInputStream()

ss.getOutputStream()

15、URL

https://www.doczj.com/doc/9b4735188.html,/s?wd=%B4%EF%C4%DA&rsv_bp=0 https://www.doczj.com/doc/9b4735188.html,/search?hl=zh-CN&q=%E8%BE%BE%E5% 86%85&lr=

达内wd=%B4%EF%C4%DA(GBK)

oq=%E8%BE%BE%E5%86%85(UTF-8)

URLEncoder

URLDecoder

========================

String url= https://www.doczj.com/doc/9b4735188.html,?name="达内"&id=1;

String url1= encode(String url, "UTF-8")

decode(String str, String charset)

注:通过浏览器的地址栏传递的url1的话,我们需要在后台decode 的2次

java小试题

1. 关于Java语言的特征,描述正确的是 A. 支持跨平台(Windows,Linux,Unix等) B. GC(自动垃圾回收),提高了代码安全性 C. 支持类似C的指针运算操作 D. java语言是面向对象的语言 解答:ABD 范围:corejava 难度:3 2.下列表达式正确的是 A. byte b=128; B. boolean b=null; C. long a = 2147483648L; D. float f=0.9239; 解答:C 3.下列不属于java标识符的是 A.HelloWorld B._HelloWorld C. $HelloWorld D. HelloWorld3 E. 3HelloWorld 解答:E 4. 下列代码的运行结果是: public class SwitchTest { public static void main (String []args) { System.out.println (“value =” +switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++;

case 2: j++; case 3: j++; case 4: j++; case 5: j++; default:j++; } return j + x; } } A. Value =3 B. Value =4 C. Value =5 D. Value =6 E. Value =7 F. Value =8 解答:F 5. 以下程序的输出结果为: public class test { public static void main(String args[]) { int x=1,y=1,z=1; if (x--==1&&y++==1||z++==1) System.out.println("x="+x+",y="+y+",z="+z); } } A. x=0,y=2,z=1 B. x=1,y=2,z=1 C. x=0,y=1,z=1 D. x=0,y=2,z=2 解答:A #6. 下面的程序没有编译错误的是:

面向对象试题(标准答案)

CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200

2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()

公司内部Javaio流笔试题

公司内部Javaio流笔试题

IO 框架 Key Point * File 类 * 流的分类 * 基本字节流 * 字节过滤流 * 基本字符流、桥转换 * 字符过滤流 * 对象序列化 练习 1. (File 类)以下关于File 类说法正确的是: A.一个File 对象代表了操作系统中的一个文件或者文件夹 B.能够使用File 对象创立和删除一个文件 C.能够使用File 对象创立和删除一个文件夹 D.当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. (File 类)有如下代码: public class TestFile{ public static void main(String args[]){ File file = new File(“chp13/corejava.txt”); } } 请选择一个正确答案: A. corejava.txt 文件在系统中被创立 B. 在windows 系统上运行出错,因为路径分隔符不正确 C. corejava.txt 文件在系统中没有被创立

D. 如果corejava.txt 文件已存在,则抛出一个异常 3. (File 类)将下列代码补充完整 class TestMyFile{ public static void main(String args[]) throws Exception{ File file; //创立一个File 对象表示当前目录下的“hello.txt”文件 //判断该文件是否存在 //如果该文件存在,则输出该文件的完整路径 } } 4. (流的分类)对于FileInputStream 来说,从方向上来分,它是_________流,从数据单 位上分,它是__________流,从功能上分,它是____________流。 5. (字节流, FileInputStream)FileInputStream 有三个重载的read 方法,其中 1) 无参的read 方法返回值为___类型,表示_________________ 2) int read(byte[] bs)方法返回值表示______________,参数表示 ________________ 3) int read(byte[] bs, int offset, int len) 方法返回值表示 _______________,参数分别表示 ___________________________。 6. (FileInputStream)下面关于FileInputStream 类型说法正确的是: A.创立FileInputStream 对象是为了读取硬盘上的文件 B.创立FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出一个异常 C.利用FileInputStream 对象能够创立文件 D.FileInputStream 对象读取文件时,只能读取文本文件。

COREJAVA第一阶段笔试题_答案(2)

选用的题目如下: 01.数组有没有length()这个方法? String有没有length()这个方法? 数组没有length方法数组提供的获得元素个数的方式是通过访问数组的length属性String也就是字符串类型有length()用于返回字符串的字符个数也就是俗话说的字数但是字符数和字节数是不同的 int num = str.getBytes().length - str.length(); 可以得到一个字符串当中有多少个汉字 02.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?为什么? Overload:方法重载指发生在同一类当中,方法名字相同,参数列表(类型、个数、顺序)不同的两个方法 (体现静态多态) Override:方法覆盖发生在有继承关系的两个类之间子类类型当中访问控制权限修饰符不能更严格抛出的异常种类不能更广泛 方法重载的时候可以改变返回值的类型return type maybe different 因为方法名字和参数列表一旦确定在一个类当中就可以唯一确认一个方法所以即便方法返回类型不同 也能判断出来调用的是哪个方法,因而不会出错 03.== 与equals 有何区别? == 是Java当中的运算符用于比较两个引用当中存放的内存地址也就是内存指向是否相同 或者说用于判断两个对象是否是同一个对象 equals()是Java当中所有类型的父类既Object类当中的一个方法用于任何一个子类类型 通过覆盖equals从而给这个类型提供另外一种比较规则(因为java当中没有运算符重载) 很多人看到equals就认为是比较内容的方法其实不然在Object类当中equals方法当中也是采用==实现比较 04abstract class和interface有什么区别? 抽象类当中可以定义普通的属性可以定义普通的方法(有完整方法体的方法), 抽象类依然是Object的子类类型 interface从某种意义上应当理解成为更为纯粹的抽象类当时其中只能定义抽象方法和常量 接口当中定义的变量默认就是常量接口当中定义的方法默认就是抽象方法 接口的概念没有父类换言之接口不是Object类型的子类类型 05.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 接口可以继承接口而且可以多重继承在继承多个接口的同时子接口等价于两个接口

CoreJava第一次考试——1

考试一 试题类型:不定项选择题 试题1指出下面语句编译错误的是() A. byte b=128; B. boolean flag=null; C. long a = 2147483648L; D. float f=0.9239; 试题2完成代码计算10的阶乘并输出,应该填入的代码是()… … long result = 1; for(int i = 2; i <= 10; i++) { < 填入代码 > } System.out.println("result= " + result); … … A. result = result * i; B. result = i*i; C. result = i*(i+1); D. reslut = i*(i-1); 试题3下列关于数组的声明错误的是()

A. int[] arry = new int[100]; B. int[3] arry = {1,2,3} C. int[] arry = new int[]{1,2,3} D. int[][] arry = new int[3][] 试题4语句System.out.println(1+2+"java"+3+4)输出的结果是()。 A. 3java34 B. 12java34 C. 3java7 D. 12java7 试题5下面程序的输出结果是() public static void main(String[] args) { int d = 325; int sum = 0; while (d > 0) { int n = d % 10; sum += n; d /= 10; } System.out.println(sum);

java集合-练习题解析

1. 填空 Collection 接口的特点是元素是___无序可重复______; List 接口的特点是元素__有__(有|无)顺序,_可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,____不可以__(可以|不可以)重复;Map 接口的特点是元素是__key、value映射______,其中__value__可以重复,_key___不可以重复。 2. (List)有如下代码 import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 for(int i = 0; i< list.size();i++){ System.out.println(list.get(i)); } for(Object o : list) { System.out.println(o); } Iterator itor = list.iterator(); while(itor.hasNext()){ System.out.println(itor.next()); } } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容 2) 写出程序执行的结果Hello Java Learn World 3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和LinkedList 使用上有什么区别?实现上有什么区别? 4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使 用上有什么区别?实现上有什么区别? 3. (List)写出下面程序的运行结果

CoreJava第三次内测试卷

《CoreJava第三次内测》 一、单选题(共33分,每题2分,共66分) 1.下列对Java中的继承描述错误的说法是()。 A.子类至少有一个基类 B.子类可作为另一个子类的基类 C.子类除了包含它直接定义的属性外,还包含其父类的私有属性 D.子类继承父类的方法访问权限保持不变 2.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行? ( ) A.不会执行 B.会执行,在return前执行 C.会执行,在return后执行 D.会执行,可能在return前执行,也可能在return后执行 3.构造方法是否可被重写和重载()。 A.不能重写,可以重载 B.可以重写,不能重载 C.不能重写,不能重载 D.可以重写,可以重载 4.给出一段程序,试判断哪个是正确的结果() public class rtExcept{ public static void throwit(){ System.out.print(“throwit”); throw new RuntimeException(); } public static void main(String [] aa){ try{ System.out.print(“hello “); throwit(); } catch(Exception re){ System.out.print(“caught ”); } finally{ System.out.print(“finally ”); } System.out.print(“after ”); } } A、hello throwit caught B、hello throwit caught finally after C、hello throwit RuntimeException after D、hello throwit caught finally after RuntimeException 5.给出一段程序,试判断哪个是正确的结果() public class myprogram{ public static void main (String args[]){ try{ System.out.print(“Hello world ”); } finally{ System.out.println(“Finally executing”); }}} A、无法编译,因为没有指定异常 B、无法编译,因为没有catch子句 C、Hello world D、Hello world Finally executing 6.对于catch子句的排列,下列哪种是正确的( ) A.父类在先,子类在后 B.子类在先,父类在后 C.有继承关系的异常不能在同一个try程序段内 D.一个try后只能放一个catch 7.Java中,泛型数据类型声明可能出现的符号是( ) A.R B.D C.T D.都可以 8.关于Java中异常的叙述正确的是:() A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的 9.所有的异常和错误皆继承哪一个类?() A.java.io.Exception B.https://www.doczj.com/doc/9b4735188.html,ng. Exception C.https://www.doczj.com/doc/9b4735188.html,ng. Throwable D.https://www.doczj.com/doc/9b4735188.html,ng.Error 10.下列关于try-catch-finally语句的描述中,错误的是() A.try语句后面的程序段将给出处理异常的语句 B.catch()方法跟在try语句后面,它可以是一个或多个 C.catch()方法有一个参数,该参数是某种异常类的对象 D.finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用 11.给出下面的代码

《CoreJava》理论试题题库答案版

《CoreJava》理论试题题库答案版得分阅卷人 一、单选题(20题,共38分) 1、(2分)基本数据类型float的包装类是哪项,(C) A( Integer B( Double C( Float D( Character 2、(2分)使用下列哪个修饰符定义的类不能被继承( C ) A. static B. abstract C. final D. Native 3、(1分)下列类的定义,错误的是( D ) A. public class test extends Object{……} 学院班级姓名 B. final class operators{……} 密封线内不要答题 C. class Point{……} D. void class Point{……} 4、(2分)静态内部类是指使用(B)来修饰的内部类 A(final B.static C.public D.protected 5、(2分)匿名内部类的特点下面错误的是(b) A、匿名内部类没有构造方法 B、匿名内部类是静态的 C、它主要用于继承其他类或实现接口 D、它是一个特殊的局部内部类 6、(2分)下列哪个类不是java基本数据类型的封装类,( C ) A. Integer; B. Byte; C. String; D. Character; 7、(1分)基本数据类型char的包装类是哪项,( D ) A int

B char C String D Character 8、(2分)阅读以下程序代码,作出分析:public class Test { public static void main(String[] args) { boolean b = true; b=new Apple().equals(new Apple()); System.out.println(b); }}class 1 / 49 Apple{}该程序的输出结果是:(A) A(false B(true C. 不确定结果 D. 编译错误 9、(2分)List接口的特点是哪项,(C) A(不允许重复元素,元素无顺序 B(不允许重复元素,元素无顺序 c(允许重复元素,元素有顺序 D(允许重复元素,元素无顺序 10、(2分)关于HashMap和HashTable的说法错误的是( D ): A. HashMap和HashTable都是Map接口的实现类 B. HashTable是线性安全的 C. HashMap是线性不安全的 D(HashTable要比HashMap的性能高一点 11、(2分)当程序调用一个null对象的方法或属性时,这将引起(A )异常

java第一阶段测试题(答案)分析

JA V A基础测试题-CORE JA V A部分1.在main(String[] args)方法内是否可以调用一个非静态方法? 答:main方法是静态方法,不能直接去访问非静态成员(成员可以是成员变量或是成员方法)2.请简述java程序运行的过程 答: .java程序----编译---→.class----运行---→显示结果 3.java中的控制台输出内容换行方式有几种? 答:第一种:System.out.println(); 第二种:System.out.print(“\n”); 4.java中的注释有哪几种?分别用来注释什么? 答:有三种注释分别为: 单行注释: //常用来注释变量 多行注释:/* *用来注释变量,方法,类 */ 文档注释:/** *用来注释变量,方法,类 */ 5.请简述java 中标识符命名规则. 答:必须是字母,数字,下划线,$组成 不能以数字开头;不能是java中的保留字,最好见名知义

6.请举例说明Scanner这个类的常用方法 答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt() 7.java中的数据类型分为哪两类? 答:数据类型分八个基础数据类型(byte,short,int ,long ,float,double,char,boolean) 和引用数据类型(包括类,接口和数组) 8.java中全局变量和局部变量的区别? 答:位置的区别:java中全局变量就是类中的属性,而局部变量是方法中或代码块中定义的变量; 初始值不一样:全局变量不赋值,系统会给默认值,也不会报错,而局变部量必须要赋初始值; 作用域不一样:全局变量在整个类所有方法中可以访问,局部变量只能在定义它的那一对括号中才可以访问 9.同一个文件里是否可以有两个public类? 答:不可能,一个java文件中只能有一个类是public的,而必须是public的类才可以作为java文件的类名. 10.方法名是否可以与构造器的名字相同? 答:可以。 11.初始化了一个没有run()方法的线程类,是否会出错? 答:不会出错 第一种方法:直接继承Thread类。 public class Test{ public static void main(String[] args){

杰普-Core-Java2014测试题-附最新答案

班级::日期: Core Java试题 选择填空题:全部为多选题,只有全部正确才能得分。 1.编译java程序的命令是___B_____;运行java程序的命令是____A____;产生java文挡的命令是 _D_______;查询java类型是否是serializable类型的命令是___C_____;产生java安全策略文件的命令是___E_____;产生类型归档文件.jar的命令是__F______。 A. java B. javac C. serialver D.javadoc E.policytool F.jar 2.在一个java原文件中,import, class, package语句的顺序是_F_______。 A.import class package B.class import package C.package class import D.import package class E.class package import F.package import class 3.下面叙述正确的有_______CDEF_____________。 A.在一个java原文件中只能定义一个class B.在一个java原文件中只能定义一个interface C.在一个java原文件中可以定义多个class D.在一个java原文件中可以定义多个interface E.在一个java原文件中可以定义多个class和interface F.在一个java原文件中只能定义一个public class 4.java程序中程序运行入口方法main的签名正确的有____AB____。 A.public static void main(String args[]) B.static public void main(String[] args) C.public void static main(String[] args) D.public void main(String args[]) 5.java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从____A____开始。 A. 0 B. 1 C.-1 6.以下属于正确的java注释有____ACD____。 A. //This is comment B. /*This is comment C. /**This is comment*/ D. /*This is comment*/ 7.以下能作为class, interface, method或variable有效标识符的有______ADF__________。 A.For B.boolean C.23age D. _id E.my name F. $this_is_a_long_variable_name 8.以下不是java关键字的有__D______。 A. super C.this D.NULL E.true 9.以下能作为char类型的字面值的有__BD______。 A. “e” B.’f’ C. ‘\u12’ D.’\u0012’ 10. byte变量的取值围是____B____。 A. 0 - 65535 B.-128 – 127 C.-256 – 255 D.0 - 32767 11.以下正确的有_____AC___。

core_java面试题

JA V A面试题-COREJA V A部分 1.在main(String[] args)方法内是否可以调用一个非静态方法? 答案:不能 2.同一个文件里是否可以有两个public类? 答案:不能 3.方法名是否可以与构造器的名字相同? 答案:可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4. 初始化了一个没有run()方法的线程类,是否会出错? 答案:不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args) {

杰普-Core-Java2014测试题-附最新答案

班级:姓名:日期: Core Java试题 选择填空题:全部为多选题,只有全部正确才能得分。 1.编译java程序的命令是___B_____;运行java程序的命令是____A____;产生java文挡的命令是_D_______; 查询java类型是否是serializable类型的命令是___C_____;产生java安全策略文件的命令是___E_____; 产生类型归档文件.jar的命令是__F______。 A. java B. javac C. serialver D.javadoc E.policytool F.jar 2.在一个java原文件中,import, class, package语句的顺序是_F_______。 A.import class package B.class import package C.package class import D.import package class E.class package import F.package import class 3.下面叙述正确的有_______CDEF_____________。 A.在一个java原文件中只能定义一个class B.在一个java原文件中只能定义一个interface C.在一个java原文件中可以定义多个class D.在一个java原文件中可以定义多个interface E.在一个java原文件中可以定义多个class和interface F.在一个java原文件中只能定义一个public class 4.java程序中程序运行入口方法main的签名正确的有____AB____。 A.public static void main(String args[]) B.static public void main(String[] args) C.public void static main(String[] args) D.public void main(String args[]) 5.java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从____A____开始。 A. 0 B. 1 C.-1 6.以下属于正确的java注释有____ACD____。 A. //This is comment B. /*This is comment C. /**This is comment*/ D. /*This is comment*/ 7.以下能作为class, interface, method或variable有效标识符的有______ADF__________。 A.For B.boolean C.23age D. _id E.my name F. $this_is_a_long_variable_name 8.以下不是java关键字的有__D______。 A. super C.this D.NULL E.true 9.以下能作为char类型的字面值的有__BD______。 A. “e” B.’f’ C. ‘\u12’ D.’\u0012’ 10.byte变量的取值范围是____B____。 A. 0 - 65535 B.-128 – 127 C.-256 – 255 D.0 - 32767 11.以下正确的有_____AC___。 A. int i = 32; B.float f = 45.32; C. double d=3.2;

coreJavaBasic考试

CoreJavaBasic考试试卷 考试时间:一个小时 考题总分:100分制 一:选择题,30题共60分(每小题2分少选多选都不给分) 1.What will be the output when you compile and execute the following program. public class Base{ private void test() { System.out.println(6 + 6 + "(Result)"); } static public void main(String[] a) { new Base().test(); } } Select most appropriate answer. A 66(Result) B 12(Result) C Runtime Error.Incompatible type for +. Can't convert an int to a string. D Compilation Error.Incompatible type for +. Can't add a string to an int. 2.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的(): A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 3.编译运行以下程序后,关于输出结果的说明正确的是(): public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9 :9)); } } A、输出结果为:value is 99.99 B、输出结果为:value is 9 C、输出结果为:value is 9.0

Java期末试卷以及答案

一、选择题 1. 下列选项中,()可以准确地获取请求页面的一个文本框的输入(文本框的名称为name)。 A. request.getParameter(name) B. request.getParameter(”name”) C. request.getParameterValues(name) D. request.getParameterValues(“name”) 2. 使用response对象进行重定向时,使用的方法是()。 A. getAttribute B. setContentType C. sendRedirect D. setAttribute 3. session对象中用于设定指定名字的属性值,并且把它存储在session对象中的方法是()。 A. setAttribute B. getAttributeNames C. getValue D. getAttribute 4. 在application对象中用()方法可以获得application对象中的所有变量名。 A. getServerInfo B. nextElements() C. removeAttribute D. getRealPath 5. 要使用JSTL的核心标签库,需要在JSP源文件的首部加入如下声明语句() A. <%@ taglib prefix="c" uri="https://www.doczj.com/doc/9b4735188.html,/jsp/jstl/core" %> B. <%@ taglib prefix=”x” uri=”https://www.doczj.com/doc/9b4735188.html,/jsp/jstl/xml”%> C. <%@ taglib prefix=”fmt” uri=”https://www.doczj.com/doc/9b4735188.html,/jsp/jstl/fmt”%> D. <%@ taglib prefix=”sql” uri=”https://www.doczj.com/doc/9b4735188.html,/jsp/jstl/sql”%> 6. 以下()标签用于实现循环功能,类似与Java语句中的for循环。 A. B. C. D. 7.在编写Servlet时,需要继承 HttpServlet 类,在Servlet中声明doGet()和doPost()需要request 和 response 类型的两个参数。 8.jsp主要内置对象有:application 、exception、pageContext、request 、response 、__session__、out、config、page。 9.下列关于HTTP协议说法正确的是。ABCDE A)HTTP是一种请求/响应式的协议 B)HTTP请求消息中Accept表示浏览器可接受的MIME类型 C)HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D)HTTP请求消息中Accept-Language表示浏览器所希望的语言种类 E)HTTP请求消息中Host表示初始URL中的主机和端口。

corejava月考1.2

一、单选(50小题共100.0分) 1. 执行下列语句: int num=~3+2; 变量num的值为()。 -3 A. 3 B. -2 C. -1 D. 正确答案:C 2. 执行下列语句: int a = 0x9af700; //1001 1010 1111 0111 0000 0000 a <<= 2; 变量a的值为:()。 0x26bdc00 A. 0xc6bdc00 B. 0x3fa0000 C. 0x7e02ffff D. 正确答案:A 3. 下列数组声明语句中,错误的是:()。 int[] arr = new int[8]; A. int[] arr = new int[8]{}; B. int[] arr = {}; C.

int[] arr = new int[]{}; D. 正确答案:B 4. 下列代码的输出结果是()。 boolean b=true?false:true==true?false:true; System.out.println(b); true A. false B. null C. 空字符串 D. 正确答案:B 5. 下列代码的输出结果是()。 int j=0; for(int i=0;i<100;i++){ j=j++; } System.out.println(j); A. 99 B. 100 C. 101 D. 正确答案:A 6. 下列不属于Java运算符的是()。 != A.

<> B. >> C. << D. 正确答案:B 7. 下列属于不合法Java标识符的是()。 _avaj A. 5save B. Avaj C. $80 D. 正确答案:B 8. 下列语句创建对象的总个数是:()。 String s=”a”+”b”+”c”+”d”+”e”; 1 A. 2 B. 3 C. 4 D. 正确答案:A 9. 运行下列程序: String str = "**oracle***oracle*****oracle***"; String str1 = "oracle"; int index = 0; while ((index = str.indexOf(str1, index)) != -1) { System.out.print(index+””); index += str1.length(); }

面向对象试题(答案)

面向对象试题(答案)

CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a);

} } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200

2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构 造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test() ”); } }

public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.C hild.test() Child.test() B.C hild.test() Base.test() C.B ase.test() Child.test() D.Base.test() Base.test()

java开发常见基础面试题(题库全)

Java面试题基础面试题库集 面试题集共分为以下十部分: 一、Core Java:1 —95 题1 —24 页 基础及语法: 1 —61 题1 —13 页 异常:62 —69 题13 —15 页 集合:70 —80 题15 —18 页 线程:81 —90 题18 —21 页 IO & Socket:91 —95 题21 —24 页 二、OOAD & UML:96 —101 题24 —25 页 三、XML:102 —105 题26 —29 页 四、SQL:106 —109 题29 —31 页 五、JDBC & Hibernate:110 —121 题31 —35 页 六、Web:122 —161 题35 —44 页 七、EJB & Spring:162 —179 题44 —47 页 八、数据结构& 算法& 计算机基础:180 —187 题47 —51 页 九、C++:188 —201 题51 —55 页 十、Weblogic 及其它(附加部分) 1 ——13 题55 —57 页 一、CoreJava 部分:(共95 题:基础91 道,中等难度4 道) 基础及语法部分:(共61 题:基础60 道、中等难度1 道) 1、面向对象的特征有哪些方面? 【基础】 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态

相关主题
文本预览