java笔试面试题目

合集下载

(完整版)华为java笔试面试题

(完整版)华为java笔试面试题

华为Java笔试题+数据库题一、单项选择题 1.Java是从( B)语言改进重新设计。

A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确(B ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 3.下列说法正确的有(C ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( A) A.java.sql B.java.awt C.ng D.java.swing 5.下列运算符合法的是( A) A.&& B.<> C.if D.:= 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是(C ) A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( D) A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( C) A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 9.下列哪种说法是正确的(A ) A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 二、多项选择题 1.Java程序的种类有(BCD ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( BCD) A.环境变量可在编译source code时指定 D. javac.exe能指定编译结果要置于哪个目录(directory) 3.下列标识符不合法的有( ACD) A.new B.$Usdollars C.1234 D.car.taxi 4.下列说法错误的有(BCD) A.数组是一种对象 B.数组属于一种原生类 C. int number=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 5.不能用来修饰interface的有(ACD ) A.private B.public C.protected D.static 6.下列正确的有(ACD ) A. call by value不会改变实际参数的数值 B. call by reference能改变实际参数的参考地址 C. call by reference不能改变实际参数的参考地址 D. call by reference能改变实际参数的内容 7.下列说法错误的有( ACD) A.在类方法中可用this来调用本类的类方法 B.在类方法中调用本类的类方法时可直接调用 C.在类方法中只能调用本类中的类方法 D.在类方法中绝对不能调用实例方法 8.下列说法错误的有(ABC ) A. Java面向对象语言容许单独的过程与函数存在 B. Java面向对象语言容许单独的方法存在 C. Java语言中的方法属于类中的成员(member) D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同 9.下列说法错误的有(BCD ) A.能被java.exe成功运行的java class文件必须有main()方法 B. J2SDK就是Java API C. Appletviewer.exe可利用jar选项运行.jar文件 D.能被Appletviewer成功运行的java class文件必须有main()方法 三、判断题 1.Java程序中的起始类名称必须与存放该类的文件名相同。

Java经典面试笔试题及答案

Java经典面试笔试题及答案

1.什么是对象序列化,为什么要使用?所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。

好处:方便远程调用。

2.值传递与引用传递的区别?所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。

不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。

3.接口与抽象类的区别?1:接口里面不可以实现方法体,抽象类可以实现方法体。

2:接口可以多继承接口,抽象类不可以。

3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。

4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。

4.谈谈继承,为什么要使用继承?所谓继承就是找出几个类中共同的部分,提取出来作为父类。

而子类只需要继承父类,就可以共享父类的方法。

使用继承能够减少重复的代码。

5.方法重载的好处?所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。

重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用6.项目中印象最深的部分?我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。

谈谈你对面向对象的理解与认识?我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。

我的看法就是:1:当加入新的功能的时候不会修改原有的代码。

(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。

JAVA软件工程师面试笔试试卷

JAVA软件工程师面试笔试试卷

JAVA软件工程师面试笔试试卷JAVA软件工程师笔试试题(考试时间:120分钟试卷分值:150分)一、逻辑推理题【10分】1、甲、乙、丙、丁四位同学中有一位同学为海啸灾区捐款1000元,当老师询问时,她们分别这样回答:甲:这1000元不是我捐的乙:这1000元是丁捐的丙:这1000元是乙捐的丁:这1000元不是我捐的这四人中只有一个人说了真话,由此可见这1000元是谁捐的( A)。

【2分】A.甲 B.乙 C.丙 D.丁2、甲、乙、丙三人是同一家公司的员工,她们的未婚妻A、B、C也都是这家公司的职员。

知情者介绍说:“A的未婚夫是乙的好友,并在三个男子中最年轻;丙的年龄比C的未婚夫大。

”依据该知情者提供的情况,我们能够推出三对组合分别是(D )。

【3分】A.甲—A,乙—B,丙—CB.甲—B,乙—A,丙—CC.甲—C,乙—B,丙—AD.甲—A,乙—C,丙—B3、甲乙丙丁四人的车分别为白色、银色、蓝色和红色。

在问到她们各自车的颜色时,甲说:“乙的车不是白色。

”乙说:“丙的车是红色的。

”丙说:“丁的车不是蓝色的。

”,丁说:“甲、乙、丙三人中有一个人的车是红色的,而且只有这个人说的是实话。

”如果丁说的是实话,那么以下说法正确的是(B):【2分】A.甲的车是白色的,乙的车是银色的 B.乙的车是蓝色的,丙的车是红色的C.丙的车是白色的,丁的车是蓝色的 D.丁的车是银色的,甲的车是红色的二、基础理论题【20分】1. Java是一种先__编译______后__解释_____运行的语言。

(提示:填编译或者解释)【1分】2. 栈是____________先进后出_____的线性表,队列是__先进先出__________的线性表。

【2分】3. 面向对象的基本特征____封装____,_继承________,__多肽________。

【3分】4. 事务包含4个基本特征,即ACID,它们分别指__________,__________,__________,__________【2分】5. Math.round(11.5)等于_12.0_____。

5道JAVA面试题目

5道JAVA面试题目

1.一个字符串参数(value)由字母(a-z,A-Z)组成,且最大字符位数为40,要求写一个函数(maxLength)返回该参数中连续相同字母的最大个数及该字母,如果最大位数有多个,则返回第一个。

例:字符串“aaaddxxxxddddxxxx”,返回值为:“x,4”。

要求:请考虑代码执行的效率并注意编码的风格。

2.现有一个类person有三个属性,分别是name,age,sex。

有一个List对象,保存了很多person对象的实例,请编写一个函数,对 List里的实例进行排序。

条件:18岁以上的人,排序顺序:性别,年龄,姓名全部降序。

3.有一个水果箱(box),箱子里装有水果(fruit)。

每一种水果都有不同的重量(weight)和颜色(color),水果有:苹果(apple),梨(pear)。

可以向水果箱(box)里添加水果(addFruit),也可以取出水果(getFruit)。

请编写java代码实现上述功能。

4.有一静态整形变量X,初始值为0,用JAVA写四个线程,二个对其加1,二个对其减一,X等于0时不进行减操作,X等于5时结束程序。

5.编写一函数,将一个数字转换成中文返回。

数字的最大值为99999,最小值为0,没有小数。

例:输入“3587”,返回“三千伍百八十七”。

第1题public static String maxLength(String str){int max=0;char maxChar='0';char lastChar='0';int tempMax=0;for(int i=0;i<();i++){if(lastChar == (i)){tempMax++;if(tempMax>max){max=tempMax;maxChar=lastChar;}}else{lastChar=(i);tempMax=1;}}return ("%1$c,%2$d", maxChar,max);}第一、二、四题,第三题用继承和多态,public class Interview{public static void main(String[] args){etAge()<=18){();}}(persons,new Comparator<Person>(){@Overridepublic int compare(Person o1, Person o2) {!= -1) {);xs = (".") + 1);} else {,是,返回true,不是,返回false private boolean isMathPoint(char ch) {if (ch == '.') {return true;} else {return false;}}quals(inStr)) ? true : false;}); + 1);quals(rs)) {quals() - 1))) { == -1) {zs = inStr;} else {zs = (0, ("."));xs = (".") + 1);}if () == 1) {xs = xs + "0";}int length = 16 - ();for (int i = 0; i < length; i++) {zs = "0" + zs;}return zs + "." + xs;}quals(qian)) {quals(bai)) {quals(0, 1))) {quals(shi)) {quals(0, 1))) {quals(bai)) {quals(ge)) {quals(0, 1))) {quals(shi)) {quals(jiao)) {quals(fen)) {quals(fen)) {quals(qian)) {temp += getValFromMap(CHNUM_MAP_NAME, qian)+ getValFromMap(NUMUNIT_MAP_NAME, "2");quals(bai)) {quals(shi)) {quals(qian) && "0".equals(bai)) {quals(ge)) {quals(qian) || !"0".equals(bai)) && "0".equals(shi)) {quals(qian) && "0".equals(bai) && "0".equals(shi)) {temp += getValFromMap(CHNUM_MAP_NAME, "0");}}return "".equals(temp) ? null : temp;}// 从Map对象中,根据键值进行取值private String getValFromMap(String name, String key) {if ("CHNUM_MAP")) {return (String) (key);} else if ("NUMUNIT_MAP")) {return (String) (key);} else if ("MONEYUNIT_MAP")) {return (String) (key);}return "";}// 向控制台输出传入的信息private void out(Object obj) {"ChineseBigNum ==:" + obj);}}。

java面试题基础篇

java面试题基础篇

java面试题基础篇当涉及Java 面试的基础篇时,以下是一些常见的问题和主题,供你进行复习和准备:1. Java 基础:-什么是Java 编程语言?Java 的特点是什么?- Java 的数据类型有哪些?基本数据类型和引用数据类型有什么区别?-解释一下Java 的封装、继承和多态。

-什么是类和对象?如何创建类和对象?-什么是构造方法?它有什么作用?-什么是方法重载和方法重写?-解释一下静态变量和实例变量的区别。

-什么是接口和抽象类?它们之间的区别是什么?2. 面向对象设计:-什么是SOLID 原则?分别解释每个原则的含义。

-什么是设计模式?举例说明几个常用的设计模式。

-什么是单例模式?如何实现线程安全的单例模式?-什么是工厂模式和抽象工厂模式?3. 异常处理:-什么是异常?Java 中的异常处理机制是什么?-解释一下try-catch-finally 块的工作原理。

-什么是运行时异常和受检异常?4. 集合框架:-介绍Java 的集合框架。

ArrayList 和LinkedList 的区别是什么?-什么是Map 接口?HashMap 和TreeMap 的区别是什么?-什么是迭代器?如何使用迭代器遍历集合?5. 线程与并发:-什么是线程?如何创建和启动一个线程?-解释一下同步和异步,阻塞和非阻塞。

-什么是线程安全?如何避免线程安全问题?-什么是死锁?如何避免死锁?6. IO 操作:-什么是输入流和输出流?-解释一下字节流和字符流的区别。

-什么是序列化和反序列化?7. Java 虚拟机(JVM):-什么是JVM?JVM 的主要组成部分是什么?-什么是垃圾回收?Java 中的垃圾回收机制是什么?8. 基础算法和数据结构:-解释一下栈和队列。

-什么是哈希表(HashTable)?如何解决哈希冲突?-什么是递归?递归的应用和注意事项是什么?这只是一些常见的Java 面试基础题目,你可以根据实际情况进行深入的学习和准备。

java面试题目

java面试题目
9.Map接口的实现类;HashMap的实现方式
10.ext与jquery的比较
11.查找一颗二叉树中任意两个节点最近的公共父节点;(没有父指针)
12.将链表成对反序,12345变成21435(时间O(n),空间O(1))
13.安全线程相关的概念 (选择出错的,多线程访问共享资源,只有一个些,多个读不安全)
12、一个选择多线程在什么条件下安全的,具体忘了
13、一个给出多个排序方式,求每种的时间复杂度
14、给了一段代码,要你找出其中写得有问题的地方,一个C++的代码具体忘了。
15、写一个代码求出一个二叉树中任意两个节点a和b最近的公共父节点
16、写一个代码求一个链表每相领两个节点互换
17、写一个斐波那契数列求法程序
1、一个数组{1,0,2,4,5,1,1,2,6,2,8,9,6},要求写一个函数输出数组中出现次数最多的那个元素以及元素出现的次数(如果元素出现的次数相同,则输出值较大的那个元素),同时输出数组中最大的那个元素。
2、两个链表结构A和B,合并为一个链表C,用原来的链表A和B的节点保存链表C。
3、用一个自然数列1~n表示页码,页码首位不为0,如1就是1,不是01或001。要求写一个函数算出整本书0,1,2,3,4,...9这些数字出现的次数并输出。
18、写一个智能指针的实现程序
19、有N个球,m个红n个白,求取两个一红一白的概率
1.一道逻辑思维算法题:
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?
2.M*N的二维数组方阵,按照45斜角S形打印
3.给你两个文件,每个文件存储10gURL,求其交集:

java笔试面试题

java笔试面试题

一.单选题二.多选题三.简答题四.查错题五.编程题六.数据库一.单选题1.下列不可作为java语言修饰符的是(D)A) a1 B) $1C) _1 D) 112.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.classC) a1 D) 都对3.整型数据类型中,需要内存空间最少的是(D)A) short B) longC) int D) byte4. Java 类可以作为(C)A) 类型定义机制 B) 数据封装机制C) 类型定义机制和数据封装机制 D) 上述都不对5.在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对6.在调用方法时,若要使方法改变实参的值,可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7. Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)A) 安全性 B) 多线性C) 跨平台 D) 可移植9. Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用10.以下声明合法的是(D)A)default String s; B)public final static native int w( ) C)abstract double d; D)abstract final double hyperbolicCosine( )11.关于以下application的说明,正确的是(C)2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ])6. {7. System.out.println(“x=” + x); 8. }9. static { x/=3;}10. }A)4行与9行不能通过编译,因为缺少方法名和返回类型B)9行不能通过编译,因为只能有一个静态初始化器C)编译通过,执行结果为:x=5D)编译通过,执行结果为:x=312.关于以下程序代码的说明正确的是(D)1.class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. hs1.x++;6. HasStatic hs2=new HasStatic( );7. hs2.x++;8. hs1=new HasStatic( );9. hs1.x++;11. System.out.println(“x=”+x);12. }13. }A) 5行不能通过编译,因为引用了私有静态变量B) 10行不能通过编译,因为x是私有静态变量C) 程序通过编译,输出结果为:x=103D) 程序通过编译,输出结果为:x=10213.以下选项中循环结构合法的是(C)A)while (int i<7){i++;System.out.println(“i is “+i);}B) int j=3;while(j) {System.out.println(“ j is “+j);}C)int j=0;for(int k=0; j + k !=10; j++,k++) {System.out.println(“ j is “+ j + “k is”+ k);}D) int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14. 类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float B){ } 3.4.}将以下哪种方法插入行3是不合法的。

Java面试笔试题目汇总

Java面试笔试题目汇总

算法软件科技Java工程师笔试题一、选择题(可多选)。

1、Java 之所以可以实现夸平台,是因为Java 程序在运行时使用了:A: JDK ( Java Development Kit )B: JRE ( Java Runtime Environment )C: JVM ( Java Virtual Machine )D: OS ( Operating System )2、下列不是Java语言中的关健字的是:A: public B: Static C:main D:void3、以下程序中最终输出i 的值是:int i = 999;i--;++i;System.out.println( i++ );A: 998 B: 999 C:1000 D:10014、那个是合法的byte 类型的数据:A: 128 B: 127 C:-129 D: (int)-1305、以下b 的值是:byte b = (byte)129;A: -126 B: -127 C:-128 D:-1296、在JDK 1.7 中,对于switch 语句,switch 后面的( ) 中不可以是哪种类型:A: byte B: char C: short D: int E: StringF: 枚举G: float H: double7、对于以下代码,输出结果是:for( int i = 4 ; i > 0 ; i-- ){int j = 0 ;do{j++;if( j == 2 ){break;}}while( j &lt; i );System.out.print( j );A: 4 3 2 1 B: 1 2 2 2 C: 2 2 2 1 D: 2 2 2 28、以下声明数组的方式,哪种是正确的:A: int[ 3 ][ 4 ] array;B: int[ 3 ] [] array;C: char [] array [] ;D: String[][] array;E: Object array[][];F: Object array[][ 3 ];9、下列关于package 和import 语句的描述,正确的是:A: 同一个类中package 可以出现1次或多次B: 同一个类中import 可以出现1 此或多次C: 对于同一个类中,import 语句必须出现在该类的第一行(不含注释) D: 同一个类中,package 必须出现在该类的第一行(不含注释)10、对于以下关于可变长参数的定义,正确的是:A: public void show( String[] aa, String... a ){}B: public void show( String... a , String[] aa){}C: public void show( String... a ){}D: public void show( String a, double b , String... a){}11、关于接口的使用,正确的是:public interface Usb {}public abstrace class Interface {}A: public interface Usb1 extends Usb {}B: public interface Usb1 implements Usb {}C: public interface Usb1 extends Interface {}D: public interface Usb1 implements Interface {}12、以下哪个不是Collection的子接口?A: List B: Set C: SortedSet D: Map13、对Map 的用法,正确的有:A: new java.util.Map().put("key" , "value") ;B: new java.util.SortedMap().put("key" , "value") ;C: new java.util.HashMap().put( null , null ) ;D: new java.util.TreeMap().put( 0 , null ) ;14、对于异常处理,一下描述哪个是正确的:A: 捕获异常是一种积极的异常处理方式,通过try 、catch 等关键字来实现B: try 必须跟catch 连用,而finally 是可以没有的C: catch 之后的( ) 用于接收异常对象,因此需要指定异常类型和变量名称,比如catch( Exception e )D: 在JDK 1.7 中,允许在catch 中捕获多个类型异常,如catch( NullPointerException e1 | ClassCastException e2 )E: 对于finally 代码块而言,仅当执行try 语句并没有触发异常时才执行,如果发生异常则进入catch 代码块,不再执行finally 代码块15、Hashtable 和HashMap 的区别是:A: Hashtable 是一个哈希表,该类继承了AbstractMap,实现了Map 接口B: HashMap 是内部基于哈希表实现,该类继承AbstractMap,实现Map接口C: Hashtable 线程安全的,而HashMap 是线程不安全的D: Properties 类继承了Hashtable 类,而Hashtable 类则继承Dictionary 类E: Hashtable 直接使用对象的hashCode ,而HashMap 重新计算hash值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

l JBS1.列举出10个JAVA语言的优势a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台,无线应用2.列举出JAVA中10个面向对象编程的术语a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型3.列举出JAVA中6个比较常用的包ng;java.util;java.io;java.sql;java.awt;;java.applet;javax.swing 4.JAVA中的标识符有什么作用和特点作用:标识符用作给变量、类和方法命名特点:可以以字母、下划线“_”和”$”符开头首字符外,可以跟上字母、下划线“_”和”$”符或数字Java是大小写敏感的,标识符也不例外5.JAVA中的关键字有什么特点,列举出至少20个关键字Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;goto和const虽然从未被使用,但也作为Java关键字保留;•中一共有51个关键字Javaabstract assert boolean break byte continuecase catch char class const doubledefault do extends else final floatfor goto long if implements importnative new null instanceof int interfacepackage private protected public return shortstatic strictfp super switch synchronized thiswhile void throw throws transient tryvolatile6.JAVA中数据类型如何分类?可分为简单数据类型和引用数据类型:简单数据类型:数值型(byte,short,int,long,float double),字符型(char),布尔型(boolean);引用数据类型:类,接口,数组.7.JAVA中运算符的分类及举例•分割符:,,;,[],()•算术运算符:+,―,*,/,%,++,――•关系运算符:>,<,>=,<=,==,!=•布尔逻辑运算符:!,&,|,^,&&,||•位运算符:&,|,^,~,>>,<<,>>>•赋值运算符:=扩展赋值运算符:+=,―=,*=,/=•字符串连接运算符:+•造型操作符:()8.super,this关键字的作用及用法•在Java类中使用super来引用父类的成分–可用于访问父类中定义的属性super–可用于调用父类中定义的成员方法super–可用于在子类构造器中调用父类的构造器super–的追溯不仅于直接父类super•中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。

Java–构造器中指该构造器所创建的新对象–方法中指调用该方法的对象•关键字的用法this–在类本身的方法或构造器中引用该类的实例变量和方法–将当前对象作为参数传递给其它方法或构造器–用来调用其他的重载的构造器9.什么是JAVA中的表达式?有什么作用?•表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分•表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。

•一些表达式的例子:–X–X+10–Y=x+10–Arr[10]–student.geName()10.做表列出JAVA中所有修饰符和他们的适用范围(能不能修饰构造器,属性,自由块等) class属性方法构建器自由块内部类public Y Y Y Y Yprotected Y Y Y Y(Default)Y Y Y Y Y Yprivate Y Y Y Yfinal Y Y Y Yabstract Y Y Ystatic Y Y Y11.写一个方法,用一个for循环打印九九乘法表/***一个for循环打印九九乘法表*/publicvoid nineNineMultiTable(){for(int i=1,j=1;j<=9;i++){System.out.print(i+"*"+j+"="+i*j+"");{i=0;j++;System.out.println();}}}12.给定一个java.util.Date对象,如何转化为”2007-3-2220:23:22”格式的字符串/***将某个日期以固定格式转化成字符串*@paramdate*@returnstr*/public String dateToStr(java.util.Date date){SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String str=sdf.format(date);return str;}13.写一个方法,能够判断任意一个整数是否素数/***判断任意一个整数是否素数*@paramn*@returnboolean*/publicboolean isPrimes(int n){for(int i=2;i<=Math.sqrt(n);i++){if(n%i==0){returnfalse;}}returntrue;}14.写一个方法,输入任意一个整数,返回它的阶乘/***获得任意一个整数的阶乘*@paramn*@returnn!*/publicint factorial(int n){if(n==1){return1;}return n*factorial(n-1);//非递归//int multi=1;//for(int i=2;i<=n;i++){//multi*=i;//}//return multi;}15.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1/***二分查找特定整数在整型数组中的位置(递归)*@paramdataset*@paramdata*@parambeginIndex*@paramendIndex*@returnindex*/publicint binarySearch(int[]dataset,int data,int beginIndex,int endIndex){int midIndex=(beginIndex+endIndex)/2;if(data<dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1;if(data<dataset[midIndex]){return binarySearch(dataset,data,beginIndex,midIndex-1);}elseif(data>dataset[midIndex]){return binarySearch(dataset,data,midIndex+1,endIndex);}else{return midIndex;}}/***二分查找特定整数在整型数组中的位置(非递归)*@paramdataset*@paramdata*@returnindex*/publicint binarySearch(int[]dataset,int data){int beginIndex=0;int endIndex=dataset.length-1;int midIndex=-1;if(data<dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1;while(beginIndex<=endIndex){midIndex=(beginIndex+endIndex)/2;if(data<dataset[midIndex]){endIndex=midIndex-1;}elseif(data>dataset[midIndex]){beginIndex=midIndex+1;}else{return midIndex;}}return-1;}16.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处package com.softeem.demo;/***@authorleno*动物的接口*/interface Animal{publicvoid eat(Food food);}/***@authorleno*一种动物类:猫*/class Cat implements Animal{publicvoid eat(Food food){System.out.println("小猫吃"+food.getName());}}/***@authorleno*一种动物类:狗*/class Dog implements Animal{publicvoid eat(Food food){System.out.println("小狗啃"+food.getName()); }}/***@authorleno*食物抽象类*/abstractclass Food{protected String name;public String getName(){returnname;}publicvoid setName(String name){=name;}}/***@authorleno*一种食物类:鱼*/class Fish extends Food{public Fish(String name){=name;}}/***@authorleno*一种食物类:骨头*/class Bone extends Food{public Bone(String name){=name;}}/***@authorleno*饲养员类**/class Feeder{/***饲养员给某种动物喂某种食物*@paramanimal*@paramfood*/publicvoid feed(Animal animal,Food food) {animal.eat(food);}}/***@authorleno*测试饲养员给动物喂食物*/publicclass TestFeeder{publicstaticvoid main(String[]args){ Feeder feeder=new Feeder();Animal animal=new Dog();Food food=new Bone("肉骨头");feeder.feed(animal,food);//给狗喂肉骨头animal=new Cat();food=new Fish("鱼");feeder.feed(animal,food);//给猫喂鱼}}17.描述JAVA中异常处理的机制•程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java 运行时系统,这个过程称为抛出(throw)异常。

相关文档
最新文档