Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 110 Spring 20091 Announcements Computers in class on Friday: Lab Office Hours: Monday 12-2 New students see me after class Administrative Changes.

Similar presentations


Presentation on theme: "COMP 110 Spring 20091 Announcements Computers in class on Friday: Lab Office Hours: Monday 12-2 New students see me after class Administrative Changes."— Presentation transcript:

1 COMP 110 Spring 20091 Announcements Computers in class on Friday: Lab Office Hours: Monday 12-2 New students see me after class Administrative Changes Exercise after lecture

2 COMP 110 Spring 20092 Today in COMP 110 Review Hardware and Memory Programs and Compiling Your first JAVA program!

3 COMP 110 Spring 20093 Before Programming Need to know basics of a computer If you drive a car you should know it runs on gasoline What’s in the box?

4 COMP 110 Spring 20094 Hardware vs. Software Hardware Physical machine CPU, Memory Software Set of instructions for the machine to execute

5 COMP 110 Spring 20095 Hardware CPU (Central Processing Unit) Executes instructions specified by a programmer GHz - number of instructions per second, how fast is the computer Dual Core - multiple processing units per CPU, multiple brains

6 COMP 110 Spring 20096 Memory Holds data for the computer to process Main Memory (RAM – Random Access Memory) Used for intermediate calculations Used to store the current program itself! Expensive Auxiliary Memory (Secondary Memory) Disk drives, CDs, Flash drives Cheap

7 COMP 110 Spring 20097 Measuring Memory Measured in bytes For example 2 gigabytes (GB) of RAM Megabyte (MB) = 1 million (10 6 ) bytes (or 1,048,576 = 2 20 bytes) Gigabyte (GB) = 1 billion (10 9 ) bytes (or 1,073,741,824 = 2 30 bytes)

8 COMP 110 Spring 20098 What is a Byte? Data, such as numbers and keyboard characters are stored as series of bits A bit is a digit with value 1 or 0 Examples 00111010 is a byte with value 58 01000001 is a byte with value 65 01100001 is a byte with value 97 A byte is composed of 8 bits Just large enough to store a keyboard character

9 COMP 110 Spring 20099 Main Memory Called RAM (Random Access Memory) Fast access Access any location in memory in constant time Addressable Every byte has an address that is used when writing or reading data to memory

10 COMP 110 Spring 200910 What is a Program? Set of instructions for a computer to follow Example instructions: Add two numbers Divide two numbers Store a number at a memory location

11 COMP 110 Spring 200911 Programs Programs take data as input and produce a useful result Example A spell-checking program takes a text file as input and produces a list of misspelled words as output InputProgramOutput

12 COMP 110 Spring 200912 Programming Languages Modern programming languages (Java, C/C++) are designed to be human-readable Called high-level languages Computers can’t understand high level languages A Compiler translates our human-readable program into a machine-readable program Compiler is a program as well!

13 COMP 110 Spring 200913 Role of Compilers Program Source Code Compiler Machine Code Human-readable, What you will be writing in this class Machine-readable, What the machine actually executes Note: Java uses a slightly different approach, which we’ll see later

14 COMP 110 Spring 200914 Human- vs Machine Readable A human-readable instruction to add two numbers a = b + c; The equivalent machine-readable instruction might look this! 00101101101100101010101101010101010001111 01010100101000101001011101001010101010101 101010100

15 COMP 110 Spring 200915 Review What we’ve covered so far Hardware & Memory Programs and Compiling Now let’s learn a bit about Java

16 COMP 110 Spring 200916 Java A high-level programming language Java source code is human-readable Originally envisioned as a programming language for home appliances Is now the language of choice for internet applications Example internet application using Java

17 COMP 110 Spring 200917 Java Java is an interpreted language Compiler produces bytecode instead of machine code Bytecode is not quite readable by any machine When a Java program is run, an interpreter translates the bytecode into machine code on-the- fly The Java interpreter is called the Java Virtual Machine (JVM)

18 COMP 110 Spring 200918 Compiling & Running Java Programs Java program Java compiler Bytecode program Bytecode interpreter (Java JVM) Machine code Compiling a Java program Running a Java program Human- readable Machine- readable Java JVM- readable

19 COMP 110 Spring 200919 Java Interpreter Why is Java interpreted? The short answer is portability Can run the same byte code on any machine! No need to recompile for Windows or Mac OS X Ideal for internet applications

20 COMP 110 Spring 200920 Terminology: Objects/Classes Class: archetype/blueprint/mold e.g. Person, Car, Film Object: concrete instance of a class e.g. John Hansen, 2006 Scion xB, American Beauty Classes declare the attributes of objects of its type and the actions they will perform Class: all cars have an attribute “make” and action “drive” Objects: several instance of a class each has a specific model: “Scion xB”, “Toyota Matrix” but performs the same action: “drive”

21 COMP 110 Spring 200921 Terminology: Variables Variables/Fields: specific storage/attributes String title = “Lost in Translation”; int length = 102; double stars = 4.5; Methods: actions a class performs int add(int x, int y) int square(int x) void display(int x) void clear()

22 COMP 110 Spring 200922 Your First Java Program Source code on the next slide Displays a welcome message Asks the user to input two numbers Displays the sum of the numbers

23 COMP 110 Spring 200923 Sample Java Program (Section 1.2) import java.util.Scanner; public class FirstProgram{ public static void main(String[] args){ System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); int n1, n2; Scanner keyboard = new Scanner(System.in); n1 = keyboard.nextInt(); n2 = keyboard.nextInt(); System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); } }

24 COMP 110 Spring 200924 Importing Packages import java.util.Scanner; Tells the compiler that this program uses the class “Scanner” in the package “java.util” So that when the Scanner class is used later in the program, the compiler knows what we’re referring to A package is a library of classes that have already been defined for you “java.util” – for various utilities such as reading input from the keyboard

25 COMP 110 Spring 200925 Begin the program public class FirstProgram{ … } Begin the class “FirstProgram” A class is just a piece of code that we give a name to Everything within the curly braces will be part of “FirstProgram”

26 COMP 110 Spring 200926 Classes Java programs are rarely written as a single piece of code all in one file They are typically divided into separate pieces called classes For now, think of classes as pieces of Java code

27 COMP 110 Spring 200927 Main method public static void main(String[] args){ … } Begin the method called “main” Everything between the curly braces is part of the method “main” Methods contain lines of code that actually perform some action (statements) The group of statements within a method make up the method body Every Java program has a method called main

28 COMP 110 Spring 200928 So far we have import java.util.Scanner; public class FirstProgram{ public static void main(String[] args){ … } As of yet, the code performs no action Now for the body of the “main” method where the action occurs

29 COMP 110 Spring 200929 Output to Screen System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); These statements prints what is in quotes out to the screen Example System.out.println("Hello out there."); Causes “Hello out there.” to be printed out to screen

30 COMP 110 Spring 200930 Methods and Objects What does “System.out.println” mean? “System.out” is an object Java programs use objects to perform actions The actions are defined by methods “println” is a method that prints a message to the screen The println method is part of the System.out object

31 COMP 110 Spring 200931 Invoking Methods on Objects myCar.start() airplane.land() System.out.println(“Hi”.) ObjectsMethods Argument

32 COMP 110 Spring 200932 Variable int n1, n2; Declares “n1” and “n2” as variables that will be used to store data int is the data type that will be used for n1 and n2 int indicates an integer (whole number)

33 COMP 110 Spring 200933 Create Scanner Object Scanner keyboard = new Scanner(System.in); Enables the program to read data from the keyboard Creates an object of Scanner class called “keyboard” Class Object Class

34 COMP 110 Spring 200934 Call Method on Object n1 = keyboard.nextInt(); Read an integer from the keyboard and store it in n1 Object Method Invoke/Call

35 COMP 110 Spring 200935 Output to Screen System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); Add n1 and n2 Print the sum to the screen

36 COMP 110 Spring 200936 Sample Java Program (Section 1.2) import java.util.Scanner; public class FirstProgram { public static void main(String[] args) { System.out.println("Hello out there."); System.out.println("I will add two numbers for you."); System.out.println("Enter two whole numbers on a line:"); int n1, n2; Scanner keyboard = new Scanner(System.in); n1 = keyboard.nextInt(); n2 = keyboard.nextInt(); System.out.println("The sum of those two numbers is"); System.out.println(n1 + n2); } }

37 COMP 110 Spring 200937 Friday Recitation jGRASP Your first Java program Bring Laptop (fully charged) Download Java Development Kit (JDK) and jGRASP before lab (see webpage)


Download ppt "COMP 110 Spring 20091 Announcements Computers in class on Friday: Lab Office Hours: Monday 12-2 New students see me after class Administrative Changes."

Similar presentations


Ads by Google