Iterating an Array Using the for Statement [5.0]
The for statement can be used to conveniently iterate over the
elements of an array. The general syntax of the array-based for
statement is:
The array-based for statement has four parts. The array
is an expression that returns an array. The type specifies the
type of variable which will be used to hold elements from the
array. In particular, variable always holds the current
element of the iteration and can be used by the code in
body-code. body-code is code that will be executed once
for every element in the array. Here is an example of the for
statement.
for (type variable : array) {
body-code
}
// Returns the smallest integer in the supplied array
public int getMin(int[] ints) {
int min = Integer.MAX_VALUE;
for (int num : ints) {
if (num < min) {
min = num;
}
}
return min;
}
hi..im new in programming...can we use arrays in an if-else statement...
im trying this: if(xyz[0][0] == xyz[1][1] == xyz[2][2]) ..... it says incompatible types :( pls help me..thanks :D
You have syntax error. What is
xyz[0][0] == xyz[1][1] == xyz[2][2] ?
Do you mean this ?
(xyz[0][0] == xyz[1][1]) && (xyz[1][1] == xyz[2][2])
or this ? (xyz[0][0] == xyz[1][1]) && (xyz[1][1] == xyz[2][2]) && (xyz[0][0] == xyz[2][2])
You are lucky the compiler caught this. Think about what happens if xyz[][] is a Boolean. no compiler error.
I recommend you review this till you understand why you are seeing the error. Think about what happens if you type
if ( x==y==z) {...}
is it any different to
if ((x==y)==z) {....}
Rule 42: Simplify your if's or you get but's!!!
Python is the only language I know that can do x==y==z (or x==y==z etc) the same as mathmaticians.
import java.util.ArrayList;
import java.util.Iterator;
public class Library
{
private ArrayList items;
public Library()
{
items = new ArrayList();
}
public void removeItem(int catalogId)
{
Iterator it = items.iterator();
while(it.hasNext())
{
LibraryItem item = it.next();
if (item.getCatalogId() == catalogId){
it.remove();
}
}
}
}
(a == b) is a boolean, true or false, so you cannot write : a == b == c unless c is a boolean.
In your case maybe xyz[0][0] contains an integer or a float or anything else, so you cannot write xyz[0][0] == true, they are incompatible types.
you have to write (xyz[0][0]==xyz[1][1] && xyz[0][0]==xyz[2][2])
They are two comparisons of objects of the same type, resulting in booleans, and then you can use '&&' between those booleans.
That's an example of how the compiler does execute your code :
1) xyz[0][0]==xyz[1][1] ---> true
2) xyz[0][0]==xyz[2][2] ---> false
3) true && false ---> false