270 likes | 410 Views
Week 1 - Friday. CS 121. Last time. What did we talk about last time? Our first Java program. Questions?. Java refresh. The full Hello World program Remember that everything is in a class The class name must match the file name ( Hello.java )
E N D
Week 1 - Friday CS 121
Last time • What did we talk about last time? • Our first Java program
Java refresh • The full Hello World program • Remember that everything is in a class • The class name must match the file name (Hello.java) • The main()method is where the program starts • The print statement outputs information on the screen publicclass Hello { • public static void main(String[] args) { System.out.println("Hello, world!"); } }
Semicolons • In Java, like C, C++, and many other languages, we separate different statements with a semicolon ( ; ) • If we want to do a number of statements, we just type them in order, with a semicolon after each one
Sequencing • For example, instead of one print statement, we can have several: • Each statement is an instruction to the computer • They are printed in order, one by one System.out.println("Hello, world!"); System.out.println("Hello, galaxy!"); • System.out.println("Goodbye, world!");
Case Sensitivity • Java is a case sensitive language • Class is not the same as class • System.out.println("Word!"); prints correctly • system.Out.Println("Word!"); does not compile
Whitespace • Java generally ignores whitespace (tabs, newlines, and spaces) is the same as: • You should use whitespace effectively to make your code readable System.out.println("Hello, world!"); System.out. println( "Hello, world!");
Comments • Programs can be confusing • Sometimes you want to leave notes for yourself or anyone else who is reading your code • The standard way to do this is by using comments • Although comments appear in the code, they do not affect the final program
Comments • There are two kinds of comments (actually 3) • Single line comments use // • Multi-line comments start with a /* and end with a */ System.out.println("Hi!"); // this is a comment System.out.println("Hi!"); /* this is a multi-line comment */
What we know • Java is a large, complex language • Even so, there are only a few tasks that you can ask it to do • You have already learned: • Sequencing • Basic output
Where we are headed • There are not that many other things you can tell Java to do • Storing numbers and text • Basic mathematical operations • Choosing between several options • Doing a task repetitively • Storing lists of things • More complicated input and output • Naming a task so that you can use it over and over again • That’s basically it
What is programming again? • The process of giving computers very detailed instructions about what to do • How do we do that exactly? • First, we need a programming language like Java • How do we turn a set of instructions written so that a human can read them into a set of instructions that a computer can read? • Magic, of course!
First, let’s talk about languages • There are many different programming languages: • Java • C/C++ • ML • …thousands more • Each has different advantages in different situations
High vs. low • We classify languages as high or low level • High level languages allow you to give more abstract commands that are more like human thought processes or mathematics • Low level languages are closer to the computer world and give explicit instructions for the hardware to follow Low High
Compilers • We use a program called a compiler to turn a high level language into a low level language • Usually, the low level language is machine code • With, Java it's a little more complex
How does that work in general? Source Code Machine Code Hardware
What’s the issue with Java? • Java is a more complicated • Java runs on a virtual machine, called the JVM • Java is compiled to an intermediate stage called bytecode, which is platform independent • Then, the JVM runs a just-in-time compiler whenever you run a Java program, to turn the bytecode into platform dependent machine code
Compilation and execution for Java Java Source Code Machine Code Java Bytecode Hardware Platform Independent Platform Dependent
Let’s review the steps we’ll use • Write a program in Java • Compile the program into bytecode • Run the bytecode using the JVM (which automatically compiles the bytecode to machine code)
Software development Often goes through phases similar to the following: • Understand the problem • Plan a solution to the problem • Implement the solution in a programming language • Test the solution • Maintain the solution and do bug fixes Factor of 10 rule!
Next time… • We'll talk about data representation
Reminders • Reading Chapter 3 • Look at Project 1 • No class on Monday!