1 / 50

COMP 110: Introduction to Programming

COMP 110: Introduction to Programming. Tyler Johnson January 26, 2009 MWF 11:00AM-12:15PM Sitterson 014. Announcements. Lab 0 graded. Questions?. Today in COMP 110. Type Casting More Operators Strings Console I/O. From Last Time. Assignment Compatibilities.

bern
Télécharger la présentation

COMP 110: Introduction to Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP 110:Introduction to Programming Tyler Johnson January 26, 2009 MWF 11:00AM-12:15PM Sitterson 014

  2. Announcements • Lab 0 graded

  3. Questions?

  4. Today in COMP 110 • Type Casting • More Operators • Strings • Console I/O

  5. From Last Time

  6. Assignment Compatibilities • You cannot store a value of one type in a variable of another type • int i = 0.1; //this does not compile! • However, some types can be converted into other types • double d = 1; //1 is automatically converted to 1.0

  7. Assignment Compatibilities • byte»short» int » long » float » double • A value of any type in the list can be assigned to a type further down the list • Example • int iVar = 7; • double dVar = iVar; //this is legal

  8. Assignment Compatibilities • In some cases, you may want to override the assignment compatibilities • This can be done using type casting

  9. Type Casting • Syntax • (Type_Name) Expression • Expression is a combination of numbers and variables • Example • double distance = 9.0; • int points = (int)distance; //cast distance to an int //distance is not changed in any way //the value of points will be 9

  10. Type Casting • Type casting is not rounding! • The effect of a type cast is truncation • Any fractional portion is discarded • Just like when you divide two integers • Example • double bill = 25.75; • int dollars = (int)bill ; //cast bill to an int //bill is not changed in any way //the value of dollars will be 25

  11. From Last Time • Operators • Addition (+) • a + b • Subtraction (-) • a - b • Multiplication (*) • a * b • Division (/) • a / b • Remainder or Modulo (%) • a % b

  12. Parentheses and Precedence • Parentheses can be used to indicate the order in which operations should be performed • Example • What is the value of “result”? int a = 3, b = 1, c = 2, result = 0; result = (a + b) * c; result = a + (b * c); result = 8 result = 5

  13. Binary Operators • Binary operators take two operands • An operand is just a number or variable • For example, +,-,*,/ are binary operators • i = a + b; • i = a - b; • i = a * b; • i = a / b;

  14. Unary Operators • Unary operators take a single operand • + and – can also be unary operators • i = -7; • f = +100.2;

  15. += a += 3; //same as a = a + 3; -= a -= 4; //same as a = a – 4; *= a *= 2; //same as a = a * 2; /= a /= 3; //same as a = a / 3; Specialized Assignment Operators

  16. Increment and DecrementOperators • Increment Operator (++) • count++; //same as • count = count + 1; • Decrement Operator (--) • count--; //same as • count = count – 1;

  17. Increment and Decrement Operators • Can also be used in expressions in either prefix (++m) or postfix (m++) form • Example • n * (m++) • Increases m by 1 after the multiplication • n * (++m) • Increases m by 1 before the multiplication

  18. Increment and Decrement Operators int n = 2; int m = 4; int result = n * (m++); //result = 8, m = 5 result = n * (++m); //result = 12, m = 6

  19. Operator Precedence • Java evaluates expressions in an order specified by precedence rules • Certain operations are performed before others • Example i = 4 + 2 * 3 – 1; // the value of i will be 9

  20. Java Precedence Rules Highest Precedence First: the unary operators +, -, ++, -- Second: the binary operators *, /, % Third: the binary operators +, - Lowest Precedence • Binary operators of equal precedence are evaluated from left to right

  21. Precedence Examples • -3 * 7 % 3 – 4 – 6 • -21 % 3 – 4 – 6 • 0 – 4 – 6 • -10 • 3 * (3 % 2 ) / -2 • 3 * 1 / -2 • 3 / -2 • -1 • NOTE: Truncation of division operator on integers

  22. Constants • Constants or literals are values that don’t change • 2, 6, ‘B’, 5.433e8 • NOTE: 5.433e8 means 5.433 x 108 • Example uses of constants • int i = 2; // i is a variable, 2 is a constant • char l = ‘J’; // l is a variable, ‘J’ is a constant • doubled = 6.1e38; //d is a variable, 6.1e38 is a //constant

  23. Named Constants • A constant that is given a name and can be used much like a variable • Syntax • finalType Variable = Constant; • Examples • finaldouble PI = 3.14159; • final int HOURS_PER_DAY = 24;

  24. Representing Text in Java • How to represent sequences of characters in Java programs such as “Enter a whole number from 1 to 99.” • Java provides the class “String” for this purpose

  25. Strings • String is a class provided by the Java language for representing sequences of characters “Enter a whole number from 1 to 99.”

  26. Strings • Messages like these are called String literals or String constants “Enter a whole number from 1 to 99.” “What is your name?” “I will add two numbers for you.” • They have the type “String”

  27. Strings • We can declare Strings in Java programs • Example String greeting; greeting = “Hello!”; System.out.println(greeting); //prints Hello! to screen System.out.println(“Hello!”); //also prints Hello! to //screen

  28. String Indices • Strings consist of a sequence of characters • Each character has a position in the String Characters Positions

  29. String Concatenation • We can concatenate two Strings together using the (+) operator • Example String name = “Bob”; String greeting = “Hi ” + name; System.out.println(greeting); //prints “Hi Bob” to the screen

  30. String Concatenation • We can also concatenate Strings with other data types System.out.println("I am " + 21 + " years old!"); //prints “I am 21 years old!” to screen

  31. Strings as a Class • String is a class type, not a primitive type • Class types have both data and methods (actions)

  32. String Length • The “length()” method of the String class returns the # of characters in the String String myString = “Hi there!”; int len = myString.length(); Class Object 9 Method

  33. Strings • All objects of the same class have the same methods, but may have different data • Example String s1 = “First!”; String s2 = “Second!”; s1.length() returns 6 s2.length() returns 7

  34. String Methods • string.indexOf(A_String) • Returns the index of the first occurrence of A_String in string • Example String phrase = “UNC is Great”; int ind = phrase.indexOf(“Great”);

  35. String Methods • string.substring(Start) • Returns a new string having the same characters as the substring of string beginning at index Startthrough the end ofstring • Example • String phrase = “UNC is Great”; • String sub = phrase.substring(2);

  36. String Methods • Other methods of the String class include • string.charAt(index) • Returns the character at index in string • string.toLowerCase() • Returns a new String with the same characters as string, but with any uppercase characters changed to lowercase • string.equals(A_String) • Returns true if string and A_String are the same, otherwise returns false • See Textbook pg 78 for full listing

  37. Quotations Marks in Strings • Problem • Quotation marks in Java indicate the beginning and end of a String literal String phrase = “Enter a whole number from 1 to 99.”; • How to put quotation marks into Strings?

  38. Quotation Marks in Strings • Example • We’d like to print the message This class is so "fun" • But we cannot use System.out.println("This class is so "fun""); because the Java compiler sees it as System.out.println("This class is so "fun"");

  39. Quotation Marks in Strings • The way to do this in Java is with the escape character '\' • We can use the sequence \" inside a string to indicate a quotation mark • Example System.out.println("This class is so \"fun\""); • will print to screen This class is so "fun"

  40. Backslashes in Strings • If backslash '\' is the escape character, how can I put backslashes into Strings? • Use the sequence \\ for this • Example System.out.println("This is a backslash \\"); • will print to screen This is a backslash \

  41. New Line Sequence • The sequence \n starts a new line of text • Example System.out.println("Line 1\nLine 2"); • will print to screen Line 1 Line 2

  42. Escape Characters

  43. String Exercise • What is the output? • System.out.println("abc\ndef"); abc def • System.out.println("abc\\ndef"); abc\ndef

  44. Testing & Debugging • It’s easy to make mistakes when programming • These mistakes are called bugs • The process of eliminating mistakes in a program is called debugging

  45. Programming Errors • Syntax Error – Failure to follow the rules of the language • E.g. missing semi-colon • Run-time Error – An error that causes the program to halt and produce an error message • E.g. Program crashes • Logic Error – When a program fails to produce the correct result • E.g accidentally using addition when you meant to use subtraction • Hardest to locate!

  46. Programming Demo • Fahrenheit to Celsius Converter • Problem • Given a temperature in degrees Fahrenheit, convert to a temperature in degree Celsius

  47. Programming Demo • Fahrenheit to Celsius • Steps • Pseudocode • Programming • Testing/Debugging

  48. The Algorithm • Comes directly from the formula for conversion tempC = (5/9)(tempF – 32)

  49. Fahrenheit to Celsius • Pseudocode • Ask user for temp in Fahrenheit • Convert temp in Fahrenheit to temp in Celsius • Output the result

  50. Wednesday • Documentation and Style • Introduction to Branching

More Related