今天学习时,发现了几个以前的知识漏洞,附在下边:
/*******************************************************************************
* 程序说明: 在表达式中容易被忽视,容易出错的几个小知识点
* 编写者: 陈贵波
* 日期: 2007-10-02 — 2007-10-02
******************************************************************************/
public class ExpressionBeingIgnored {
/**
* @param args
*/
public static void main(String[] args)
{
int i = 0;
i = 0;
i = i + (i = 1);
System.out.println(i); //输出结果为:1
i = 0;
i =(i = 1) + i;
System.out.println(i); //输出结果为:2
i = 1;
i += i + (i=3);
System.out.println(i); //输出结果为:5
i = 1;
i += (i=3) + i;
System.out.println(i); //输出结果为:7
double d = 1.0;
d += 1.5 * 3 + (++d);
System.out.println(d); //输出结果为:7.5
d = 1.0;
d -= 1.5 * 3 + d++;
System.out.println(d); //输出结果为:-4.5
System.out.println("1" + 1 + 1); //输出结果为:111
System.out.println("1" + (1 + 1)); //输出结果为:12
}
}
此外,我也刚刚注意到
System.out.println("j is " + j + " and
k is " + k);
是不能编译通过的,必须写为
System.out.println("j is " + j + " and k is " + k);
也就是说,""之间的字符串必须写在一行中,不能换行!