问题1:使用静态属性必须以类名做前缀。
答案:错误
问题:有如下代码:请写出程序的输出结果。解析:1.如果是本类使用,可以直接就用静态变量名。
2.如果是其他类使用,可以使用类名来调用,也可以创建一个实例对象调用。
3.如果静态变量所在的类是静态类,那么不管在本类里或者在其他外部类,都可以直接使用静态变量名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class Test { public static void main(String[] args) { int x = 0 ; int y = 0 ; int k = 0 ; for ( int z = 0 ; z < 5 ; z++) { if ((++x > 2 ) && (++y > 2 ) && (k++ > 2 )) { x++; ++y; k++; } } System.out.println(x + ”” +y + ”” +k); } } |
答案:531
解析:&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条 件 都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。
z=0时候,执行++x > 2,不成立,&&后面就不执行了,此时 x=1,y=0,k=0;
z=1时候,执行++x > 2,还不成立 ,&&后面就不执行了,此时 x=2,y=0,k=0;
z=2时候, 执行++x > 2,成立,继续执行 ++y > 2, 不成立 , &&后面就不执行了, 此时 x=3,y=1,k=0;
z=3时候,执行++x > 2,成立,继续执行++y > 2,不成立 , &&后面就不执行了, 此时 x=4,y=2,k=0;
z=4 时候,执行++x > 2,成立,继续执行 ++y > 2, 成立 , 继续执行k++>2 ,不成立,此时仍没有进入for循环的语句 中, 但此时 x=5,y=3,k=1;
z=5时候,不满足条件了,整个循环结束,所以最好打印时候: x=5,y=3,k=1;
--------------------------------------------i++ 与++i的主要区别有两个:-----------------------------------------------
1. i++ 返回原来的值,++i 返回加1后的值。
2. i++ 不能作为左值,而++i 可以。
--------------------------------------------i++ 与++i的主要区别有两个:-----------------------------------------------
1. i++ 返回原来的值,++i 返回加1后的值。
2. i++ 不能作为左值,而++i 可以。