Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 110 Introduction to Programming Mr. Joshua Stough September 5, 2007.

Similar presentations


Presentation on theme: "COMP 110 Introduction to Programming Mr. Joshua Stough September 5, 2007."— Presentation transcript:

1 COMP 110 Introduction to Programming Mr. Joshua Stough September 5, 2007

2 Announcements Program 1 and Homework 1 due today at 11:59pm Problems reported on overwriting the program.

3 Review Identifiers –can be composed of any combination of letters, digits, underscore (_), and dollar sign ($) –cannot begin with a digit –Java is case-sensitive Data Types –main integer type: int –main floating-point type: double –others: char, boolean

4 Arithmetic Operators: If one of the operands is floating-point, the result is a floating-point Casting –(int) (54.9) - truncates the floating-point number –(int) (a +.5) - rounds to nearest integer –(int) (a + 1) - rounds up to integer –(double) (23) - adds a.0 to the integer addition+ subtraction- multiplication* division/ remainder (mod)% Review

5 String to int Integer.parseInt(strExpression) Integer.parseInt("6723")6723 String to float Float.parseFloat(strExpression) Float.parseFloat("345.76")345.76 String to double Double.parseDouble(strExpression) Double.parseDouble("1234.56") 1234.56

6 Review Questions 1. If you go to Best Buy and the salesperson tells you that they have a new Intel® Core™2 Extreme QX6700 (8MB,3.46GHz Factory overclocked) with 4 GB RAM and a 320 GB Performance RAID 0 drive, what does this mean? 2. 3 % 2 3. 4 % 2 4. 5 % 2 1 0 1 CPU: Intel processor with 8 MB L2 cache, running at 3.46 GHz main memory: 4 GB secondary storage: 320 GB

7 Storing Data in Memory 1.Instruct the computer to allocate memory (declaration) how much? based on data type how to access? name the memory location 2.Include statements in the program to put data into the allocated memory assign a particular value to a particular memory location initialization - putting the first (initial) value into the memory location—the first assignment

8 Types of Storage Named Constant –once the value is stored in memory, it can't be changed Variable –the value stored in memory can be changed (can vary)

9 Named Constant static final dataType IDENTIFIER = value; Declared by using the reserved word final Always initialized when it is declared Style: Identifier should be in ALL CAPS, separate words with underscore (_) Example: –1 inch is always 2.54 centimeters final double CM_PER_INCH = 2.54;

10 Variable dataType identifier; Must be declared before it can be used Can be (but doesn't have to be) initialized when declared Identifier should start in lowercase, indicate separate words with uppercase Example: –number of students in class int numStudents; Multiple variables (of the same data type) can be declared on a single line int numStudents, numGrades, total;

11 Variable A variable can be given an initial value in the declaration When a variable is referenced in a program, its current value is used int total = 16; int base = 32, max = 149; 9278 9279 9280 9281 9282 9283 16 total

12 Naming Variables Variables should be descriptively named We should be able to tell what type of information the variable holds by its name Remember Java is case-sensitive!

13 Assignment variable = expresssion; Assignment Operator (=) expression can be a value (3) or a mathematical expression (2 + 1) The expression must evaluate to the same data type as the variable was declared

14 total = 54+1; 9278 9279 9280 9281 9282 9283 total Assignment assignment statement –changes the value of a variable Expression on right is evaluated and result is stored in variable on the left Value that was in total is overwritten 16 55

15 Assignment The assignment operator has a lower precedence than the arithmetic operators First the expression on the right hand side of the = operator is evaluated Then the result is stored in the variable on the left hand side answer = sum / 4 + MAX * lowest; 1 43 2

16 Assignment The right and left hand sides of an assignment statement can contain the same variable First, one is added to the original value of count Then the result is stored back into count (overwriting the original value) count = count + 1;

17 Questions What is stored in the memory location referred to by the identifier num after each of the following statements is executed in order? int num; num = 3; num = 5 + 4 - 2; num = num * 2; num = 3.4 + 5; nothing 3 7 14 would give an error since 3.4 + 5 would not result in an int

18 Questions Write Java statements to accomplish the following: 1. Declare int variables x and y 2. Update the value of an int variable x by adding 5 to it 3. Declare and initialize an int variable x to 10 and a char variable ch to 'B' 4. Declare int variables to store four integers int x, y; x = x + 5; int x = 10; char ch = 'B'; int num1, num2, num3, num4;

19 The Value of Variables We can use variables to save the result of expressions for use later in our programs. int sum, count; double average; sum = 3 + 4 + 5; count = 3; average = (double) sum / count;

20 Questions Which of the following are valid Java assignment statements? Assume that i, x, and percent have been declared as double variables and properly initialized. 1.i = i + 5; 2.x + 2 = x; 3.x = 2.5 * x; 4.percent = 10% valid invalid valid invalid

21 Reading Keyboard Input We can let the user assign values to variables through keyboard input Java input is accomplished using objects that represent streams of data A stream is an ordered sequence of bytes The System.in object represents a standard input stream, which defaults to the keyboard

22 Reading Keyboard Input The input stream is made up of multiple objects: InputStreamReader charReader = new InputStreamReader (System.in); BufferedReader keyboard = new BufferedReader (charReader); OR, all on one statement: BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in));

23 Reading Keyboard Input BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in)); The System.in object is used to create an InputStreamReader object –creates an input stream –treats input as single characters The InputStreamReader object is used to create a BufferedReader object –buffers characters –input can be read a line at a time (instead of one character per line)

24 Reading Keyboard Input The readLine method of the BufferedReader class reads an entire line of input as a String String line = keyboard.readLine(); int num = Integer.parseInt(line); OR int num = Integer.parseInt(keyboard.readLine());

25 String to Numbers String to int Integer.parseInt(strExpression) Integer.parseInt("6723")6723 String to float Float.parseFloat(strExpression) Float.parseFloat("345.76")345.76 String to double Double.parseDouble(strExpression) Double.parseDouble("1234.56") 1234.56

26 Initializing Variables Initialize - give a variable some initial value Must initialize variables before using them (i.e., before they appear on the right-hand side of an assignment statement) Two ways to initialize variables: 1. assignment statement feet = 35; 2. user input create BufferedReader object keyboard ask user for input feet = Integer.parseInt (keyboard.readLine());

27 Questions What is stored in the variables numStudents and line after the following statements have been executed? (Assume that keyboard is a BufferedReader object.) int numStudents; String line; // user asked for # of students // user enters 140 line = keyboard.readLine(); numStudents = Integer.parseInt(line); numStudentsline nothing n/a nothing "140" nothing "140" 140

28 More Operators Increment and Decrement Increment (++) –adds 1 to any integer or floating point count++; count = count + 1; Decrement (--) –subtracts 1 from any integer or floating point count--; count = count - 1;

29 Increment and Decrement Prefix( ++count or --count ) –value used in a larger expression is the new value of count (after the increment/decrement) Postfix( count++ or count-- ) –value used in a larger expression is the original value of count (before the increment/decrement) –increment/decrement is the last operation performed (even after assignment)

30 Increment and Decrement If count currently contains 45, then the statement total = count++; assigns 45 to total and then 46 to count If count currently contains 45, then the statement total = ++count; assigns the value 46 to both total and count

31 Questions What is stored in total and count in the following statements? double total = 15.5; total++; int total = 10, count = 5; total = total + count++; int total = 20, count = 3; total = total / --count; total 16.5 total count 15 6 total count 10 2

32 String Concatenation A string cannot be split between two lines String greeting = "How are you doing today"; Concatenation ( + ) - produces one string where the second string has been appended to the first string String greeting = “How are you doing” + “ today?”; How are you doing today? greeting X

33 String Concatenation Operator + can be used to concatenate two strings or a string and a numeric value or character Precedence rules still apply Example: String str; int num1 = 12, num2 = 26; str = "The sum = " + num1 + num2; The sum = 1226 str

34 Questions What is the result of the following String concatenations? String str1 = "Hello"; String str2 = "World"; String str3 = str1 + " " + str2; int num1 = 10; int num2 = 2; String str = "The difference is " + (num1 - num2); The difference is 8 str Hello World str3

35 Summary Constants final datatype IDENTIFIER = value; –cannot be changed Variables datatype identifier; –can be changed Assignment identifier = expression; declaration

36 Summary Assignment –overwrites previous value –can use the variable on both sides of the expression count = count + 1; Increment/Decrement –prefix / postfix –count++; –++count;

37 Summary Reading Keyboard Input String Concatenation BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in)); int num = Integer.parseInt (keyboard.readLine()); int courseNum = 110; String str = "This is COMP " + courseNum; This is COMP 110 str

38 Take a Breath….And more Output –printing to the screen Parts of a Java Program Reading: Ch 2

39 Review Constants static final dataType IDENTIFIER = value; Declared by using the reserved word final Always initialized when it is declared Identifier should be in ALL CAPS, separate words with underscore (_) Example: –1 inch is always 2.54 centimeters final double CM_PER_INCH = 2.54;

40 Review Variables dataType identifier; Must be declared before it can be used Can be (but doesn't have to be) initialized when declared Identifier should start in lowercase, indicate separate words with uppercase Example: –number of students in class int numStudents; Multiple variables (of the same data type) can be declared on a single line int numStudents, numGrades, total;

41 total = 54+1; 9278 9279 9280 9281 9282 9283 total Review Assignment assignment statement –changes the value of a variable Expression on right is evaluated and result is stored in variable on the left Value that was in total is overwritten 16 55

42 Review Reading Keyboard Input BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in)); String line = keyboard.readLine(); int num = Integer.parseInt (keyboard.readLine()); double fpNum = Double.parseDouble(keyboard.readLine());

43 Review Increment and Decrement Prefix( ++count or --count ) –value used in a larger expression is the new value of count (after the increment/decrement) Postfix( count++ or count-- ) –value used in a larger expression is the original value of count (before the increment/decrement) –increment/decrement is the last operation performed (even after assignment)

44 Review Questions Assume that a and b are int variables. What is the value of b? a = 3; b = 4 + (++a); Given the following assignments, What is the value in str? String str; str = "The answer is "; str = str + 10 + (13 + 4); 8 The answer is 1017

45 Output Standard output device is usually the monitor Access the monitor using the standard output object –System.out Two methods to output a string: 1.print 2.println

46 Using System.out System.out.print (stringExp); System.out.println (stringExp); print vs. println –after displaying stringExp, println will advance to the next line, while print does not stringExp –can be any expression where the result is a String, including string concatenation –if stringExp results in a primitive data type, it will automatically be converted to a String and output

47 Examples System.out.println ("Hi"); System.out.println ("There"); Hi There int num = 5; System.out.println ("The sum is " + (num + 3)); The sum is 8 int num = 5+3; System.out.println (num); 8 System.out.print ("Hi"); System.out.println ("There"); HiThere

48 Escape Sequences Escape character \ Used to represent special characters inside Strings Escape sequences –\n - newline –\t - tab –\b - backspace –\r - return –\\ - backslash –\' - single quote –\" - double quote

49 Examples System.out.println ("I said, \"Hi There!\""); I said, "Hi There!" System.out.print ("Hello\n"); System.out.println ("World"); Hello World System.out.println ("Hello\rWorld"); Hello World System.out.println ("Hi\b\bHello"); Hello System.out.println ("Hello\tWorld"); HelloWorld

50 Questions What is output by the following statements? System.out.println ("Helen says " + "\"What\'s up?\""); System.out.print ("Enter a number "); System.out.println ("between 1-10"); System.out.print ("\n\tplease!"); Helen says "What's up?" Enter a number between 1-10 please!

51 Glossary Terms Class - used to group a set of related operations (methods), allows users to create their own data types Method - set of instructions designed to accomplish a specific task Package - collection of related classes Library - collection of packages

52 Class Libraries A collection of classes that we can use when developing programs The Java standard class library is part of any Java development environment The System class and the String class are part of the Java standard class library

53 Package java.lang java.applet java.awt javax.swing java.net java.util javax.xml.parsers Purpose General support Creating applets for the web Graphics and graphical user interfaces Additional graphics capabilities and components Network communication Utilities XML document processing Packages The classes of the Java standard class library are organized into packages. Some of the packages in the standard class library are:

54 Using Packages We need to import some of the packages we want to use –java.io for BufferedReader –not java.lang because it's automatically imported for us import packageName; –import java.io.*; imports all of the classes in the java.io package –import java.io.BufferedReader; imports only the BufferedReader class from the java.io package

55 Using Predefined Classes and Methods long Math::round (double); To use a method you must know: –Name of class containing method (Math) –Name of package containing class (java.lang) –Name of method (round), its parameters (double a), what it returns (long), and function (rounds a to the nearest integer) See Appendix E for more Java predefined classes

56 Using Predefined Classes and Methods Example method call: int num = (int) Math.round (4.6); –why don't we have to import the Math class? –Fyi: this is also an example of ? (Dot). Operator: used to access the method in the class

57 Creating a Java Program Java application program - collection of one or more classes –every application must have at least one class Class –basic unit of a Java program –collection of methods and data members Method - set of instructions designed to accomplish a specific task –print, readLine

58 Programming in Java Java programming language –object-oriented approach to problem solving In the Java programming language: –a program is made up of one or more classes –a class contains one or more methods –a method contains program statements A Java application always contains a method called main

59 Creating a Java Program All Java application programs must have a method called main –there can be only one main method in any Java application program For most of the semester, our programs will have only one class Name of source file must be ClassNameWithMain.java

60 Anatomy of a Java Program Syntax of class Syntax of main method public class ClassName { classMembers } public static void main (String[] args) { statement1... statementn } throws clause

61 Throws Clause throws clause - exceptions thrown by the main method exception - occurrence of an undesirable situation that can be detected during program execution –can either be handled or thrown readLine throws the exception IOException We won't handle the exception, we'll just throw it

62 Throws If we're allowing user input to the program, the heading of the main method should look like: public static void main (String[] args) throws IOException

63 Import Statements Tell the compiler which packages are used in the program Import statements and program statements constitute the source code Source code saved in a file with the extension.java Source code file must have the same name as the class with the main method

64 The main method Heading Body –statements enclosed by { } –declaration statements used to declare things such as variables –executable statements perform calculations, manipulate data, create output, accept input, etc. public static void main (String[] args) throws IOException

65 Skeleton import statements if any public class ClassName { declare named constants and/or stream objects public static void main (String[] args) throws IOException { variable declarations executable statements }

66 static Heading of the main method has the reserved word static Statements to declare named constants and input stream objects are outside the main method These must also be declared with the static reserved word

67 Syntax –beware! a syntax error in one place might lead to syntax errors in several other places Use of semicolons, braces, commas –all Java statements end with semicolon –braces {} enclose the body of a method and set it off from other parts of the program (also have other uses) –commas separate list items

68 Style Semantics –set of rules that gives meaning to a language –beware! the compiler will not be able to tell you about semantic errors (example: missing parentheses in mathematical expression) Documentation –comments - shown in green in the textbook –naming rules use meaningful identifiers –prompt lines let the user know what type of input is expected

69 Style and White Space White space –blanks, tabs, blank lines –used to separate words and symbols –extra space is ignored by computer –blank line between variable declaration and rest of code Programs should be formatted to enhance readability, using consistent indentation

70 Comments Not used by the computer –only for human consumption Used to help others understand code –explain and show steps in algorithm –comments are essential! Should be well-written and clear Comment while coding Also called inline documentation

71 Java Comments // this is a one-line comment –“comments out” the rest of the line after marker // /* this is a multi-line comment */ –“comments out” everything between markers /* and */

72 Block-Like Multi-Line Comment /*************************************************************** * Program Insert assignment number: Insert assignment name * * Programmer: Insert your name * * Due Date: Insert due date * * Class: COMP 110 Instructor: Mr. Joshua Stough * Recitation Section: Insert section * * Pledge: I have neither given nor received unauthorized aid * on this program. (signature on file) **************************************************************/ Pledge Start End

73 /**************************************************************** * Program 0: Hello World * * Programmer: Michele Weigle * * Due Date: January 14, 2004 * * Class: COMP 14 Instructor: Dr. Michele Weigle * Recitation Section: 600 * * Pledge: I have neither given nor received unauthorized aid * on this program. (signature on file) * * Description: This program prints out a greeting to the world. * * Input: None * * Output: A friendly greeting ***************************************************************/ public class HelloWorld { public static void main(String[] args) { System.out.println ("Hello World!"); } comment class declaration main method method call

74 Summary Output System.out.print (stringExp); System.out.println (stringExp); –print vs. println Comments // this is a one-line comment –“comments out” the rest of the line after // /* this is a multi-line comment */ –“comments out” everything between /* and */

75 /**************************************************************** * My Program - Header and Pledge ***************************************************************/ import java.io.*; public class MyProgram { static BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in)); public static void main(String[] args) throws IOException { int num; // ask the user for a number System.out.print ("Enter a number between 1-100: "); num = Integer.parseInt (keyboard.readLine()); // output the user's number System.out.println ("You entered " + num); } Summary - MyProgram.java

76 Next Time in COMP 110 Objects Methods The String class Graphical User Interface (GUI)’s. Reading: Ch’s 3 and 6


Download ppt "COMP 110 Introduction to Programming Mr. Joshua Stough September 5, 2007."

Similar presentations


Ads by Google