Home >Java >javaTutorial >Why Does My Java Array Print Strange Characters Instead of Its Values?
Understanding Array Output in Java
When confronted with an array that unexpectedly prints strange characters and numbers, it's important to understand the default behavior of arrays in Java.
In your case, the code defines an int array 'arr' with five elements. You assign values to each element, but when you print the array using 'System.out.println(arr)', you see an output like '[I@3e25a5'. This is because every object has a 'toString()' method. By default, it represents the object's class name and hashcode, as you're observing with your int array.
To print the actual values of your array, there are two options:
1. Using 'Arrays.toString(arr)'
The 'Arrays.toString(arr)' method from the 'java.util' package provides a convenient way to display the contents of an array. By using this method, you'll get an output like '[20, 50, 40, 60, 100]', which represents the values of your 'arr' array.
2. Using a For Loop
You can also loop through the array using a for loop:
for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); }
This will loop through each element of the array and print its value, resulting in the same output as using 'Arrays.toString(arr)'.
The above is the detailed content of Why Does My Java Array Print Strange Characters Instead of Its Values?. For more information, please follow other related articles on the PHP Chinese website!