Download presentation

Presentation is loading. Please wait.

1
**Chapter 3 Fundamental Data Types of Java**

Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E. Reingold

2
**Chapter Preview In this chapter we will:**

discuss four important data types integers real numbers strings characters describe the process of developing and debugging a Java program

3
**Integers Numbers without fractional parts 3, 47, -12**

Variables can be used to store integers using an assignment statement int daysInWeek; daysInWeek = 7; In general integer variables may be used any place an integer literal can be

4
**Reading Integers import CSLib.*; Inputbox in; int i;**

in = newInputBox(); in.setPrompt(“Enter an integer: “); i = in.readInt();

5
**Integer Arithmetic Operations**

Symbol Operation Example + Addition = 50 - Subtraction 657 – 57 = 600 * Multiplication 7000 * 3 = 2100 / Division 10 / 3 = 3 % Remainder 10 % 3 = 1

6
**Precedence Rules Evaluate all subexpressions in parentheses**

Evaluate nested parentheses from the inside out In the absence of parentheses or within parentheses Evaluate *, /, or % before + or – Evaluate sequences of *, /, and % operators from left to right Evaluate sequences of + and – operators from left to right

7
**Precedence Examples Example 1 Example 2 6 + 37 % 8 / 5 is the same as**

6 + ((37 % 8) / 5) = 6 + ( 5 / 5) = 7 Example 2 % (8 / 5) = % 1 = 6 + 0 = 6

8
**Additional Integer Operators**

Self-assignment temperature = temperature + 10; Increment cent++; equivalent to cent = cent + 1; Decrement cent--; cent = cent - 1;

9
**Initializers May be used to give variables initial values**

int x = 5; int y = 6; Can be written more concisely int x = 5, y = 6; Can use expressions on the right hand side y = x + 1;

10
Symbolic Constants Useful when you want a variable whose value never changes Use the modifier final in its declaration Example final int US_Population = ;

11
**Real Numbers Numbers with fractional parts**

, 7.12, 9.0, 0.5e001, -16.3e+002 Declared using the type double double pricePerPound = 3.99; taxRate = 0.05; shippingCost = 5.55; The initialization part of the declaration is optional

12
**Real Arithmetic Operations**

Symbol Operation Example + Addition 4.50e e00 = 5.03e01 - Subtraction 6.57e02 – 5.7oe01 = 6.00e02 * Multiplication 7e02 * 3.0e00 = 2.1e04 / Division 9.6e01 / 2e01 = 4.8e00

13
**Reading Real Numbers import CSLib.*; Inputbox in; double temp;**

in = newInputBox(); in.setPrompt(“Enter a real number: “); temp = in.readDouble();

15
**Strings String is a class defined in the java.lang package**

Unlike other Java classes String has literals and a defined operation Examples String prompt = “Enter an integer:”; String t1 = “To be “, t2 = “or not to be”; out.print(t1 + t2); Out.print(“Mass is “ + x * “ Kg”);

16
**String Method Examples**

OutputBox out = new OutputBox(); String s1 = “Here is a test string”; out.println(s1.indexOf(“s”)); // prints 6 out.println(s1.indexOf(“x”)); // prints -1 out.println(s1.length()); // prints 22 out.println(s1.substring(8,14)); // prints ‘a test’

18
**Reading Strings import CSLib.*; Inputbox in; String input;**

in = newInputBox(); in.setPrompt(“Enter a real number: “); input = in.readString();

19
Characters Any key you type on the keyboard generates a character which may or may not be displayed on the screen (e.g. nonprinting characters) Characters are a primitive type in Java and are not equivalent to strings Examples char vitamin = ‘’A’, chromosome = ‘’y’, middleInitial = ‘’N’;

20
**Important Literal Characters**

‘A’, … ,‘Z’ Uppercase letters ‘a’, … ,‘z’ Lowercase letters ‘0’, … , ‘9’ Digits ‘.’,’,’,’!’,’”’,etc. Punctuation Marks ‘ ’ Blank ‘\n’ New line ‘\t’ Tab ‘\\’ Backslash ‘\’’ Single Right Quote

21
**Common Debugging Problems**

Misleading compiler error messages Syntax errors indicated on one-line may actually reflect an error made on an earlier line Capitalization errors Java is case sensitive, identifier names must use the same capitalization rules each time Logic Errors Program appears to run correctly, but on closer inspection the wrong output is displayed

22
**Limitations of Numeric Variables**

Unlike the integers mathematics the type int is not infinitely large and it is possible to compute a value incorrectly because the value is too large to be stored in an int variable storage location Unlike the real numbers in mathematics the type double is not dense, it is not always possible to test double expressions for equality and obtain a correct result due to rounding errors in representations

23
**Mixing Numeric Data Types**

Java will automatically convert int expressions to double values without loss of information int i = 5; double x = i ; To convert double expressions to int requires a typecasting operation and truncation will occur i = (int) (10.3 * x) To round-up instead of truncating add 0.5 i = (int) (10.3 * x + 0.5)

24
**Mixed Mode Operations and Strings**

It is important to remember that “13” and 13 are not the same Examples out.println(“4” + “5”) // prints 45 out.println(“4” + 5) // prints 45 out.println(4 + 5) // prints 9

25
**Characters as Integers**

It is legal to assign a char to an int variable int i = ‘a’; // assigns 97 to i It is legal to assign an int to an char variable char c = 97; // assigns ‘a’ to c It is possible to perform arithmetic on char variables char ch = ‘a’; ch = ch + 1; // assigns ‘b’ to ch

Similar presentations

OK

1 Do you have a CS account? Primitive types –“ building blocks ” for more complicated types Java is strongly typed –All variables in a Java program must.

1 Do you have a CS account? Primitive types –“ building blocks ” for more complicated types Java is strongly typed –All variables in a Java program must.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google