1:有一串大写字符串,统计各个字符出现的个数,考察ASCII编码。
String str="ASHAHSIAHSIHAFQWFIFJOYWERUIEWUOTYPQPOKOQNASLDKKHGHLMZNXBCVBUTYTQRH";
int[] counter = new int[26];
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
counter[c-'A']++;
}
System.out.println("counter:"+Arrays.toString(counter));
2:不用java API将一个N进制数值字符串转换成十进制数字
public class test02 {
public static void main(String[] args) {
System.out.println(parseInt("123",7));
}
public static int parseInt(String str,int base){
int weight=1;
int sum=0;
for(int i=str.length()-1;i>=0;i--){
sum+=(str.charAt(i)-'0')*weight;
weight*=base;
}
return sum;
}
}
3:a=a++,最后输出a的值不会变化。
int a=5;
for(int i=0;i<100;i++){
a=a++;
}
System.out.println(a);
4:关于类加载,类中属性赋值,构造器执行的一个小demo,提议刚学java的同学用debug调试查看整个过程,最后输出结果是0;
public class test03 {
public static void main(String[] args) {
new Sub();
}
}
class Super{
int a=6;
public Super(){
test();
}
public void test(){
System.out.println(a);
}
}
class Sub extends Super{
int a=5;
public Sub(){
super();
}
public void test(){
System.out.println(a);
}
}