易截截图软件、单文件、免安装、纯绿色、仅160KB

一个java基础问题?

    java执行下面的代码:
        int a = 12;
    int b = 123;
    a = b + (b = a) * 0;
    System.out.println("a="+a);
    System.out.println("b="+b);

        答案:
            a=123;b=12; 为什么????
b = a所以b=12
a = b + (b = a) * 0;  a=123,运算从左到右


按照java运算符的优先级别来讲,运算不是从左到右的吧。。。

Java中的如何一种运算符都是有自身的优先级的,运算的时候是根据优先级来进行的!

请老老实实地写代码,不要写出这种花里胡哨的东西,没有丝毫的意义!

因为你代码写的太花了

b = a,这是一个赋值表达式啊!你把12赋给b 了,所以 b 结果为12啊!

刚学的时候熟悉熟悉还行

Java code:
a = b + (b = a) * 0;
System.out.println("a="+a);

这又是个编译器上读取的问题,估计用的堆栈,先进后出,()内先进,所以最后出来,然后是乘法先进,倒数第二出来,结果就成了这个样子,要彻底搞清楚的话,要读编译器的汇编代码

在JAVA中“=”是赋值号。
在a = b + (b = a) * 0中b的值已经更改了
剩下的就是优先级的问题了,()优先级最高,“*”号次之

          有          意思么

+运算是从左至右啊,a=123+0
{{---


相关问答:

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

求jsp电子商务网站源码 - Java / Web 开发

想做一个jsp的电子商务网站,想找一些源代码,请问那个网站有好的资源。谢谢!
搜索下吧 开源的也有

csdn就有相似的源码,楼主搜一下

java 开源大全


改模板好麻烦哦,还不如自己写个了呢

jf

顶一 ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......

mysql连接tomcat - Java / Web 开发

我已经按照教程上配置tomcat的server.xml
<Context path = "/POS" docBase = "POS" debug = "5" reloadable = "true" crossContext = "true" workDir = &quo ......

linux不能访问access - Java / Java EE

rt,我试了网上直连Acces数据库的方法,windows下没有问题,但是在linux下不行,谁能给点提示?谢谢
你怎么连的?

Acces数据库..
你怎么练的呢?

Java code:

static String DBDRIVER = "sun.jd ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号