1.System.out.println('H'+'a');会打印167而不是Ha,因为‘H’与'a' 都是字符型字面常量,一个16位的无符号原始类型整数,
占用两个字节,可以存储单个汉字, 但不是字符串类型的,当进行加减乘除,大于小于比较的时候会把他们扩展为int型进行计算 。
char[] c=['1','2','3'];
System.out.println("s"+c);
这个会打印:s[C@a90653,因为+在字符串连接的时候会对两边调用toString()方法,char[]数组会调用Object的toString()方法,
即打印内存地址的形式
2.如何求素数?
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整数的数
public static boolean isPrim(int number)
{
boolean isPrim=true;
int k = (int)Math.sqrt(number); //number的平方根 然后用number去整除小于平方根大于2的数看是否能整除
for (int i = 2; i <= k; i++) {
if (number%i==0) {
isPrim=false;
break;
}
}
return isPrim;
}
3.编写一个buddle方法,使String a=” 55674683421998” 内的数字按升序排列
方法1:使用内置的Arrays.sort()排序方法
String a = "55674683421998";
char[] d=a.toCharArray();
Arrays.sort(d);
System.out.println(new String(d));
方法2:
public static String Buddle(String a) {
char[] s = a.toCharArray();
for (int i = 0; i < s.length; i++) {
for (int j = 0; j >s.length-i-1; j++) {
if (s[j] > (s[j+1]) {
char d = s[j+1];
s[j+1] = s[j];
s[j] = d;
}
}
}
return new String(s);
}
4.list和字符串数组的转换
字符串数组转list:
String [] str={"test","hello","world"};
List list=new ArrayList();
list=Arrays.asList(str);
list转字符串数组:
List list = new ArrayList();
String[] toBeStored = list.toArray(new String[list.size()]); //支持转成各种数据数组,运行时决定的类型