## CS 145 Lecture 3 – Bitbucket and Variables

### Agenda

- what ?s
- variables
- types
- the
`Math`

class

### TODO

- Set up your homework repository on Bitbucket by following the steps of the video below.
- Start homework 1.

### Note

We continue our treatment of the computer as a glorified calculator, but we one-up those little number crunchers in a couple of ways. First, we give our math more meaning by naming our data. The naming process is called a declaration and has this form:

`type name = expression;`

Technically, this is both a declaration and an initial assignment—what I call a declassignment. We could have done the two separately:

```
type name;
name = expression;
```

This wastes a line of my screen, so I don’t separate them unless I have a good reason to delay the initial assignment. By choosing meaningful names, we can demystify our mathematical expressions.

A second big advantage of programming over calculators is diversity in our data. Java provides many different data types. Some are really simple *primitives*, and these types all start with a lowercase first letter. We’ve already seen a few of these: whole numbers ( `int`

s) and numbers with fractional parts ( `double`

s). There are several other numeric types, and we’ll discuss why there are so many. There’s also `boolean`

and `char`

. Then we get into more complex types like `String`

, which are represented as classes that start with a capital letter. This wide array of types increase the possibilities of our data, and our programs will very quickly exceed what a calculator can do easily.

### Code

#### ProjectGoat.java

```
package lecture0909;
public class ProjectGoat {
public static void main(String[] args) {
double t = 0.2;
double velocityX = 1;
double velocityY = 9;
double positionX = velocityX * t;
double positionY = -4.9 * t * t + velocityY * t;
// System.out.print("(");
// System.out.print(positionX);
// System.out.print(",");
// System.out.print(positionY);
// System.out.println(")");
System.out.printf("(%.2f,%.2f)", positionX, positionY);
}
}
```

### Haiku

the science of naming things

off-by-one errors