您的位置:首页 > 职场人生

面试题--这是我在面试过程中收集整理的面试题

2017-03-06 12:57 309 查看
1.java的基本数据类型及其封装类

①int——Integer    ②byte——Byte

③short——Short ④long——Long

⑤double——Double

⑥char——Character

⑦float——Float⑧boolean——Boolean

2.数组有length()吗?String有length()方法吗?

答案:数组对象是没有任何方法的,只有一个唯一的属性length,你是刚开始学的吧,呵呵

数组只能array.length,返回的是该数组的长度

字符串对象是有length方法的。str.length()返回的是该字符串总的字符个数

3.多态的理解

答案:多态存在的三个必要条件

一、要有继承;

二、要有重写;

三、父类引用指向子类对象。

方法的重写和重载是Java多态性的不同表现。

重写是父类与子类之间多态性的一种表现。

重载是一个类中多态性的一种表现。

4.forward和redirect的区别

答案:

转发和重定向的区别:

转发的作用:在多个页面交互过程中实现请求数据的共享

转发的实现:

RequestDispatcher对象

forward()方法

转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递。

转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址



重定向是在客户端发挥作用,通过请求新的地址实现页面转向

重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址

5.接口能实现/继承接口吗?抽象类能继承接口吗?抽象类能能继承实现类吗?

6.重写和重载的区别?

答案:1.重写必须继承,重载不用。 

2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同 

3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。 

4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常。

重写是父类与子类之间多态性的一种表现。

重载是一个类中多态性的一种表现。

7.try里有return方法,那么是在finally{}前,还是后执行?

答案:

最后总结:finally块的语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句不能影响try或catch中return已经确定的返回值,若finally里也有return语句则覆盖try或catch中的return语句直接返回。

8.将字符串String s="abc"反转输出

答案:

String str = "abc"; String reStr = new StringBuilder(str).reverse().toString();



完整代码如下:

public class TestString {

public static String reverse(String s){

char []c=new char[s.length()];

for(int i=0;i<s.length();i++)

c[i]=s.charAt(s.length()-1-i);

return String.valueOf(c);

}

public static void main(String[] args) {

String s="abc";

s=reverse(s);

System.out.println(s);

}

}

运行结果;cba

③:

public class a

{

public static void main

{

String str="abc";

StringBuffer sb = new StringBuffer(str);

sb.reverse();

str=new String(sb);

System.out.println(str);

}

}

}

这是最简单的办法还可以用toCharArray 转换成char数组然后在反转。



import java.util.*;

public class Main{

public static void main(String args[]) throws Exception{

Scanner in = new Scanner(System.in);

String str = in.nextLine(); //输入一个字符串

char c[] = new char[str.length()]; //定义一个字符数组

for(int i=0;i<str.length();i++){

c[i] = str.charAt(i);

}

for(int i=c.length-1;i>=0;i--) //循环输出

System.out.print(c[i]); //从倒数第二个字符,向前输出

}

}



首先给你介绍一个类和一个方法,如下:

StringBulider类就像一个可变长度的字符串数组一样,内容和长度都可以被改变,既方便又节省开销。reverse()翻转StringBulider对象中的字符串。

public class Main{

public static void main(String args[]) throws Exception{

String array="海阔凭鱼跃,天高任鸟飞";

StringBuilder sb=new StringBuilder(array);

sb.reverse();

System.out.println(sb);}

}



可用递归实现

//s:表示要操作的字符串,size:表示字符串大小

public void writeBackward(String s,int size)

{

if(size>0)

{

System.out.println(s.substring(size-1,size));

writeBackward(s,size-1);

}

}

9.写出jdbc的连接步骤及其连接语句,并写出查询语句。

10.jQuery知识点

11.JavaScipt知识点

12.值传递与引用传递

13.valueof

答案:比如说有个String str="12345";

substring函数是取一个string子串,如果j=1,那么str.substring(j+1)就是取从第二位开始的子串,所以str.substring(j+1)等于"345";

valueOf是Integer类的一个静态方法,它是把一个string参数转换为Integer类型,那么经过Integer.valueOf("345")转换,345就是一个Integer类型了

最后说这个intValue函数,它是将一个Integer类型转换成原始类型int,

所以最后len就等于345了。 
 上海杰狮面试题:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题 数据