Interesting facts about Array assignment in Java
Prerequisite : Arrays in Java
While working with arrays we have to do 3 tasks namely declaration, creation, initialization or Assignment.
Declaration of array :
int[] arr;
Creation of array :
// Here we create an array of size 3 int[] arr = new int[3];
Initialization of array :
arr[0] = 1; arr[1] = 2; arr[3] = 3; int intArray[]; // declaring array intArray = new int[20]; // allocating memory to array
Some important facts while assigning elements to the array:
- For primitive data types : In case of primitive type arrays, as array elements we can provide any type which can be implicitly promoted to the declared type array. Apart from that, if we are trying to use any other data-types then we will get compile-time error saying possible loss of precision.
// Java program to illustrate the concept of array// element assignments on int type arraypublicclassTest {publicstaticvoidmain(String[] args){int[] arr =newint[3];arr[0] =1;arr[1] ='a';byteb =10;arr[2] = b;System.out.println(arr[0] + arr[1] + arr[2]);}}chevron_rightfilter_noneOutput:
108
// Java program to illustrate the concept of array// element assignments on int type arraypublicclassTest {publicstaticvoidmain(String[] args){int[] arr =newint[3];// Assigning long value to int type.arr[0] = 10l;arr[1] ='a';byteb =10;arr[2] = b;System.out.println(arr[0] + arr[1] + arr[2]);}}chevron_rightfilter_noneOutput:
possible loss of precision.
// Java program to illustrate the concept of array// element assignments on char type arraypublicclassTest {publicstaticvoidmain(String[] args){char[][] arr =newchar[2][2];// Assigning long value to int type.arr[0][0] = 10l;arr[0][1] ='a';charb =10;arr[1][0] = b;// Assigning double value to char typearr[1][1] =10.6;}}chevron_rightfilter_noneOutput:
error: incompatible types: possible lossy conversion from long to char error: incompatible types: possible lossy conversion from double to char
- Object type Arrays : If we are creating object type arrays then the elements of that arrays can be either declared type objects or it can be child class object.
// Java program to illustrate the concept of array// element assignments on Number type arraypublicclassTest {publicstaticvoidmain(String[] args){Number[] num =newNumber[2];num[0] =newInteger(10);num[1] =newDouble(20.5);System.out.println(num[0]);System.out.println(num[1]);}}chevron_rightfilter_noneOutput:
10 20.5
// Java program to illustrate the concept of array// element assignments on Number type arraypublicclassTest {publicstaticvoidmain(String[] args){Number[] num =newNumber[3];num[0] =newInteger(10);num[1] =newDouble(20.5);// Here String is not the child class of Number class.num[2] =newString(“GFG”);}}chevron_rightfilter_noneOutput:
Compile-time error(incompatible types)
// Java program to illustrate the concept of array// element assignments on Number type arraypublicclassTest {publicstaticvoidmain(String[] args){Number[][] arr =newNumber[2][2];arr[0][0] = 10l;// Assigning char to Number type arrayarr[0][1] ='a';byteb =10;arr[1][0] = b;// Assigning String to Number type arrayarr[1][1] ="GEEKS";}}chevron_rightfilter_noneOutput:
error: incompatible types: char cannot be converted to Number error: incompatible types: String cannot be converted to Number
- Interface type array : For interface type array, we can assign elements as its implementation class objects.
// Java program to illustrate the concept of array// element assignments on Interface type arraypublicclassTest {publicstaticvoidmain(String[] args){Runnable[] run =newRunnable[2];// Thread class implements Runnable interface.run[0] =newThread();run[1] =newThread();}}chevron_rightfilter_none// Java program to illustrate the concept of array// element assignments on Interface type arraypublicclassTest {publicstaticvoidmain(String[] args){Runnable[] run =newRunnable[2];run[0] =newThread();// String class does not implements Runnable interface.run[1] =newString(“GFG”);}}chevron_rightfilter_noneOutput:
Compile-time error(Incompatible types)
Explanation: In the above program, we are giving elements of String class that’s cause compile time error. Because we know that String does not implements Runnable interface.
Reference : https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html
This article is contributed by Bishal Kumar Dubey. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Recommended Posts:
- Interesting Facts About Java
- Interesting facts about null in Java
- Interesting facts about Increment and Decrement operators in Java
- Py-Facts - 10 interesting facts about Python
- Interesting Facts about C++
- Interesting Facts about C#
- Interesting Facts in C Programming
- Interesting Facts about Linux
- Interesting Facts about Ubuntu
- Interesting facts about Fibonacci numbers
- Interesting facts about strings in Python | Set 1
- Interesting Facts about Macros and Preprocessors in C
- Interesting facts about data-types and modifiers in C/C++
- Interesting facts about strings in Python | Set 2 (Slicing)
- Compound assignment operators in Java



