Tag: 运算

为什么i | = j | = k | =(j + = i) – – (k +++ k) – – (i = + j)== 11?

我在一个我开始研究的项目中遇到了这段代码。 最初的开发人员已经不再可用,我无法理解它。 k = (j = (i = 0) + 2) + 1; return i|= j|= k|= (j+= i) – – (k+++k) – – (i =+j); 它产生的值为11 。 这是如何运作的? 什么是=+运算符? 什么是+++运算符? 什么是- -运营商? 什么是|=运算符?

动态地将KB转换为MB,GB,TB

public String size(int size){ String hrSize = “”; int k = size; double m = size/1024; double g = size/1048576; double t = size/1073741824; DecimalFormat dec = new DecimalFormat(“0.00”); if (k>0) { hrSize = dec.format(k).concat(“KB”); } if (m>0) { hrSize = dec.format(m).concat(“MB”); } if (g>0) { hrSize = dec.format(g).concat(“GB”); } if (t>0) { hrSize = […]

Java – 操作顺序 – 在单行中使用两个赋值运算符

在一行中使用两个赋值运算符时的操作顺序是什么? public static void main(String[] args){ int i = 0; int[] a = {3, 6}; a[i] = i = 9; // this line in particular System.out.println(i + ” ” + a[0] + ” ” + a[1]); } 编辑:感谢您的post。 我得到了=从右边获取值,但是当我编译它时,我得到: 9 9 6 我认为它本来是和ArrayOutOfBoundsexception,但它在它移动到9 之前分配’a [i]’它是否只是为数组执行此操作?

Java运算符优先级指南

误解Java运算符优先级是常见问题和微妙错误的来源。 我很想知道即使是Java语言规范也说,“建议代码不要严格依赖于这个规范。” JLS§15.7优先选择聪明 ,这方面有什么有用的指导方针吗? 以下是有关该主题的一些资源: JLS运营商 JLS优先级 Java词汇表 普林斯顿 Oracle教程 转化和促销 Java运算符优先级 评估顺序和优先顺序 Usenet讨论 欢迎增加或更正。