多选题:1。 String s=null; 下列哪些代码将抛出NullPointerException()
a. if((s==null)&(s.length()>0))
b. if((s==null)&&(s.length()>0))
c. if((s!=null)|(s.length()==0))
d. if((s!=null)||(s.length()==0))2. 下面方法不会导致线程中断或停止运行的是:()
a. seelp();
b. stop();
c. yield();
d. wait();
e. notify();
f. notifyAll();3. 声明:String s="example",下面选项正确的是:()
a. s>>>=3;
b. s[3]="x";
c. int i=s.length();
d. String t="For"+s;
e. s=s+10;
解决方案 »
- InetAddress类中的 getByAddress(byte[] addr)的用法。小弟有点不明白!~
- 一个困惑的问题 想不出来啊~~求救
- 请问初学者要做CDLC1.1+MIDP2.0的项目,可以看哪些书?
- JTable加入到JScrollPane中怎么改变JScrollPane背景颜色?
- 求一正则表达式
- 急,请高手指点一下,非常感谢!!!
- date mask DD/MM/YYYY
- 请教大虾:System.exit(0)和System.exit(1)有什么区别?
- [公益事业]捐给WorldHeart 200分:)
- 一个小程序,有一句我看不懂,请帮我解释一下。谢谢了。
- 急!!!jsp问题
- 求助高手,中文匹配正则表达式
2、a,e,f
3、c,d,e
public class Tz { public static void main(String[] args) {
String s = null; // if ((s == null) & (s.length() > 0)) {
// System.out.println("aaa");
// }
// if ((s == null) && (s.length() > 0)) {
// System.out.println("aaa");
// }
// if ((s != null) | (s.length() == 0)) {
// System.out.println("aaa");
// }
// if ((s != null) || (s.length() == 0)) {
// System.out.println("aaa");
// }
}
}
public class Tz2 {
public static void main(String[] args) {
String s = "example"; // s >>>= 3;
// s[3] = "x";
int i = s.length();
String t = "For" + s;
s = s + 10;
}
}
s == null 是true, s != null 是false
&和|是非短路的,所以都要判断 所以a和c后面的一定要执行 所以肯定抛异常了b前一个条件是正确的,因为是&& 所以还要判断后面的 也就抛异常了d前一个是错误的,所以后面的也得判断了 也就抛异常了
你可以用debug调试一下就知道拉~
自己调试 更能理解清楚
还不会忘
1、a,b,d
2、a,e,f
3、c,d,e 是正解,都是很基础的题
第二题:不会
第三题:c d e
a.s>>>=3//s是字符串,而>>>=是位移操作符只能作用于整数类型,所以a错
b.s[3]=x//s是字符串不是数组
c. int i=s.length(); //String 有length()方法返回字符串长度,所以正确
d. String t="For"+s; //字符串连接肯定正确,
e. s=s+10; //同d也是字符串连接,其他类型与字符串用“+”连接时会自动调用该类型的toString方法将其转换成字符串并连接
只要明白短路也就明白了& |是位运算符,&& || 是逻辑运算符,用逻辑运算符的话会产生短路现象,而为运算符不会短路。
所谓短路呢,举个列子你就明白了int i=1;i>0;//truei<0;//falsei<0&&i>0;//因为i<0是false 所以不管后面的i>0是true还是false这个表达式的值都是false,这个时候因为用的是&&(逻辑运算符)就会产生短路,也就是说判断完i<0之后就可以确定这个表达式的值了,所以后面的就不走了,就是不会判断i>0是true还是false了;同样的
i>0||i<0;这个也是一样因为通过i>0就可以确定这个表达式的值为true了后面的i<0也就不判断了,但是如果你要是用 & | 的时候就不会这样,它不管如何都要把所有的表达的值都判断完;这也是逻辑运算符与位运算符最大的区别