笔试题2021.8.7
1.String s;初始化有值么?
String m;
System.out.println(m);
编译报错,String值必须初始化
2.String类型 char[] 在传递函数中值变化不?
string不变,char[]变(string类型数据是不能修改的,传函是新建一个string引用)
3.null 和“”的区别
null指的是一个空对象,这个对象可以是任何一个类的实例。
"“指的是一个空字符串,这个字符串的长度为0。
也就是说null这个对象的类型可以是任何一个类型,而”"这个对象的类型只能是String。
4.新建对象 初始化null和不初始化的区别
new 一个对象出来,比如
SomeClass sc=new SomeClass();
这个时候已经为sc这个对象分配了指向 new SomeClass() 所创建的内存空间。
即对这个对象sc进行了实例化。
而SomeClass sc=null,则sc对象未进行实例化,是一个空的对象,未能指向任何内存空间。
5.磁盘缓冲区作用:提高效率
6.如何在多线程中避免死锁,解决哈希冲突?
7.那个效率高System.arraycopy 还是Array.copyof
System.arraycopy
8.正则表达式
9.XXS攻击
10.abstract修饰方法
abstract class
没有抽象接口一说
11.数组存储是连续空间么?
一维数组是连续存储的
编程题:
输入一个数字,输出质分解,且从小到大排列
如 输入9
输出9=3*3
输入15
输出15=3*5
import java.util.Scanner;
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a= in.nextInt();
int b=a;
//System.out.println();
ArrayList<Integer> list =new ArrayList<Integer>();
int i=2;
while(a>1 && i<=a){
if(a%i==0){
list.add(i);
a=a/i;
}else{
i++;
}
}
StringBuilder s=new StringBuilder();
s.append(b);
s.append("=");
for (int j=0;j<list.size()-1;j++){
s.append(list.get(j));
s.append("*");
}
s.append(list.get(list.size()-1));
System.out.println(s);
}
}