Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 14 Introduction to Programming

Similar presentations


Presentation on theme: "COMP 14 Introduction to Programming"— Presentation transcript:

1 COMP 14 Introduction to Programming
Michele Weigle - COMP 14 - Spring 2004 COMP 14 Introduction to Programming Miguel A. Otaduy May 13, 2004

2 Michele Weigle - COMP 14 - Spring 2004
Review Exercise Execution of c=2*a+b in a computer

3 Michele Weigle - COMP 14 - Spring 2004
Today in COMP 14 Java special symbols identifiers data types operators expressions Strings

4 Michele Weigle - COMP 14 - Spring 2004
Reading Check-Up The rules of a language determine which instructions are valid. True or False? Hello! is an example of a legal Java identifier. If an operator has an integer and a floating-point operand, the result of the operation is a number. The expression (int) (9.2) evaluates to syntax False floating-point 9

5 Michele Weigle - COMP 14 - Spring 2004
Introduction Computer program: a sequence of statements whose objective is to accomplish a task Programming: process of planning and creating a program Programming language: a set of rules, symbols, and special words

6 Michele Weigle - COMP 14 - Spring 2004
Sample Java Program public class Hello { public static void main (String[] args) System.out.println ("Hi There!"); } Upon execution, this program would display Hi There!

7 Programming Languages
Michele Weigle - COMP 14 - Spring 2004 Programming Languages Programming languages have rules of grammar just as English does syntax rules - which statements are legal and which are not semantic rules - determine the meaning of the instructions token - smallest individual unit of a program special symbols word symbols identifiers

8 Michele Weigle - COMP 14 - Spring 2004
Special Symbols + - * / . ; ? , <= != == >= the 3rd row contains two characters that together (with no space between them) are considered to be a single symbol

9 Word Symbols aka reserved words, or keywords
Michele Weigle - COMP 14 - Spring 2004 Word Symbols aka reserved words, or keywords int float double char void public static throws return reserved words are always all lowercase each word symbol is considered to be a single symbol cannot be used for anything other than their intended purpose in a program shown in blue typewriter font in textbook full table in Appendix A

10 Michele Weigle - COMP 14 - Spring 2004
Identifiers Names of things (variables, constants, methods) in your programs Can be composed of any combination of letters, digits, underscore (_), and dollar sign ($) Cannot begin with a digit May be any length Java is case-sensitive Total, total, and TOTAL are different identifiers

11 Michele Weigle - COMP 14 - Spring 2004
Illegal Identifiers

12 Michele Weigle - COMP 14 - Spring 2004
Questions Classify the following as legal or illegal identifiers: My First Program my1stProgram 1stProgram $money an_identifier Jane'sProgram illegal legal illegal legal legal illegal

13 Primitive Data Types What’s A Data Type?
Michele Weigle - COMP 14 - Spring 2004 Primitive Data Types What’s A Data Type? A set of values and the operations that can be performed on those values Primitive data are fundamental values such as numbers and characters Operations are performed on primitive types using built-in operators certain types of operations can only be performed on certain types of data example: you can multiply numbers, but not words

14 Michele Weigle - COMP 14 - Spring 2004
Primitive Data Types 8 primitive data types in Java 4 represent integers byte, short, int, long 2 represent floating point numbers float, double 1 represents characters char 1 represents boolean values boolean

15 Primitive Data Types Numeric Types
Michele Weigle - COMP 14 - Spring 2004 Primitive Data Types Numeric Types The difference between the various numeric primitive types is their size, and therefore the values they can store: Type byte short int long float double Storage 8 bits 16 bits 32 bits 64 bits Min Value -128 -32,768 -2,147,483,648 < -9 x 1018 +/- 3.4 x 1038 with 7 significant digits +/- 1.7 x with 15 significant digits Max Value 127 32,767 2,147,483,647 > 9 x 1018 float - at most 6 or 7 places after the decimal point double - at most 15 places after the decimal point some compilers will complain if you use float, so we will use double throughout this class

16 Michele Weigle - COMP 14 - Spring 2004
Integers Examples: -6728, -67, 0, 78, 36782 Positive integers do not have a '+' sign in front of them (but they can) No commas are used in an integer commas in Java are used to separate items in a list

17 Primitive Data Types Characters
Michele Weigle - COMP 14 - Spring 2004 Primitive Data Types Characters A char stores a single character from the Unicode character set an ordered list of characters, and each character corresponds to a unique number uses 16 bits per character, allowing for 65,536 unique characters Character literals are delimited by single quotes: 'a' 'X' '7' ' ' '$' ',' '\n' ordered list of characters for example, the value 65 represents uppercase 'A' 66 represents uppercase 'B' the full list of Unicode / ASCII is in Appendix C of the textbook newline character (we'll discuss later)

18 Primitive Data Types Booleans
Michele Weigle - COMP 14 - Spring 2004 Primitive Data Types Booleans Only two valid values true or false uses 1 bit for storage Represent any situation that has 2 states on - off true - false true and false are reserved words We'll see a lot more of booleans and boolean expressions later on in the semester

19 Arithmetic Expressions
Michele Weigle - COMP 14 - Spring 2004 Arithmetic Expressions Expression - a combination of one or more operands and their operators Arithmetic expressions compute numeric results and make use of the arithmetic operators: If either or both operands associated with an arithmetic operator are floating point, the result is a floating point Addition + Subtraction - Multiplication * Division / Remainder %

20 Division and Remainder
Michele Weigle - COMP 14 - Spring 2004 Division and Remainder If both operands to the division operator (/) are integers, the result is an integer (the fractional part is discarded) The remainder, or modulus, operator (%) returns the remainder after dividing the second operand into the first (only works with integer types) 14 / equals? 4 8 / equals? 14 % equals? 2 8 % equals? 8

21 Unary vs. Binary Operators
Michele Weigle - COMP 14 - Spring 2004 Unary vs. Binary Operators Unary operators has only one operand example: - (negative, not subtraction) -5 Binary operators has two operands example: - (subtraction) 5 - 3

22 Michele Weigle - COMP 14 - Spring 2004
Operator Precedence Determines the order in which operators are evaluated: multiplication, division, and remainder addition, subtraction, and string concatenation arithmetic operators with the same precedence are evaluated from left to right Parentheses can be used to force the evaluation order (just like in math)

23 Michele Weigle - COMP 14 - Spring 2004
Operator Precedence What is the order of evaluation in the following expressions? a + b + c + d + e a + b * c - d / e 1 2 3 4 3 1 4 2 a / (b + c) - d % e 2 1 4 3 a / (b * (c + (d - e))) 4 3 2 1

24 Michele Weigle - COMP 14 - Spring 2004
Integral Expressions All operands are integers Result is an integer Examples: 2 + 3 * 5 3 + x – y / 7 x + 2 * (y – z) + 18 in these expressions, x, y, and z are some unknown numbers.

25 Floating-point Expressions
Michele Weigle - COMP 14 - Spring 2004 Floating-point Expressions All operands are floating-point numbers Result is a floating-point Examples: 12.8 * 17.5 – 34.50 x * y 7.0 / 3.5 in these expressions, x and y are some unknown numbers.

26 Michele Weigle - COMP 14 - Spring 2004
Mixed Expressions Operands of different types Examples: 6 / Integer operands yield an integer result Floating-point operands yield a floating-point result If both types of operands are present, the result is a floating-point number implicit type coercion Precedence rules are followed if you have both integer and floating -point operands, the integer will be converted to a floating-point number and the operation will take place -- the result will be floating-point

27 Type Conversion (Casting)
Michele Weigle - COMP 14 - Spring 2004 Type Conversion (Casting) Used to avoid implicit type coercion Syntax (dataTypeName) expression Expression evaluated first, then type converted to dataTypeName Examples: (int) ( ) = 14 (int) (7.9) + (int)(6.7) = 13 casting a floating-point number to an integer truncates everything after the decimal point (int) 14.6 7 + 6 the textbook has very nice examples of mixed expressions and casting on pgs make sure you take a look at them and understand the answers

28 Questions Evaluate These Expressions
Michele Weigle - COMP 14 - Spring 2004 Questions Evaluate These Expressions (5 + 4) % 6 (5 + 6) % 3.5 (double) (13) / 2 (double) (13 / 2) 9 % 6 3 11 % 3.5 not possible 13.0 / 2 6.5 (double) (6) 6.0

29 Michele Weigle - COMP 14 - Spring 2004
The class String String sequence of zero or more characters enclosed in double quotation marks null or empty strings have no characters numeric strings consist of integers or decimal numbers length is the number of characters in a string The class String is used to manipulate strings Examples: "Hello World" "1234" "45.67" "" note the null, or empty, string

30 Michele Weigle - COMP 14 - Spring 2004
Strings Every character has a position in the string (starting with 0) "Hello World" The length of the string is the number of characters in it what's the length of "Hello World"? 11 (count the space)

31 Parsing Numeric Strings
Michele Weigle - COMP 14 - Spring 2004 Parsing Numeric Strings In Java, input from the user comes in the form of a string we need to know how to get the number values out of the string Numeric String a string with only integers or decimal numbers "6723", "-823", "345.76"

32 Parsing Numeric Strings
Michele Weigle - COMP 14 - Spring 2004 Parsing Numeric Strings String to int Integer.parseInt(strExpression) Integer.parseInt("6723") 6723 String to float Float.parseFloat(strExpression) Float.parseFloat("345.76") String to double Double.parseDouble(strExpression) Double.parseDouble(" ") the capital letters in Integer, Float, and Double are important -- Java is case-sensitive!

33 Michele Weigle - COMP 14 - Spring 2004
Summary 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

34 Michele Weigle - COMP 14 - Spring 2004
Summary Arithmetic Operators: If one of the operands is floating-point, the result is a floating-point Can only use % with two integer operands Casting (int) (54.9) - truncates the floating-point number (double) (23) - adds a .0 to the integer addition + subtraction - multiplication * division / remainder (mod) %

35 Michele Weigle - COMP 14 - Spring 2004
To do Homework 1 due tonight Homework 2 due tomorrow night Algorithm design Theory questions First program (after tomorrow’s class) Read ch. 2 (pp. 37-end)

36 Michele Weigle - COMP 14 - Spring 2004
Tomorrow First QUIZ! Writing a whole program


Download ppt "COMP 14 Introduction to Programming"

Similar presentations


Ads by Google