Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 28, 2005.

Similar presentations


Presentation on theme: "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 28, 2005."— Presentation transcript:

1 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 28, 2005

2 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 2 Today Variables and expressions Input/Output Writing a whole program

3 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 3 Variables Associated with data ♦ Input data ♦ Output data ♦ Intermediate data We need to define: ♦ Data type ♦ Identifier Values will be assigned in expressions

4 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 4 Variables - Steps 1.Identify all data from the algorithm 2.Determine data types (based on the range and nature of the values) 3.Find meaningful names Example: Ch. 1, Exercise 10. Compute average score.

5 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 5 Declaration of 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 (good style) 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;

6 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 6 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

7 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 7 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

8 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 8 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;

9 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 9 Example (average score) Write assignments and expressions Declaration of variables (good style) a)At the beginning b)Before being used

10 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 10 Named Constant 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 (_) (good style) Example: ♦ 1 inch is always 2.54 centimeters final double CM_PER_INCH = 2.54;

11 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 11 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;______ unknown 3 7 14 error would give an error since 3.4 + 5 would not result in an int

12 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 12 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

13 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 13 Input 1.Standard input 2.Dialog windows (tomorrow) 3.File (tomorrow)

14 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 14 Reading Keyboard Input We can let the user assign values to variables through keyboard input In Java, input is accomplished using objects that represent streams of data A stream is an ordered sequence of bytes System.in is the standard input stream object (by default, the keyboard)

15 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 15 Reading Keyboard Input The idea is that, with System.in, we have access to a stream of bytes coming from the keyboard. In other words, we have access to the keys pressed on the keyboard. But how do we actually get the values of the keys that are pressed?

16 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 16 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 in one statement: BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in)); 1 character at a time Whole line at once

17 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 17 Reading Keyboard Input The readLine method of the BufferedReader class reads an entire line of input as a String String line = keyboard.readLine();

18 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 18 Example (average score) Input scores Input weights

19 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 19 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

20 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 20 Example (average score) Convert scores to int Convert weights to double

21 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 21 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 Puts the cursor on the next line at the end

22 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 22 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

23 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 23 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

24 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 24 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

25 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 25 Example (average score) Output result Formatting numeric strings

26 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 26 Writing a Whole Program 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

27 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 27 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

28 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 28 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:

29 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 29 Using Packages We need to import some of the packages we want to use ♦ java.io for BufferedReader 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

30 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 30 Using Predefined Classes and Methods 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

31 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 31 Using Predefined Classes and Methods Example method call: int num = (int) Math.round (4.6); (Dot). Operator: used to access the method in the class

32 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 32 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

33 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 33 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

34 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 34 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 Most of the time, our programs will have only one class Name of source file must be ClassNameWithMain.java

35 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 35 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

36 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 36 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

37 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 37 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

38 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 38 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

39 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 39 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

40 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 40 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 }

41 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 41 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

42 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 42 Style 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

43 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 43 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 ♦ naming rules use meaningful identifiers ♦ prompt lines let the user know what type of input is expected

44 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 44 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

45 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 45 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

46 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 46 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 */

47 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie 47 To do Practice input. Ch. 2 (pp.45-54) Practice output. Ch. 2 (pp.55-65) Ch. 2 examples: ♦ Convert Length ♦ Make Change Homework 2 due Thursday night. Read Ch. 3


Download ppt "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 28, 2005."

Similar presentations


Ads by Google