Welcome to DrJava.
> import java.util.*;
> List<Integer> ls = new ArrayList<Integer>();
> ls.add(3)
true
> ls.add(40);
> ls.(-12);
Syntax Error: ". ("
> ls.add(-120);
> ls
[3, 40, -120]
> ls.get(2)
-120
> sum = 0
0
> ls.size()
3
> for (int i = 0; i < ls.size(); i++) {
sum = sum + ls.get(i);
}
Error: Bad type in addition
> ls
[3, 40, -120]
> for (int i = 0; i < ls.size(); i++) {
sum = sum + (int)ls.get(i);
}
Error: Bad cast
> for (int i = 0; i < ls.size(); i++) {
sum = sum + (Integer)ls.get(i);
}
> sum
-77
> for (Integer i : ls) 
    sum = sum + i;
> sum
-154
> sum = 0
0
> for (Iterator<Integer> it; it.hasNext(); )
    sum += it.next();
Error: Bad type in addition
> for (Iterator<Integer> it; it.hasNext(); )
    sum += (Integer) it.next();
NullPointerException: 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:585)
> for (Iterator<Integer> it = ls.iterator(); it.hasNext(); )
    sum += (Integer) it.next();
> sum
-77
> Iterator it = ls.iterator()
> it.next()
3
> it.next()
40
> it.next()
-120
> it.next()
NoSuchElementException: 
  at java.util.AbstractList$Itr.next(AbstractList.java:427)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:585)
>