我要投稿 投诉建议

经典java面试题及答案

时间:2021-02-01 15:26:03 面试试题 我要投稿

经典java面试题及答案

  1.基本数据类型。

经典java面试题及答案

  基本数据类型有四类八种

  整形: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面试题及答案】相关文章:

华为的Java面试题及答案11-22

经典java笔试题及答案06-21

Java的面试题和答案10-30

盘点经典面试题及答案分析11-02

有哪些经典面试题及答案分析10-29

经典情景面试题及参考答案09-20

经典的5条面试题及答案分析10-30

有关面试题及答案09-01

hr面试题及答案05-10

linux面试题及答案02-19