永发信息网

java小问题,菜鸟求教!

答案:6  悬赏:80  手机版
解决时间 2021-05-13 17:55
  • 提问者网友:遮云壑
  • 2021-05-13 11:26

public class hh
{
public static void main(String [] args)
{
int x = 0;
int y = 0;
for(int k=0;k<5;k++)
{
if((++x>2)||(++y>2))
{
x++;
}
}
System.out.println(x+"and"+y);
}
}

答案是8and2

想问的是怎么算的,还有JAVA程序是从main方法开始算起,那么有没有先后的顺序呢?望高人指点,菜鸟刚出世,困难重重,给点学好java的捷径,谢谢!

最佳答案
  • 五星知识达人网友:等灯
  • 2021-05-13 11:45

你 先这么想 读程序先从main方法 开始 就是 按着顺序读 for是 循环 如果 符合条件就循环 不符合 就 跳出继续向下执行 当然了 他的方法体 是 {} 里面的 内容 像 这道题 就是 当 循环执行到 不 符合 条件的 时候 就 不执行循环了 往下 执行


你只要 弄明白了 程序执行的顺序 相信 记过 就 很简单了 就是 简单的 加减运算


我 也 只是 一个学生 互相提高 多多交流 希望能帮到你

全部回答
  • 1楼网友:归鹤鸣
  • 2021-05-13 15:56
因为当++x>2为TRUE时,++y不判断,所以答案是8和2
  • 2楼网友:雾月
  • 2021-05-13 15:02
它们说的还算好. 我只是来提醒一点吧. 在进行判断的比较的时候,用了++x,这个时候,x的值发生变化了.
  • 3楼网友:夜余生
  • 2021-05-13 14:48
其实这个JAVA没什么关系, 不管C还是C++, 或者C#等等, 结果都是这样 if((++x>2)||(++y>2)) ||运算符, 如果前面的成立就不会执行后面的判断, 所以在++x>2之前都是执行前面的
  • 4楼网友:神鬼未生
  • 2021-05-13 13:35
就是短或运算,当++x>2为TRUE时,++y不判断,所以是8和2
  • 5楼网友:我住北渡口
  • 2021-05-13 12:13
果然是菜鸟!不过我也是。 明确三点:1肯定从main方法开始 2++x中++是最优先运算的(先执行再参与运算)。 ‘例:int i=0 ++i System.out.println(++i) // 输出1 int i=0 System.out.println(i++) //输出0’ 3java中‘||’被称为聪明或,当左边明显为真时右边就不会做出判断 ‘例:if(1<3||4<3)’,java再判断完1<3时就不会再去判断右边的4是否小于3了,因为没意义啦。 现在你是否明白程序为什么了吗? 学好java的捷径(没有捷径): 1看视频30%代码70% 2上www.javaeye.com&&www.csdn.net
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯