欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础面试题(1)

程序员文章站 2022-03-15 19:35:38
...

1、String str="i"与 String str=new String(“i”)一样吗?

不一样,内存的分配不一样;

前者分配的内存在常量池中,后者分配在堆内存中。

2、String 类的常用方法都有那些?

  • indexOf():返回指定字符的索引
  • charAt(): 返回指定索引处的字符
  • replace():字符串替换
  • trim():去除字符串两端空白
  • split():分割字符串,返回一个分割后的字符串数组
  • getBytes():返回字符串的byte 类型数组。
  • length():返回字符串长度
  • toLowerCase():将字符串转换为小写字母
  • toUpperCase():将字符串转换为大写字母
  • substring():截取字符串
  • equals():字符串比较
public class StringTest {
    public static void main(String[] args) {
        //两种方式,前者在常量池,后者在堆内存中
        String str1 = "hello world!";
        String str2 = new String("hello world");

        //String 的常用方法
        //indexOf():返回指定字符的索引
        int a = str1.indexOf('w');
        System.err.println("a = "+ a);  //a = 6,从0 开始计数,计算第一个位置
        //charAt(): 返回指定索引处的字符
        char b = str1.charAt(0);
        System.err.println("b = "+ b);  //b = h
        //replace():字符串替换
        String str3 = str1.replace('l','e');
        System.err.println("str3 = " + str3);   //str3 = heeeo wored!  是字符串全部替换
        //trim():去除字符串两端空白
        String str4 = "  hello  ";
        String str5 = str4.trim();
        System.err.println(str5);   //hello
        //split():分割字符串,返回一个分割后的字符串数组
        String[] cd = str1.split(" ");
        for(String cde : cd){
            System.err.println(cde);
        }
        //getBytes():返回字符串的byte 类型数组。
        byte[] ef = str1.getBytes();
        for(byte cde : ef){
            System.err.println(cde);
        }
        //length():返回字符串长度
        System.err.println(str1.length());  //12
        //toUpperCase():将字符串转换为大写字母
        String str6 = str2.toUpperCase();
        System.err.println(str6);   //HELLO WORLD
        //toLowerCase():将字符串转换为小写字母
        String str7 = str6.toLowerCase();
        System.err.println(str7);   //hello world
        //substring():截取字符串
        String str8  = str1.substring(5);
        System.err.println(str8);   // world!  截取字符串是从1开始算第几个字符
        //equals():字符串比较
        boolean tmp = str2.equals(str7);
        System.err.println(tmp);    //true
    }
}

输出结果:

a = 6
b = h
str3 = heeeo wored!
hello
hello
world!
104
101
108
108
111
32
119
111
114
108
100
33
12
HELLO WORLD
hello world
 world!
true

3、Files的常用方法有哪些?

  • Files.exists():检查文件路径是否存在;
  • Files.createFile():创建文件
  • Files.createDirectory():创建文件夹
  • Files.delete():删除一个文件或目录
  • Files.copy():复制文件
  • File.move():移动文件
  • Files.size():查看文件个数
  • Files.read():读取文件
  • Files.write():写入文件

 

4、抽象类、接口与普通类的区别?

5、String,StringBuffer,StringBuilder的区别?

6、AIO,BIO,NIO的区别?