and if I change the value of array[1] again, will the value of array[0] change as well?
No. This statement:
array[1] = array[0];
Just copies the value of the second element into the first element. It's just as if you had two separate variables:
int x = 10;
int y = x;
// Further changes to x don't affect y
The same is also true - but more subtly - if you have an array of references, e.g.
StringBuilder[] builders = new StringBuilder[10];
builders[0] = new StringBuilder("Original");
builders[1] = builders[0];
builders[0] = new StringBuilder("Hello");
System.out.println(builders[1]); // Prints Original
The last assignment statement doesn't change the value of builders[1]... but if instead we'd written:
builders[0].append("Foo");
System.out.println(builders[1]); // Prints OriginalFoo
then the values of builders[0] and builders[1] haven't changed - they still refer to the same object - but the contents of that object have changed, hence the output in the final line.