刷面试题遇到的基础问题(javaEE)

本文详细解析了Java中逻辑运算符的使用方法及其短路特性,并通过具体示例展示了如何利用这些特性进行循环控制。此外,还对比了i++与++i的区别,帮助读者深入理解Java中的增量操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题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 可以。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值