java笔试之输出

1、

public class foo {
  private static void testMethod(){
    System.out.println("testMethod");
  }
  public static void main(String[] args) {
    ((foo)null).testMethod();
  }
}

这个是可以正常运行的,如果把static去掉就会空指针异常
1: null可以转化为任何类型
2: private 只是权限声明
2:static静态关键字 仅仅意味着可以不用实例化这个类 
   通过类名.方法名就可以访问 
   当然也可以通过实例化类的对象后 通过对象.方法名 
   但是不能通过this关键字,因为this是指本实例中的方法被static声明的方法属于类的方法
2、

<html>
<body>
<script>
var name="abc";
function foo(){
  alert(name);
  var name="123";
  alert(name);
}

function foo1(){

  alert(name);
  foo();
  alert(name);
}

foo1();

</script>
</body>
</html>

输出:abc、undefined、123、abc

3、

public class A {
  static String str="goodluck";
  static char ch[]={'a','b','c'};
  public static void main(String[] args) {
    A ex= new A();
    ex.change(str, ch);
    System.out.print("str:"+str+" ch:");
    for(char r:ch){
      System.out.print(r);
    }
  }
  public void change(String s,char c[]){
    s="test OK";
    c[0]='m';
  }
}

输出:str:goodluck ch:mbc

ex.change(ex.str,ex.ch); 
这句话调用之后,str这个字符串,传入之后,接收的时候,实际上重新分配一个地址,就是
change中的str,在这个方法中,只修改了方法中的局部变量。
而ch[]这个数组传递的是引用
他们指的都是一个地址,所以修改的时候,修改的是全局的那个。

4、String转换成int:

public class foo {
  public static void main(String[] args) {
    String str="123";
    int i = Integer.parseInt(str);
    int j= Integer.valueOf(str).intValue();
    System.out.println(i+" "+j);
  }
}

输出:123   123

str中可能包含非数字字符,转换时使用try,catch捕获异常。

纸上得来终觉浅,绝知此事要躬行
原文地址:https://www.cnblogs.com/yeyueyou/p/6675757.html