In Java, an expression is a thing that returns a value. 3 is an expression (a simple integer literal), and Foo (a slightly more complicated String literal), and i + j % k + i * 17 is a complex expression that returns some numeric value whose type depends on the types in the expression - it will be the highest type represented here. (we will talk about promotion another time)