1 / 59

Chapter 2: Java Fundamentals cont’d

Chapter 2: Java Fundamentals cont’d. Outline. 2.1 The Parts of a Java Program 2.2 The print and println Methods, and the Java Standard Class Library 2.3 Variables and Literals 2.4 Primitive Data Types 2.5 Arithmetic Operators 2.6 Combined Assignment Operators

aldis
Télécharger la présentation

Chapter 2: Java Fundamentals cont’d

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. Chapter 2: Java Fundamentals cont’d

  2. Outline • 2.1 The Parts of a Java Program • 2.2 The print and println Methods, and the Java Standard Class Library • 2.3 Variables and Literals • 2.4 Primitive Data Types • 2.5 Arithmetic Operators • 2.6 Combined Assignment Operators • 2.7 Conversion Between Primitive Types • 2.8 Creating Named Constants with final • 2.9 The String Class • 2.10 Scope • 2.11 Comments • 2.12 Programming Style • 2.13 Reading Keyboard Input • 2.14 Dialog Boxes • 2.15 Common Errors to Avoid

  3. The % operator • Returns the remainder of the division • Examples; • 4%5 is 4 • 30%6 is 0 • 22%7 is 1 • 3205%100 is 5 • 3205%10 is 5

  4. Exercise • Write the following in a Java file: double amount = 137/5; System.out.println(“Amount is : “ + amount ); amount = 137.0/5; System.out.println(“Amount is : “ + amount );

  5. Integer Division • Dividing an integer by an integer gives an integer  the remainder is ignored • Examples: • 5/4 is 1 • 17/3 is 5

  6. Operator Precedence • What is the result of: • Polynomial = 1+2*3+ 6/2 -2; • Is it ? • (1+2)*3 + 6/(2-2) • 1+(2*3) +(6/2)-2 • (1+2)*3 + (6/2)-2

  7. Precedence Rules • Always evaluate * , / and % before + and – • Always negate before any calculations • *, / and % have same precedence • + and – have same precedence • If equal precedence then evaluate from left to right except for negations where we evaluate from right to left

  8. Precedence examples • Polynomial = 1+2*3+ 6/2 – 2; • Polynomial has the value of 1+6+3-2=8 • Polynomial = –1 + 5 – 2; // 2 • Polynomial = –(–3) + –(–5); //8

  9. Grouping with parentheses • You can use parentheses to force the evaluation of a formula • Examples: • x * ( y + z*z ) instead of x*y + z*z • x * ( y * ( z + 165 ) + 85 ) – 65 • Average = (a +b +c ) /3;

  10. The Math class • value = Math.pow( x,y); // now value holds x to the power of y • value = Math.sqrt( x); //now value holds the square root of x

  11. Combined Assignment Operators

  12. Operator Precedence • What is the result of: • Polynomial = 1+2*3+ 6/2 -2; • Is it ? • (1+2)*3 + 6/(2-2) • 1+(2*3) +(6/2)-2 • (1+2)*3 + (6/2)-2

  13. Precedence Rules • Always evaluate * , / and % before + and – • Always negate before any calculations • *, / and % have same precedence • + and – have same precedence • If equal precedence then evaluate from left to right except for negations where we evaluate from right to left

  14. Precedence examples • Polynomial = 1+2*3+ 6/2 – 2; • Polynomial has the value of 1+6+3-2=8 • Polynomial = –1 + 5 – 2; // 2 • Polynomial = –(–3) + –(–5); //8

  15. Grouping with parentheses • You can use parentheses to force the evaluation of a formula • Examples: • x * ( y + z*z ) instead of x*y + z*z • x * ( y * ( z + 165 ) + 85 ) – 65 • Average = (a +b +c ) /3;

  16. The Math class • value = Math.pow( x,y); // now value holds x to the power of y • value = Math.sqrt( x); //now value holds the square root of x

  17. Combined Assignment Operators

  18. 2.7 Conversion between Primitive Data Types • Before a value is stored in a variable, Java checks the Data Type of the value and the variable • If the data types are compatible then Java performs the conversion automatically  No Error • If the data types are not compatible then Java issues an error.

  19. A widening conversion is the conversion of a small value to a larger one A narrowing conversion is the conversion of a large value to a smaller one double largest float long int short byte smallest 2.7 Conversion between Primitive Data Types

  20. Widening conversion • Example 1: • double x; • int y = 10; • x = y; • Example 2: • int x; • short y =2; • x= y;

  21. Narrowing Conversion • We have to perform casting i.e. the name of the smaller data type is put in parentheses in front of the value • Example: • int number; • double pi = 3.14; • number = (int) pi;

  22. Cast operator • Used to convert from one primitive data type to another • Must be used for narrowing conversions

  23. Example: int pies = 10, people = 4; double piesPerPerson; • piesPerPerson = pies /people; • piesPerPerson =(double) pies/people; • piesPerPerson =pies/(double) people; • piesPerPerson=(double)(pies/people); (double)(10/4) = (double)(2) = 2.0 because it is an integer division 10/4 = 2 because it is an integer division 10.0/4 = 2.5 because one of the numbers is a double 10/4.0 = 2.5 because people is double

  24. Mixed Integer Operations • The result of an arithmetic operation that involves only byte, short, or int variables is always an int even if both variables are of data type short or byte • Example: • short x =5, y =7; • short z = x+y; // this statement gives an error • short z = (short) ( x+y ); //correct

  25. Mixed Integer Operations • If one of the operator’s operands is a double then the result of the operation is a double • If one of the operator’s operands is a float then the result of the operation is a float • If one of the operator’s operands is a long then the result of the operation is a long

  26. Creating named constants with final • A named constant is a variable whose value is read-only and cannot be changed • To create a named constant add the word final to declaration • An initialization value is required when declaring a constant • Example: • final double INTEREST_RATE = 0.069;

  27. More about named constants • When naming a constant, the variable name should be written in all uppercase characters. • Math.PI is a constant that holds the value of pi ( i.e. 3.14159 …) • Math.PI is already declared and initialized so it ready to use. Example: double area = Math.PI * radius * radius ;

  28. The String class • A String literal is any text enclosed in quotations • A String is the DataType of a variable that can store String literals • Example of a String variable: • String name = “CS 0007”; • System.out.println( name );

  29. The String class • To determine how many letters are stored in a String variable (name) use name.length(); • Example: • String mycourse = “CS 0007”; • int number = mycourse.length();

  30. String methods • charAt(index) • index is an integer and specifies the character position in the String • This method returns the character at the specified position • Example: • char letter; • String myText = “This is my Text”; • letter = myText.charAt(8);

  31. String methods myText.length returns 15 because there are 15 characters myText.charAt(8) returns m because m is the letter at position 8

  32. String methods • toLowerCase() • This method returns a new String that has all of the characters of the original String but in lowercase • Example: • String bigName = “I am BIG!!”; • String smallName = bigName.toLowerCase(); • // now smallName holds “i am big!!”

  33. String methods • toUpperCase() • Same as toLowerCase() but it converts all the characters to uppercase • Example: • String smallName = “I am Big!!”; • String bigName = smallName.toUpperCase(); • // now bigName holds “I AM BIG!!”

  34. Example: String message = "Java is Great Fun!"; String upper = message.toUpperCase(); String lower = message.toLowerCase(); char letter = message.charAt(2); int stringSize = message.length(); System.out.println(message); System.out.println(upper); System.out.println(lower); System.out.println(letter); System.out.println(stringSize);

  35. Scope • The variable scope is the part of the program that has access to it public class Scope { public static void main(String[] args) { System.out.println(value); // ERROR! int value = 100; } }

  36. Scope public class Scope{ public static void main(String[] args){ int number = 100; System.out.println(number); int number = 200; //ERROR } }

  37. Comments • Java provides three methods for commenting code.

  38. Programming Style • Although Java has a strict syntax, whitespace characters are ignored by the compiler. • The Java whitespace characters are: • space • tab • newline • carriage return • form feed

  39. Programming Style public class Compact {public static void main(String[] args){int shares=220; double averagePrice=14.67; System.out.println("There were "+shares+" shares sold at $"+averagePrice+ " per share.");}} Compiles !!!

  40. Indentation • Programs should use proper indentation. • Each block of code should be indented a few spaces from its surrounding block. • Two to four spaces are sufficient

  41. Programming Style /** This example is much more readable than Compact.java. */ public class Readable { public static void main(String[] args) { int shares = 220; double averagePrice = 14.67; System.out.println("There were " + shares + " shares sold at $" + averagePrice + " per share."); } }

  42. Dialog Boxes • A dialog box is a small graphical window that displays a message to the user or requests input. • A variety of dialog boxes can be displayed using the JOptionPaneclass. • Two of the dialog boxes are: • Message Dialog - a dialog box that displays a message. • Input Dialog - a dialog box that prompts the user for input.

  43. Using the import Statement • The JOptionPane class is not automatically available to your Java programs. • The following statement must be before the program’s class header: import javax.swing.JOptionPane; • This statement tells the compiler where to find the JOptionPane class.

  44. Dialog Boxes The JOptionPane class provides static methods to display each type of dialog box.

  45. Message Dialogs • JOptionPane.showMessageDialog method is used to display a message dialog. JOptionPane.showMessageDialog(null, "Hello World"); • The second argument is the message that is to be displayed.

  46. Input Dialogs • An input dialog is a quick and simple way to ask the user to enter data. • The dialog displays a text field, an Ok button and a Cancel button. • If Ok is pressed, the dialog returns the user’s input. • If Cancel is pressed, the dialog returns null.

  47. Input Dialogs String name; name = JOptionPane.showInputDialog( "Enter your name."); • The argument passed to the method is the message to display. • If the user clicks on the OK button, name references the string entered by the user. • If the user clicks on the Cancel button, name references null.

  48. NamesDialog.java import javax.swing.JOptionPane; public class NamesDialog { public static void main(String[] args) { String firstName; // The user's first name String middleName; // The user's middle name String lastName; // The user's last name // Get the user's first name firstName = JOptionPane.showInputDialog("What is " + "your first name? ");

  49. NamesDialog.java // Get the user's middle name. middleName = JOptionPane.showInputDialog( "What is " +"your middle name? "); // Get the user's last name. lastName = JOptionPane.showInputDialog("What is " +"your last name? ");

  50. Example // Display a greeting JOptionPane.showMessageDialog(null, "Hello " +firstName + " " +middleName +" " + lastName); System.exit(0); } }

More Related