Nothing Special   »   [go: up one dir, main page]

Chapter 2: Basic Elements of Java

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 60

Chapter 2: Basic Elements of Java

Java Programming:
From Problem Analysis to Program Design,
Second Edition
Chapter Objectives
 Become familiar with the basic components of a Java
program, including methods, special symbols, and
identifiers.
 Explore primitive data types.
 Discover how to use arithmetic operators.
 Examine how a program evaluates arithmetic
expressions.
 Explore how mixed expressions are evaluated.

Java Programming: From Problem Analysis to Program Design, Second Edition 2


Chapter Objectives
 Learn about type casting.
 Become familiar with the String type.
 Learn what an assignment statement is and what it
does.
 Discover how to input data into memory by using
input statements.
 Become familiar with the use of increment and
decrement operators.

Java Programming: From Problem Analysis to Program Design, Second Edition 3


Chapter Objectives
 Examine ways to output results using output
statements.

 Learn how to import packages and why they are


necessary.

 Discover how to create a Java application program.

 Explore how to properly structure a program,


including using comments to document a program.

Java Programming: From Problem Analysis to Program Design, Second Edition 4


Introduction
 Computer program: A sequence of statements
designed to accomplish a task.

 Programming: The process of planning and creating


a program.

Java Programming: From Problem Analysis to Program Design, Second Edition 5


The Basics of a Java Program
 Java program: A collection of classes.

 There is a main method in every Java application


program.

Java Programming: From Problem Analysis to Program Design, Second Edition 6


Special Symbols

Java Programming: From Problem Analysis to Program Design, Second Edition 7


Word Symbols
  void
int
 public
 float
  static
double
 throws
 char
 return

Java Programming: From Problem Analysis to Program Design, Second Edition 8


Java Identifiers
 Names of things.
 Consists of:
 Letters
 Digits
 The underscore character (_)
 The dollar sign ($)
 Must begin with a letter, underscore, or the dollar sign.
 Java is case sensitive .

Java Programming: From Problem Analysis to Program Design, Second Edition 9


Illegal Identifiers

Java Programming: From Problem Analysis to Program Design, Second Edition 10


Data Types
 The objective of a Java program is to manipulate
data.
 Different programs manipulate different data .
 A Data type is a set of values together with a set of
operations.
 Only certain operations can be performed on a
particular type of data.

Java Programming: From Problem Analysis to Program Design, Second Edition 11


Primitive Data Types
(fundamental DT)

Decimal Logical
integers values
numbers

Java Programming: From Problem Analysis to Program Design, Second Edition 12


Primitive Data Types
 Floating-point data types:

 Represent real numbers in scientific notation. Ex:


75.924 7.592400E1 in java

 Has two types :

 Float: Precision = 6 or 7 (4bytes)

 Double: Precision = 15 (8 bytes )

 The default type of floating-point numbers is double.


Java Programming: From Problem Analysis to Program Design, Second Edition 13
Primitive Data Types
 Boolean:
 Has Two values:
 True
Reserved words
 False

 These are called the logical (Boolean) values.

 The central purpose of this data type is to


manipulate logical (Boolean) expressions.

Java Programming: From Problem Analysis to Program Design, Second Edition 14


Integral Data Types

Java Programming: From Problem Analysis to Program Design, Second Edition 15


Integral Data Types
 deals with integers, or numbers without a decimal
part .
 The type depends on how big the number is .
 The char data type is used to represent single
characters such It can represent any key on your
keyboard. Ex : ‘a’ , ‘+’,‘7’
 Java uses the Unicode character set, which contains
65536 values numbered 0 to 65535 .
 ASCII is a subset of Unicode .

Java Programming: From Problem Analysis to Program Design, Second Edition 16


Values and Memory Allocation
for Integral Data Types

Java Programming: From Problem Analysis to Program Design, Second Edition 17


Arithmetic Operators and
Operator Precedence
 Five arithmetic operators:
 + addition
 - subtraction
 * multiplication
 / division
 % mod (modulus)
 / with integral data types  integer results .
 Unary operator: An operator that has one operand.
 Binary operator: An operator that has two operands.

Java Programming: From Problem Analysis to Program Design, Second Edition 18


Order of Precedence
* / % (same precedence)
+ - (same precedence)

 Operators in 1 have a higher precedence than operators in


2.
 When operators have the same level of precedence,
operations are performed from left to right .(i.e
associativity of arithmetic operators from left to right )
 Arithmetic operations ca be performed on char data. The
integer value is the Unicode collating sequence .

Java Programming: From Problem Analysis to Program Design, Second Edition 19


 34 % 5  4
 -34 % 5  -4
 34 % -5  4
 -34 % -5  -4

Java Programming: From Problem Analysis to Program Design, Second Edition 20


Expressions
 Integral expressions

 Floating-point or decimal expressions

 Mixed expressions

Java Programming: From Problem Analysis to Program Design, Second Edition 21


Integral Expressions
 All operands are integers.
 Examples:
2 + 3 * 5
3 + x – y / 7
x + 2 * (y – z) + 18

Java Programming: From Problem Analysis to Program Design, Second Edition 22


Floating-Point Expressions
 All operands are floating-point numbers.
 Examples:
12.8 * 17.5 – 34.50
x * 10.5 + y - 16.2

Java Programming: From Problem Analysis to Program Design, Second Edition 23


Mixed Expressions
 Operands of different types.
 Integer operands yield an integer result; floating-point
numbers yield floating-point results.
 If both types of operands are present, the result is a floating-
point number.
 Precedence rules are followed.
 Examples:
2 + 3.5  5.5
4 + 5/2.0  6.5
3 / 2 + 5.0  6.0
4*3+7/5-25.5  -12.5

Java Programming: From Problem Analysis to Program Design, Second Edition 24


 Character Arithmetic:

 char data type is an integer


 Hence integer arithmetic is allowed on char data:
‘8’  integer 56
‘8’ + 1  57

Java Programming: From Problem Analysis to Program Design, Second Edition 25


Type Conversion (Casting)
 Used :
 to change one data type to another .
 to avoid implicit type coercion.
 Syntax:
(dataTypeName) expression

 Expression evaluated first, then the value is


converted to dataTypeName

Java Programming: From Problem Analysis to Program Design, Second Edition 26


Type Conversion (Casting)
 Examples:
1. (int)(7.9 + 6.7) = 14
2. (int)(7.9) + (int)(6.7) = 13
3. (double)(17) = 17.0
4. (double)(8+3) = (double)11 = 11.0
5. (double)(7) /2 = 7.0/2 = 3.5
6. (double)(7/2) = 3.0
7. (int)(7.8+(double)(15)/2) =
(int)15.3 =15

Java Programming: From Problem Analysis to Program Design, Second Edition 27


Type Conversion (Casting)
(int)(7.8+(double)(15/2))=(int)14.8 =14
x=15 ,y = 23 , z= 3.75
8. (double) (y/x)+ z = (double)(1)+3.75= 4.75
9. (double) (y) /x + z = 1.5333+3.75 =5.28333
11.(int)(‘A’) = 65
12.(int)(‘8’) = 56
13.(char) (65) = ‘A’
14.(char) (56) = ‘8’

Java Programming: From Problem Analysis to Program Design, Second Edition 28


The class String
 Contains operations to manipulate strings.
 String:
 Sequence of zero or more characters.
 Enclosed in double quotation marks.
 Is processed as a single unit .
 Null or empty strings have no characters. “ “
 Every character has a relative position , the first
character is in position 0 .

Java Programming: From Problem Analysis to Program Design, Second Edition 29


The class String
 Numeric strings consist of integers or decimal numbers.
 Length of the string is the number of characters in it .
 When determining the length of a string , blanks count .
 Example :
 “ “  has length = 0
 “abc”  has length = 3 , position of a = 0 ,b= 1 , c= 2
 “a boy”  has length = 5

Java Programming: From Problem Analysis to Program Design, Second Edition 30


Input
Allocating Memory
 Memory can be allocated to store constants and
variables .

Named constant
 A memory location whose content cannot be
changed during program execution.
 Declared by using the reserved word final.
 Initialized when it is declared.

Java Programming: From Problem Analysis to Program Design, Second Edition 31


Input
 To declare a named constant :
static final datatype Identifier = value ;
 Example 2-11
final double CENTIMETERS_PER_INCH=2.54;
final int NO_OF_STUDENTS = 20;
final char BLANK = ' ';
final double PAY_RATE = 15.75 ;
 The default type of floating point numbers is double .
 The declaration : final float rate = 15.5f ;
without the f , the compiler will generate an error .

Java Programming: From Problem Analysis to Program Design, Second Edition 32


Input
Variable (name, value, data type, size)
 A memory location whose content may change during
program execution.
 Must be declared before it can be used.
 May not be automatically initialized.
 If new value is assigned, old one is destroyed.
 can obtain values with :
 an assignment statement
 an input (read) statement.

Example 2-12
double amountDue;
int counter;
char ch;
int x, y;

Java Programming: From Problem Analysis to Program Design, Second Edition 33


Input
The Assignment Statement
 variable = expression;
 Value of expression should match the data
type of the variable .
 Expression on right is evaluated, value is
assigned to variable on the left .
 Java is strongly typed; you cannot assign a
value to a variable that is not compatible
with its data type .
 Associativity of assignment operator is from
right to left .
x=y=z;
Java Programming: From Problem Analysis to Program Design, Second Edition 34
Input
Example 2-13
int i, j;
double sale;
char first;
String str;

i = 4;
j = 4 * 5 - 11;
sale = 0.02 * 1000;
first = 'D';
str = "It is a sunny day.";

Java Programming: From Problem Analysis to Program Design, Second Edition 35


Input
Input (read) statement
 To read data into variables :
1. Create an input stream object of the class
Scanner.
2. Associate it with the standard input device. The
following statement accomplishes this:
static Scanner console=new Scanner(System.in);
 System.in. = Standard input stream object and is
designed to input data from standard input device .
 Console is the created input stream object .

Java Programming: From Problem Analysis to Program Design, Second Edition 36


Input
 The object console reads input using the following
methods
A. console.nextInt(): to read integer.
B. console.nextDouble(): to read floating-point
numbers. (double &
float)
C. console.next(): to read a string.
D. console.nextLine(): to read a string until the end of
the line.

Java Programming: From Problem Analysis to Program Design, Second Edition 37


Input
Example 2-16
static Scanner console = new Scanner(System.in);
int feet;
int inches;

Suppose the input is

23 7

feet = console.nextInt(); //23 is stored in feet


inches = console.nextInt();//7is stored in inches

Java Programming: From Problem Analysis to Program Design, Second Edition 38


Example 2-16
import java.util.*;

public class Example2_16


feet = console.nextInt();
{
static Scanner console = new inches = console.nextInt();
Scanner(System.in);
public static void main(String[] args) System.out.println("Feet = " + feet);
{ System.out.println("Inches = " +
int feet; inches);
int inches; }
}
System.out.println("Enter two integers
separated by spaces.");

Java Programming: From Problem Analysis to Program Design, Second Edition 39


Variable Initialization

 When a variable is declared, Java might not automatically put a


meaningful value into it.
 If you declare a variable and then use it in an expression without first
initializing it, when you compile the program you are likely to get an
error. Therefore Java allows you to initialize variables while they are
being declared.
 Consider the following declaration:
int feet;
You can initialize the variable feet to a value of 35 either by using the
assignment statement:
feet = 35;
or by executing the following statement and entering 35 during program
execution:
feet = console.nextInt();

Java Programming: From Problem Analysis to Program Design, Second Edition 40


Example 2-17
import java.util.*; firstName = console.next();
public class Example2_17
{ lastName = console.next();
static Scanner console = new age = console.nextInt();
Scanner(System.in); weight = console.nextDouble();

public static void main(String[] args)


{ }
String firstName;
String lastName;
int age; System.out.println("Name: " +
double weight; firstName + " " + lastName);
System.out.println("Age: " + age);
System.out.println("Enter first name, last System.out.println("Weight: " +
name, "+ "age, and weight separated " + weight);
"by spaces."); }

Java Programming: From Problem Analysis to Program Design, Second Edition 41


Input
 Reading a Single Character
if ch is a char variable. To input A into ch, you can
use the following statement:
ch = console.next().charAt(0);

Java Programming: From Problem Analysis to Program Design, Second Edition 42


Example2_18
import java.util.*; System.out.println("Line 6: firstNum = "
public class Example2_18{ + firstNum + ", secondNum = “
static Scanner console = new + secondNum + ", z = " + z);
Scanner(System.in);
public static void main(String[] args)
{ ch = 'A';
int firstNum, secondNum;
char ch; double z; System.out.println("Line 8: firstNum
= " + firstNum + ", secondNum = " +
firstNum = 4; secondNum + ", ch = " + ch
System.out.println("Line 2: + ", z = " + z);
firstNum = “ + firstNum); secondNum = console.nextInt();
secondNum = 2 * firstNum + 6; System.out.println("Line 10: firstNum =
System.out.println("Line 4: firstNum = " " + firstNum
+ firstNum + ", secondNum = " + + ", secondNum = " + secondNum
secondNum); + ", ch = " + ch + ", z = " + z);
z = (firstNum + 1) / 2.0; z = console.nextDouble();

Java Programming: From Problem Analysis to Program Design, Second Edition 43


Example2_18
System.out.println("Line 12: firstNum = " System.out.println("Line 18: firstNum ="
+ firstNum + ", secondNum = " + + firstNum + ", secondNum = "
secondNum + ", ch = " + ch + secondNum + ", ch = " + ch
+ ", z = " + z);
+ ", z = " + z);
firstNum = 2 * secondNum + (int)(z);
firstNum = firstNum +(int)(ch);
System.out.println("Line 14: firstNum = "
+ firstNum + ", secondNum = " + System.out.println("Line 20: firstNum
secondNum + ", ch = " + ch = " + firstNum + ", secondNum = "
+ ", z = " + z); + secondNum + ", ch = " + ch + ", z
secondNum = secondNum + 1; = " + z);
System.out.println("Line 16: firstNum = " z = firstNum - z;
+ firstNum + ", secondNum = "
+ secondNum + ", ch = " + ch System.out.println("Line 22: firstNum =
+ ", z = " + z); " + firstNum + ", secondNum = “
+ secondNum + ", ch = " + ch
ch = console.next().charAt(0); + ", z = " + z); }
}

Java Programming: From Problem Analysis to Program Design, Second Edition 44


Increment and
Decrement Operators
 ++ increments the value of its operand by 1.
 -- decrements the value of its operand by 1.
 Syntax:
Pre-increment: ++variable
Post-increment: variable++
Pre-decrement: --variable
Post-decrement: variable--

Java Programming: From Problem Analysis to Program Design, Second Edition 45


Increment and
Decrement Operators
 Example :
int count =1 ;
count ++ ; or ++ count ; // same as count =count+1
 The meaning of pre and post differ when the variable using these
operators is used in an expression .
 The pre-increment adds 1 to the variable before the expression is
evaluated. Similarly, the pre-decrement subtracts 1 from the
variable before it is evaluated in an expression while.
 The post-increment adds 1 to the variable after the expression is
evaluated. Similarly, post-decrement subtracts the value 1 from
the variable after the expression is evaluated.

Java Programming: From Problem Analysis to Program Design, Second Edition 46


Increment and
Decrement Operators
Example :
int x , y ;
1. x= 5 ;
y = ++x ; //the value of x is incremented first then
it is assigned to y .( x =6 ,y =6 )
2. X= 5 ;
y = ++x ; // the current value of x (5) is used to
evaluate the exp. then the value of
x is incremented., y =5

Java Programming: From Problem Analysis to Program Design, Second Edition 47


Increment and
Decrement Operators
Example :
int a ,b ;
3. a = 5 ;
b = 2+ (++a) ; // a= 6 , b = 8
4. a = 5 ;
b = 2+ (a++) ; // a = 5 during the exp. Evaluation
then its incremented to 6
// b = 7

Java Programming: From Problem Analysis to Program Design, Second Edition 48


Strings and the Operator +
 Operator + can be used to concatenate two strings,
or a string and a numeric value or character.

Example 2-20
String str;
int num1, num2;
num1 = 12;
num2 = 26;
str = "The sum = " + num1 + num2;

After this statement executes, the string assigned to str is:


"The sum = 1226";
Java Programming: From Problem Analysis to Program Design, Second Edition 49
Strings and the Operator +
 Example 2-20
String str;
int num1, num2;
num1 = 12;
num2 = 26;
str = "The sum = " + num1 + num2;
After this statement executes, the string assigned to str is:
"The sum = 1226";
 Consider the following statement:
str = "The sum = " + (num1 + num2);
 In this statement, because of the parentheses, you first evaluate
num1 + num2. Because num1 and num2 are both int
variables, num1 + num2 = 12 + 26 = 38. After this
statement executes, the string assigned to str is:
"The sum = 38";
Java Programming: From Problem Analysis to Program Design, Second Edition 50
Output
 Standard output object is System.out.

 Methods:
print
println

 Syntax:
System.out.print(stringExp);
System.out.println(stringExp);
System.out.println();

Java Programming: From Problem Analysis to Program Design, Second Edition 51


Commonly Used
Escape Sequences

Java Programming: From Problem Analysis to Program Design, Second Edition 52


Packages, Classes, Methods, and
the import Statement
 Package: A collection of related classes.

 Class: Consists of methods.

 Method: Designed to accomplish a specific task.

Java Programming: From Problem Analysis to Program Design, Second Edition 53


import Statement
 Used to import the components of a package into a
program.
 Reserved word.
 import java.io.*;
Imports the (components of the) package java.io
into the program.
 Primitive data types and the class String:
 Part of the Java language.
 Don’t need to be imported.

Java Programming: From Problem Analysis to Program Design, Second Edition 54


Creating a Java
Application Program
 Syntax of a class:

 Syntax of the main method:

Java Programming: From Problem Analysis to Program Design, Second Edition 55


Programming Style and Form
 Know common syntax errors and rules.

 Use blanks appropriately.

 Use a semicolon as a statement terminator.

 Important to have well-documented code.

 Good practice to follow traditional rules for naming


identifiers.

Java Programming: From Problem Analysis to Program Design, Second Edition 56


More on Assignment Statements

variable = variable * (expression);


is equivalent to:
variable *= expression;
Similarly,
variable = variable + (expression);
is equivalent to:

variable += expression;

Java Programming: From Problem Analysis to Program Design, Second Edition 57


Programming Examples
 Convert Length program:
 Input: Length in feet and inches.
 Output: Equivalent length in centimeters.
 Make Change program:
 Input: Change in cents.
 Output: Equivalent change in half-dollars, quarters,
dimes, nickels, and pennies.

Java Programming: From Problem Analysis to Program Design, Second Edition 58


Chapter Summary
 Basic elements of a Java program include:
 The main method
 Reserved words
 Special symbols
 Identifiers
 Data types
 Expressions
 Input
 Output
 Statements

Java Programming: From Problem Analysis to Program Design, Second Edition 59


Chapter Summary
 To create a Java application, it is important to
understand:
 Syntax rules.
 Semantic rules.
 How to manipulate strings and numbers.
 How to declare variables and named constants.
 How to receive input and display output.
 Good programming style and form.

Java Programming: From Problem Analysis to Program Design, Second Edition 60

You might also like