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
它们说的还算好.
我只是来提醒一点吧.
在进行判断的比较的时候,用了++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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯