搜档网
当前位置:搜档网 › JAVA面试基础题

JAVA面试基础题

JAVA面试基础题
JAVA面试基础题

Java程序基础

开发和运行环境

1.JDK和JRE的区别是什么?它们各自有什么作用

2.如何利用JDK编译和运行应用程序

3.环境变量CLASSPATH的作用是什么

4.如何为Java程序动态的指定类搜索路径

5.Java与C++程序在编译和运行上有什么区别

6.什么是JVM及其工作原理

7.Java程序为什么无须delete语句进行内存回收生成、部署和配置

8.如何利用命名提示符把Java程序打包成jar文件

9.关于Java Web项目的生成、部署和配置问题

10.EJB项目的生成和部署问题

Java语法基础基础类型和语法

1.变量及其作用范围

2.Java的变量分哪两种大的数据类型

3.Java包含哪些基本数据类型及其包装类

4.如何理解Java中的装箱和拆箱

5.Java的引用和C++的指针有什么区别

6.请简述Java中的main()方法

7.Java中equal和==的区别是什么

8.Java提供了哪几种循环结构?它们各自的特点是什么

9.Java中的三元运算符是什么

10.Java中的注释有哪些

对象和类型

1.类和对象有什么区别

2.Java中如何使用继承来重用代码

3.简述Java中的多态

4.请介绍Java中静态成员的特点

5.简述Java派生类中的构造方法如何为父类传递参数

6.简述接口和抽象类的区别

7.简述一下内部类的实质是什么

包和访问控制

1.包应该如何被创建及使用

2.说明private、protected、public和default的区别

数据类型及类型转换

1.int和Integer有什么区别

2.int的取值范围

3.如何用八进制和十六进制来表示整型数据

4.long的取值范围

5.float和double的取值范围各是多少

6.实型与整型的相互转换

7.如何用BigDecimal类进行精确运算

布尔型数据

1.Java可以用非0来代表true吗

2.boolean和它的包装类的区别在哪里

字符型数据

1.char的取值范围

2.char能否存储汉字

3.如何使用转义字符67

4.String型数据

5.字符串字面量是否自动生成一个String对象

6.字符串对象池的作用是什么

7.StringBuffer和StringBuilder存在的作用是什么

8.如何输出反转过后的字符串

9.如何使用指定的字符集创造String对象

数组和集合的使用

Java的数组

1.如何理解数组在Java中作为一个类

2.new Object[5]语句是否创建了5个对象

3.如何拷贝数组的数据

4.二维数组的长度是否固定

合框架

1.什么是集合

2.迭代器是什么

3.比较器是什么

4.Vector与ArrayList的区别

5.HashMap和HashTable的区别

6.集合使用泛型带来了什么好处

7.如何把集合对象里的元素进行排序

8.符合什么条件的数据集合可以使用foreach循环Java图形用户界面

1.图形用户界面基础

2.JFrame的作用是什么?它应该如何使用

3.如何创建一个按钮

4.如何使用文本输入组件

5.如何捕获事件

布局控制

1.如何使用BorderLayout布局

2.如何使用FlowLayout布局

3.如何使用GridLayout布局

事件模型

1.Swing事件模型的通用规则是什么

2.监听器的适配器的作用是什么

3.Swing编程应用

4.用JButton开发扫雷游戏

5.用JTextField和JButton开发计算器程序

6.用JTextArea开发俄罗斯方块游戏

Java高级特性

输入输出流

1.目录和文件操作

2.写一个复制文件的程序

3.如何使用随机存取文件RandomAccessFile类

4.字节流的处理方式2.

5.字符流的处理方式

序列化

1.什么是序列化

2.如何序列化和反序列化一个Java对象

多线程编程

1.什么是多线程

2.解释进程和线程的区别

3.Java中的多线程编程

4.如何让一个类成为线程类

5.解释Runnable接口与Thread类的区别

6.如何启动一个线程138

7.如何使用sychronized来让线程同步

8.编写一个生产者与消费者模型的多线程例子程序

9.如何使用Java的线程池143

Java的反射机制

1.反射的原理是什么

2.Class类的含义和作用是什么

3.如何操作类的成员变量(Field)

4.如何操作类的方法(Method)

5.如何利用反射实例化一个类

6.如何利用反射机制来访问一个类的私有成员

7.如何利用反射来覆盖数据对象的toString()方法

Java的网络编程

1.TCP/IP协议的理解

2.TCP协议的通信特点是什么

3.Java的TCP编程模型是什么

4.UDP协议的通信特点是什么

5.Java的UDP编程模型是什么

6.Java网络编程举例

7.如何创建TCP通信的服务器端的多线程模型

8.用TCP通信模型创建一个Web服务器

9.用UDP通信模型创建一个即时聊天软件

10.如何使用Java访问Web站点

Java对数据库的操作

1.什么是SQL

2.如何使用SQL检索数据

3.如何使用SQL更改数据

4.JDBC的工作原理是什么

5.请简述JDBC操作数据库的编程步骤

6.如何使用JDBC的事务

7.如何使用JDBC实现数据访问对象层(DAO)

8.如何使用连接池技术

9.如何使用可滚动的结果集

10.如何使用可更新的结果集

11.JDBC操作各类数据源

12.如何使用JDBC操作Oracle数据库

13.如何使用JDBC操作MySQL数据库

14如何使用JDBC操作SQL Server数据库

15.如何使用JDBC操作Access

16.如何使用JDBC操作Excel

Java EE相关问题

1.一个Web应用程序应该遵守哪些规范

2.什么是Servlet

3.Servlet的生命周期是怎样的

4.Servlet接口有哪些实现类

5.如何在Servlet中获取请求参数的值

6.Forward和Redirect的区别

7.过滤器的作用和工作原理是什么

8.监听器的作用和工作原理是什么

9.JSP的运行机制是什么

10.JSP的内置对象及其用途

11.page和request作用范围的区别是什么

12.JSP如何使用JavaBean

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.sodocs.net/doc/3a13308547.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1B) $1C) _1D) 11 2.有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.javaB) a1.classC) a1D)都对 3.整型数据类型中,需要内存空间最少的是(D) A) shortB) longC) intD) byte 4. 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、defaultStrings; B、publicfinalstaticnativeintw( ) C、abstractdoubled; D、abstractfinaldoublehyperbolicCosine( ) 11.关于以下application的说明,正确的是(C) 1.classStaticStuff 2.{ 3.staticintx=10; 4.static{ x+=5;} 5.publicstaticvoidmain(Stringargs[ ]) 6.{ 7.System.out.println(“x=”+ x);

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

Java基础试题及其答案

J a v a基础试题及其答案 The latest revision on November 22, 2020

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复的 c) HashMap Map(key/value)重复定义:hashCode、equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5; Sys((a%2==1) (a+1) /2:a/2) ;三目表达式 } } (选择一项) a)1 b)2

Java基础面试题

Java常见面试题集--面试题全面综合(一) Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2、ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说. 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却是原来的一半 就HashMap与HashTable主要从三方面来说。 一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 3、char型变量中能不能存贮一个中文汉字?为什么? 答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的 4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify 5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass() { System.out.println(\"FatherClass Create\"); } } 子类:

java基础面试全集

Java面试题大全 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、spring MVC等内容并对很多知识点进行了深入的剖析,例如hashCode方法的设计、垃圾收集、并发编程、数据库事务等。当时我甚至希望把面试中经常出现的操作系统、数据库、软件测试等内容也补充进去,但是由于各种原因,最终只整理出了150道面试题。让我欣慰的是,这150道题还是帮助到了很多人,而且在我CSDN 博客上的总访问量超过了5万次,最终还被很多网站和个人以原创的方式转载了。最近一年内,用百度搜索”Java面试”我写的这些东西基本上都排在搜索结果的前5名,这让我觉得”亚历山大”,因为我写的这些东西一旦不准确就可能误导很多人。2014年的时候我又整理了30道题,希望把之前遗漏的面试题和知识点补充上去,但是仍然感觉挂一漏万,而且Java 8问世后很多新的东西又需要去总结和整理。为此,我不止一次的修改了之前的180题,修改到自己已经感觉有些疲惫或者厌烦了。2014年至今,自己带的学生又有很多走上了Java程序员、Java工程师的工作岗位,他们的面试经验也还没来得及跟大家分享,冥冥之中似乎有一股力量在刺激我要重新写一篇《Java面试题全集》,于是这篇文章就诞生了。请不要责备我把那些出现过的内容又写了一次,因为每次写东西就算是重复的内容,我也需要对编程语言和相关技术进行重新思考,不仅字斟句酌更是力求至臻完美,所以请相

java笔试题大集合及答案Java基础方面

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√×× private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确

JAVA面试基础题

Java程序基础 开发和运行环境 1.JDK和JRE的区别是什么?它们各自有什么作用 2.如何利用JDK编译和运行应用程序 3.环境变量CLASSPATH的作用是什么 4.如何为Java程序动态的指定类搜索路径 5.Java与C++程序在编译和运行上有什么区别 6.什么是JVM及其工作原理 7.Java程序为什么无须delete语句进行内存回收生成、部署和配置 8.如何利用命名提示符把Java程序打包成jar文件 9.关于Java Web项目的生成、部署和配置问题 10.EJB项目的生成和部署问题 Java语法基础基础类型和语法 1.变量及其作用范围 2.Java的变量分哪两种大的数据类型 3.Java包含哪些基本数据类型及其包装类 4.如何理解Java中的装箱和拆箱 5.Java的引用和C++的指针有什么区别 6.请简述Java中的main()方法 7.Java中equal和==的区别是什么 8.Java提供了哪几种循环结构?它们各自的特点是什么 9.Java中的三元运算符是什么 10.Java中的注释有哪些 对象和类型 1.类和对象有什么区别 2.Java中如何使用继承来重用代码 3.简述Java中的多态 4.请介绍Java中静态成员的特点 5.简述Java派生类中的构造方法如何为父类传递参数 6.简述接口和抽象类的区别 7.简述一下内部类的实质是什么 包和访问控制 1.包应该如何被创建及使用 2.说明private、protected、public和default的区别 数据类型及类型转换 1.int和Integer有什么区别 2.int的取值范围 3.如何用八进制和十六进制来表示整型数据 4.long的取值范围

Java基础面试题

1.下面能够得到文件“file.txt”的父路径的是: A.String name= File.getParentName(“file.txt”); B.String name= (new File(“file.txt”)).getParent(); C.String name = (new File(“file.txt”)).getParentName(); D.String name= (new File(“file.txt”)).getParentFile(); 2.在Java中,要创建一个新目录,要使用的类的实例是: A.File B.FileOutputStrean C.PrintWriter D.Dir 3.题目代码的功能为:在d:创建一个文件“test.txt”,并向文件写入“HelloWorld”,然后删除文件。 public static void main(String[] args) { File file = new File("d:\\", "file.txt"); try { <填入代码> } catch (Exception e) { e.printStackTrace(); } } A. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld"); bw.close(); if (file.exists()) { file.delete(); } B. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld");

Java面试经典试题及答案

Java面试经典试题及答案 第一,谈谈final, finally, finalize的区别。 final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //https://www.sodocs.net/doc/3a13308547.html,/articles/services/view.asp?id=704&page=1 注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static 内部类的一个对象访问一个外部类对象 第四,&和&&的区别。 &是位运算符。&&是布尔逻辑运算符。 第五,HashMap和Hashtable的区别。 都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。 第六,Collection 和 Collections的区别。 Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。Collection是个java.util下的接口,它是各种集合结构的父接口。

Java基础面试题及答案(在后面)

JAVA基础部分-选择题 (单选)1.在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()。 A.10 B.7 C.13 D.14 2. (单选)下列表达式中,可以得到精确结果的是()。 A.double d1 = 3.0 - 2.6; B.double d4 = 2.5 * 1.5; C.double d2 = 30/300; D.double d3 = 1/2 + 0.5; 3.(多选)所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 下列选项中,空白处可以填入的代码是:()。 A.int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; } B.int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10; s+= t * t * t; n1 %= 10; } C.int s = 0; for(int n1 = n; n1>0; n1 /= 10) { int t = n1%10; s += t * t * t; } D.int s = 0; for(int n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; } 4.下列语句序列执行后,k 的值是 ( )

A.60 B.5 C.0 D.54 5.设 a = 8,则表达式 a >>> 2 的值是:(无符号右移动)( ) A.1 B.2 C.3 D.4 6.下列程序 在程序中插入下列哪一行代码可以编译通过: A static void doSomething(int[] args){} B static void doSomething(int... args){} C static coid doSomething(int...args,int x){}

【优质】Java基础笔试题大全word版本 (16页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == Java基础笔试题大全 还在找JAVA 笔试题吗,下面小编为大家精心搜集了关于Java基础笔试题的大全,欢迎大家参考借鉴,希望可以帮助到大家! 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(https://www.sodocs.net/doc/3a13308547.html,); } }

A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中 D) this()和super()可以在static环境中使用,包括static方法和static语句块 4. 以下对封装的描述正确的是(D) A) 只能对一个类中的方法进行封装,不能对属性进行封装 B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用 C) 封装的意义不大,因此在编码时尽量不要使用 D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 5. 以下对继承的描述错误的是(A) A) Java中的继承允许一个子类继承多个父类 B) 父类更具有通用性,子类更具体 C) Java中的继承存在着传递性 D) 当实例化子类时会递归调用父类中的构造方法 6. 以下程序的运行结果是(D) class Person{ public Person(){

JAVA基础面试题(经典)

基础知识部分: 1. JDK是什么?JRE是什么? a) 答:JDK:java开发工具包。JRE:java运行时环境。 2. 什么是java的平台无关性? a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3. 在一台电脑上配置java环境,path起什么作用?如何配置? a) 答:path的作用是在DOS环境下,能在任意位置使用JD K目录中bin文件夹中的可执行程序,来编译执行java程序。 b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。

4. 什么样的标识符是合法的? a) 由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。 b) 标识符的第一个字符不能是数字。 c) 标识符区分大小写。 d) 标识符不能包含空格。 5. Java有几种基本数据类型? a) byte,short,int,long,float,double,char,bool ean 6. 什么是隐式类型转换?什么是显示类型转换? a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。

b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。 7. &&和&区别,||和|区别? a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。 b) 而& 和|则将两边的表达式都运算完毕后,再算结果。 8. break,continue区别? a) break结束所有循环,continue结束当次循环,进入下次循环。 9. 类的命名规则是什么? a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。

Java面试测试题(基础部分)

目录 1面向对象知识 (3) 2面向对象的特征有哪些方面 (3) 3String是最基本的数据类型吗? (3) 4运行时异常与一般异常有何异同? (4) 5final, finally, finalize的区别? (4) 6heap和stack有什么区别? (4) 7java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? (4) 8启动一个线程是用run()还是start()? (4) 9线程的基本概念、线程的基本状态以及状态之间的关系 (4) 10super()与this()的区别? (4) 11作用域public,protected,private,以及不写时的区别? (5) 12什么是java序列化,如何实现java序列化?(写一个实例) (5) 13java中实现多态的机制是什么? (5) 14垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? (5) 15abstract class 和interface的区别 (6) 16当方法题内没写try/catch/语句时,throws异常声明是否必须 (6) 17静态变量和实例变量的区别? (6) 18是否可以从一个static方法内部发出对非static方法的调用? (7) 19说说你说知道的设计模式 (7) 20你对Collection了解多少,有哪些实现类 (7) 21线程有几种状态,sleep和wait有何不同 (7) 22JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? (7) 23Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用。 (8) 24谈谈final, finally, finalize的区别。 (8) 25Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? (8) 26Static Nested Class 和Inner Class的不同,说得越多越好 (8) 27&和&&的区别 (8) 28HashMap和Hashtable的区别 (9) 29Collection 和Collections的区别 (9) 30什么时候用assert (9) 31GC是什么? 为什么要有GC? (9) 32String s = new String("xyz");创建了几个String Object? (9) 33Math.round(11.5)等於多少? Math.round(-11.5)等於多少? (9) 34short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? (10) 35sleep() 和wait() 有什么区别? (10) 36Java有没有goto? (10)

java入门基础笔试题

笔试题 一、选择题 1)对以下代码,下面说法正确的是() int k=10; while(k==0){ k=k-1; } A.循环将执行10次 B.死循环,将一直执行下去 C. 循环将执行1次 D.循环一次也不执行 2)下面变量名正确的是() A.num1 B.2num C.%num D.num# 3) else if块的选择结构应用于() A.switch选择结构 B.基本if选择结构 C.多重if选择结构 D.while循环 4)下面属于逻辑运算符的是() A.+ - * % B. ++ -- C.>= != <= D.&& || 5)在java中,以下代码的输出结果是()(选择一项)。 int num1=7; int num2=5; System.out.println(num1/num2); 选择一项 A:1.4 B:4 C:1 D:2 6)分析以下java代码程序,运行以下表达式后,变量a的值是()。 int a=5+4*3%2/1; A:1 B:2 C:3 D:4 E:5 7)在java中,如下代码的输出结果是()。 public static void main(String args[]){ double avg=0; int score1=61; int score2=78; avg=(score1+score2)/2; System.out.println(“平均分是:”+avg); A.平均分是69.0 B.平均分是69 C.平均分是69.0000 D.编译错误 8)在java中,以下()能够实现向控制台输出换行符。(选择二项) A.System.out.println(); B.System.out.print(“\n”); C.System.out.print(“\t”); D.System.out.print(“”); 9)Java代码如下所示,编译运行结果是()。 public static void main(string[] args){

Java基础面试题.doc

—、JDK与JRE有什么区别?答:?JDK: Java开发工具包,包括Java开发工具和JRE。 ②JRE : Java运行环境,包括运行Java程序所需的核心类库和JVM。 ③JVM : Java虚拟机,保证Java程序的跨平台性。 总结:由JDK开发的Java程序,交给JRE来运行,并由JVM来保证Java程序的 跨平台性。 二、byte b = (byte) 130;的运行结果是? ①130 的原码:00000000 0000000000000000 10000010 ②130 的反码:00000000 0000000000000000 10000010 ③130 的补码:00000000 0000000000000000 10000010 ④一个字节截取的补码为10000010 ⑤补码10000010的反码为10000001 ⑥反码10000001的原码为11111110 ,计算结果为-126 三、判断下面代码第三行和第四行编译会出现问题吗? byte bl=3; byte b2=4; byte b3=bl+b2 ; byte b4=3+4; ①第三行会出现问题。如果是变量相加,首先会自动提升数据类型,然后再运算。 ②第四行编译运行通过。如果是常量相加,会直接计算,然后看运算的结果是否在其数据类型所能描述的范围内 、判断下列代码的第二行和第三行编译是否能通过?并说明理由 short s=5; s=s+2;//报错,变量s参与运算,会自动提升数据类型至int

s+=2;//编译通过。s+=2隐含了强制类型转换,相当于s=(short)(s+2); 五、请用高效的形式写出:2*8 2<<3 六、如何交换两个变量? ①用第三方变量来做(开发做) int temp = a; a = b; b = temp; ②用按位异或来做(面试做) 按位异或的特性:一个数据对另一个数据异或两次,又变回原本的值。 a=a A b; b=a A b; a=a A b; ③用算术运算符 a=a + b; b=a-b; a=a-b; 七、写出下面程序的运行结果 class Fu

相关主题