> For the complete documentation index, see [llms.txt](https://cs61b-2.gitbook.io/cs61b-textbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cs61b-2.gitbook.io/cs61b-textbook/1.-introduction/1.4-exercises.md).

# 1.4 Exercises

1. **True/False**: All variables, parameters, and methods must have a declared type in Java, and the type can never change.
2. Suppose we have a function `smaller(a, b)` that takes in two `int` arguments `a` and `b` and returns the smaller of the two. What would the expression `String x = smaller(10, 20) + 3;` output?
3. Choose all statements that are true in Java:&#x20;
   * All code must be part of a class.
   * The end and beginning of code segments are delimited using curly brackets `{}`.&#x20;
   * All statements in Java end with a semi-colon `;`.
   * Any code we want to run must be inside of a function `public static void main(String[] args)`.&#x20;

<details>

<summary>Solutions</summary>

1. True. See "Static Typing" for more information.
2. This line of code would cause a compilation error because the declared type `String` is incompatible with the type returned by `smaller` and adding `3`, which would be an `int.`
3. All the following statements are true.

</details>
