一个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
{{---
相关问答:
当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910
取得天数后作一下判断再把这个方法用下void set(int field, int value)
......
想做一个jsp的电子商务网站,想找一些源代码,请问那个网站有好的资源。谢谢!
搜索下吧 开源的也有
csdn就有相似的源码,楼主搜一下
java 开源大全
改模板好麻烦哦,还不如自己写个了呢
jf
顶一 ......
如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。
不会.
运行java程序
找工具查看一下那个程序的命令行
搜索下:jni ......
我已经按照教程上配置tomcat的server.xml
<Context path = "/POS" docBase = "POS" debug = "5" reloadable = "true" crossContext = "true" workDir = &quo ......
rt,我试了网上直连Acces数据库的方法,windows下没有问题,但是在linux下不行,谁能给点提示?谢谢
你怎么连的?
Acces数据库..
你怎么练的呢?
Java code:
static String DBDRIVER = "sun.jd ......