* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CS 177
Library (computing) wikipedia , lookup
Java syntax wikipedia , lookup
Class (computer programming) wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Programming language wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Structured programming wikipedia , lookup
Program optimization wikipedia , lookup
Go (programming language) wikipedia , lookup
Object-oriented programming wikipedia , lookup
Name mangling wikipedia , lookup
Scala (programming language) wikipedia , lookup
Assembly language wikipedia , lookup
History of compiler construction wikipedia , lookup
C Sharp syntax wikipedia , lookup
Comment (computer programming) wikipedia , lookup
One-pass compiler wikipedia , lookup
Java (programming language) wikipedia , lookup
Interpreter (computing) wikipedia , lookup
Week 1 - Friday What did we talk about last time? Our first Java program 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 public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } } 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 For example, instead of one print statement, we can have several: System.out.println("Hello, world!"); System.out.println("Hello, galaxy!"); System.out.println("Goodbye, world!"); Each statement is an instruction to the computer They are printed in order, one by one 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 Java generally ignores whitespace (tabs, newlines, and spaces) System.out.println("Hello, world!"); is the same as: System.out. println( "Hello, world!"); You should use whitespace effectively to make your code readable 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 There are two kinds of comments (actually 3) Single line comments use // System.out.println("Hi!"); // this is a comment Multi-line comments start with a /* and end with a */ System.out.println("Hi!"); /* this is a multi-line comment */ 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 There are not that many other things you can tell Java to do 1. 2. 3. 4. 5. 6. 7. 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 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! There are many different programming languages: Java C/C++ ML …thousands more Each has different advantages in different situations 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 Machine Code Assembly Language C C++ Java ML High 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 Source Code Machine Code Computer! Solve a problem; 010101010 010100101 001110010 Hardware Execute 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 Java Source Code class A { Problem p; p.solve(); } Java Bytecode Machine Code 101110101 010101010 101011010 110010011 JVM 010100101 001110010 Hardware 1. 2. 3. Write a program in Java Compile the program into bytecode Run the bytecode using the JVM (which automatically compiles the bytecode to machine code) Often goes through phases similar to the following: 1. Understand the problem 2. Plan a solution to the problem 3. Implement the solution in a programming language 4. Test the solution 5. Maintain the solution and do bug fixes Factor of 10 rule! We'll talk about data representation Reading Chapter 3 Look at Project 1 No class on Monday!