当前位置:首页 > 教学资源

Java面试题和答案(整理6篇)

时间:2025-01-30 08:53:52
Java面试题和答案(整理6篇)

小编为你精心整理了6篇《Java面试题和答案》的范文,但愿对你的工作学习带来帮助,希望你能喜欢!当然你还可以在搜索到更多与《Java面试题和答案》相关的范文。

篇1:java面试题及答案

写代码:

1,明确需求。我要做什么?

2,分析思路。我要怎么做?1,2,3。

3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。用具体的java语言代码把思路体现出来。

学习新技术的四点:

1,该技术是什么?

2,该技术有什么特点(使用注意):

3,该技术怎么使用。demo

4,该技术什么时候用?test。

一:java概述:

1991 年Sun公司的James Gosling(詹姆斯・高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;

1994年将Oak语言更名为Java;

Java的三种技术架构:

JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;

JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;

1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdkin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:

1):永久配置方式:JAVA_HOME=%安装路径%Javajdk

path=%JAVA_HOME%in

2):临时配置方式:set path=%path%;C:Program FilesJavajdkin

特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

classpath的配置:

1):永久配置方式:classpath=.;c:;e:

2):临时配置方式:set classpath=.;c:;e:

注意:在定义classpath环境变量时,需要注意的情况

如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

还会在当前目录找吗?两种情况:

1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

4,javac命令和java命令做什么事情呢?

要知道java是分两部分的:一个是编译,一个是运行。

javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.

一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

二:java语法基础:

1,关键字:其实就是某种语言赋予了特殊含义的单词。

保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;

注意:

1),数字不可以开头。

2),不可以使用关键字。

3,常量:是在程序中的不会变化的数据。

4,变量:其实就是内存中的一个存储空间,用于存储常量数据。

作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。

特点:变量空间可以重复使用。

什么时候定义变量?只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?

1,这个空间要存储什么数据?数据类型。

2,这个空间叫什么名字啊?变量名称。

3,这个空间的第一次的数据是什么? 变量的初始化值。

变量的作用域和生存期:

变量的作用域:

作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

生命周期:

变量从定义的位置开始就在内存中活了;

变量到达它所在的作用域的时候就在内存中消失了;

数据类型:

1):基本数据类型:byte、short、int、long、float、double、char、boolean

2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

运算符号:

1)、算术运算符。

+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

+:连接符。

++,--

2)、赋值运算符。

= += -= *= /= %=

3)、比较运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

4)、逻辑运算符。

& | ^ ! && ||

逻辑运算符除了 ! 外都是用于连接两个boolean类型 ……此处隐藏7876个字……BA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:

用不同的程序设计语言书写

在不同的进程中运行

为不同的操作系统开发

LINUX方面

1、LINUX下线程,GDI类的解释。

答:LINUX实现的就是基于核心轻量级进程的“一对一”线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。

GDI类为图像设备编程接口类库。

Hibernate: 简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件.

Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 “Hello” 的 XML 配置文件该怎么写?

[JAVA面试题及答案]

篇6:经典java面试题及答案

1.基本数据类型。

基本数据类型有四类八种

整形:byte short int long

浮点型:float double

字符型:char

布尔型:boolean

2.编码转换,把GB2312的字符串转换成ISO8859-1。

String str = “abcd”;

str = new String(str.getBytes(“GB2312”), “ISO8859_1”);

3.String和StringBuffer有什么区别,“==”和equals()有什么区别。

char能不能放下一个中文字符,为什么?

(1)本质上的区别是:String是不可变类(immutable),而StringBuffer是可变类。

StringBuffer是可以改变字符串长度的,用append(“str”)的方法可以不断增加内容,

而String则不可以,并且相同的字符串对象是相同的地址引用,

若要String改变值,需要改变String变量的引用(指向新的对象)。

(2)== 是对引用进行判断,对内存地址的判断

equals()是判断引用的值是否相等,对实际存储的值的判断

内存地址相同的值一定相同,但值相同的内存地址就不一定相同

(3)char可以放下一个中文字符,因为java采用的是unicode编码,一个字符为两个字节。

4.写一个字符串反转的方法,把“abcdefg”转换成“gfedcba”。

String str = “abcdefg”;

//方法一:利用StringBuffer的reverse()方法实现

public static String reverse2(String str) {

StringBuffer sb = new StringBuffer(str);

sb.reverse().toString();

return sb.toString();

}

//方法二:

public static String reverse(String str) {

if (str == null) {

throw new NullpointerException();

}

return (new StringBuffer(str)).reverse().toString();

}

//方法三:参照StringBuffer的reverse()方法

public static String reverse(String s){

int length=s.length();

StringBuffer result=new StringBuffer(length);

for(int i=length-1;i>=0;i--)

result.append(s.charAt(i));

return result.toString();

}

5.替换字符串,把“abc.abc.abc”替换成“abc/abc/abc”。

String rep = “abc.abc.abc”;

String rep2 = rep.replaceAll(“\\.”, “/”);

//由于.是特殊字符,需要加上\\转义,否则全部转换成/了

6.类型转换,把int类型的“123456”转换成String后再转换为int,方法越多越好。

int i = 123456;

将整数i转换成字串 s

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = “" + i;

将字串 s 转换成整数 i

1.)int i = Integer.parseInt(s);

2.)int i = Integer.parseInt(s,10);//int radix为进制

3.)int i = Integer.valueOf(s).intValue();

注: double, float, long 转换的方法大同小异.

7.日期处理,取得从1970到现在的毫秒数,格式为yyyy-MM-dd-HH:mm:ss再转换成String输出。

//获取当前系统的时间new

java.util.Date date = new java.util.Date();

//取得从1970年到现在的毫秒数

long now = date.getTime();

//格式化日期

java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(”yyyy-MM-dd HH:mm:ss");

//转为字符串

String dateStr = df.format(date);

8.io文件操作,指定一个文件夹,C:\temp\test,

判断是否存在,存在则列出其下所有文件名,包括子目录以及下面的文件,不存在则新建该文件夹。

《Java面试题和答案(整理6篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式