锯齿数组是一个多维数组,其中成员数组的大小不同。例如,我们可以创建一个二维数组,其中第一个数组有3个元素,第二个数组有4个元素。以下示例演示了锯齿数组的概念。示例 在线演示public class Tester { public static void main(String[] args){ int[][] twoDimenArray = new int[2][]; //第一行有3列 twoDimenArray[0] = new int[3]; //第二行有4列 twoDimenArray[1] = new int[4]; int counter = ... 阅读更多
final是Java元素的非访问修饰符。final修饰符用于最终确定类、方法和变量的实现。final实例变量只能显式初始化一次。final实例变量应在以下任何一种情况下初始化-声明时。在构造函数中。在实例块中。如果根本没有使用上述任何方法初始化final变量,编译器将抛出错误。以下示例展示了实例变量作为final的示例。示例 在线演示public class Tester{ final int A = 1; final int B;{ B = 2; } ... 阅读更多
考虑以下代码片段,我们用0除以一个数字。示例 在线演示public class Tester{ public static void main(String[] args) { double d = 100; System.out.println(d/0); } }输出无限大现在考虑以下代码片段。示例 在线演示public class Tester{ public static void main(String[] args) { int d = 100; System.out.println(d/0); } }输出Exception in thread "main" java.lang.ArithmeticException: / by zero at Tester.main(Tester.java:5)正如您所注意到的,无限大与算术异常,类似的除以零程序的结果不同。区别在于第一个程序中使用的浮点运算和第二个程序中使用的整数运算。
Java在向函数传递参数时使用按值调用。要交换对象,我们需要使用它们的包装器。请参见下面的示例——示例 在线演示public class Tester{ public static void main(String[] args) { A a = new A(); A b = new A(); a.value = 1; b.value = 2; //使用对象交换 swap(a, b); System.out.println(a.value +", " + b.value); Wrapper wA = new Wrapper(a); Wrapper wB = new ... 阅读更多