The majority of our programs use only a small subset of the features of the Java language and associated libraries. By restricting attention to these basic building blocks, we can focus on learning how to program without being overwhelmed by the vastness of the Java libraries. You can get quite far with just a handful of basic operations.

Primitive numeric types, especially int, long, and double:

int long double
+   -   *   /   %   ++   --   >   <>=   <= == !=

Punctuation:

{    }   (     )    ,     ;

Parsing:

Integer.parseInt()   Long.parseLong()   Double.parseDouble()
Math library:
Math.sin()   Math.sin()   Math.log()   Math.exp()   Math.sqrt()   Math.abs()   Math.pow()
Math.min()   Math.max()   Math.PI

System:

System.out.println()   System.out.print()      System.exit()
Flow control:
if          for         do
else        while

Bit-whacking functions on primitive numeric types:

<>>   |   &   ^

The boolean type:

!   ||   &&   ==   != true   false

Arrays:

a[i]         a.length       new

The String data type:

String    +        length()
char      ""       compareTo()      charAt()

Objects:

public        private       static       class
toString()    equals()      new          main()

IntroCS standard graphics library:

forward()          spot()          setScale()           Color.blue
rotate()           penUp()         clear()              Color.green          
pause()            penDown()       Color.black          Color.red
go()               setColor()      Color.white          Color.lightGray

IntroCS standard text input library:

readBoolean()   readChar()     readInt()      readDouble()
readString()    readLine()     readAll()      isEmpty()