SlideShare ist ein Scribd-Unternehmen logo
1 von 65
SSttrruuccttuurree pprrooggrraammmmiinngg 
JJaavvaa PPrrooggrraammmmiinngg –– TThheeoorryy 
CChhaapptteerr 22 EElleemmeennttaarryy PPrrooggrraammmmiinngg 
FFaaccuullttyy ooff PPhhyyssiiccaall aanndd BBaassiicc 
EEdduuccaattiioonn 
CCoommppuutteerr SScciieennccee 
BByy:: MMsscc.. KK aarrwwaann MM.. 
KKaarreeeemm 
22001144 -- 22001155 
1 
© University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
Motivations 
In the preceding chapter, you learned how to 
create, compile, and run a Java program. Starting 
from this chapter, you will learn how to solve 
practical problems programmatically. Through 
these problems, you will learn Java primitive data 
types and related subjects, such as variables, 
constants, data types, operators, expressions, and 
input and output. 
2 
© University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
Objectives 
 To write Java programs to perform simple calculations (§2.2). 
 To obtain input from the console using the Scanner class (§2.3). 
 To use identifiers to name variables, constants, methods, and classes (§2.4). 
 To use variables to store data (§§2.5-2.6). 
 To program with assignment statements and assignment expressions (§2.6). 
 To use constants to store permanent data (§2.7). 
 To declare Java primitive data types: byte, short, int, long, float, double, and char 
(§§2.8.1). 
 To use Java operators to write numeric expressions (§§2.8.2–2.8.3). 
 To display current time (§2.9). 
 To use short hand operators (§2.10). 
 To cast value of one type to another type (§2.11). 
 To compute loan payment (§2.12). 
 To represent characters using the char type (§2.13). 
 To compute monetary changes (§2.14). 
 To represent a string using the String type (§2.15). 
 To become familiar with Java documentation, programming style, and naming 
conventions (§2.16). 
 To distinguish syntax errors, runtime errors, and logic errors and debug errors (§2.17). 
 (GUI) To obtain input using the JOptionPane input dialog boxes (§2.18). 
3 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Introducing Programming with an 
Example 
Listing 2.1 Computing the Area of a 
Circle 
This program computes the area of the 
circle. 
4 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace a Program Execution 
public class ComputeArea { 
/** Main method */ 
public static void main(String[] args) { 
double radius; 
double area; 
// Assign a radius 
radius = 20; 
// Compute area 
area = radius * radius * 3.14159; 
// Display results 
System.out.println(The area for the circle of radius  + 
radius +  is  + area); 
} 
} 
allocate memory 
for radius 
radius no value 
5 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace a Program Execution 
public class ComputeArea { 
/** Main method */ 
public static void main(String[] args) { 
double radius; 
double area; 
// Assign a radius 
radius = 20; 
// Compute area 
area = radius * radius * 3.14159; 
// Display results 
System.out.println(The area for the circle of radius  + 
radius +  is  + area); 
} 
} 
memory 
radius no value 
area no value 
allocate memory 
for area 
6 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace a Program Execution 
public class ComputeArea { 
/** Main method */ 
public static void main(String[] args) { 
double radius; 
double area; 
// Assign a radius 
radius = 20; 
// Compute area 
area = radius * radius * 3.14159; 
// Display results 
System.out.println(The area for the circle of radius  + 
radius +  is  + area); 
} 
} 
assign 20 to radius 
radius 20 
area no value 
7 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace a Program Execution 
public class ComputeArea { 
/** Main method */ 
public static void main(String[] args) { 
double radius; 
double area; 
// Assign a radius 
radius = 20; 
// Compute area 
area = radius * radius * 3.14159; 
// Display results 
System.out.println(The area for the circle of radius  + 
radius +  is  + area); 
} 
} 
memory 
radius 20 
area 1256.636 
compute area and assign 
it to variable area 
8 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace a Program Execution 
public class ComputeArea { 
/** Main method */ 
public static void main(String[] args) { 
double radius; 
double area; 
// Assign a radius 
radius = 20; 
// Compute area 
area = radius * radius * 3.14159; 
// Display results 
System.out.println(The area for the circle of radius  + 
radius +  is  + area); 
} 
} 
memory 
radius 20 
area 1256.636 
print a message to the 
console 
9 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Reading Input from the Console 
1. Create a Scanner object 
Scanner input = new Scanner(System.in); 
2. Use the methods next(), nextByte(), nextShort(), 
nextInt(), nextLong(), nextFloat(), nextDouble(), or 
nextBoolean() to obtain to a string, byte, short, int, 
long, float, double, or boolean value. For 
Example: 
System.out.print(Enter a double value: ); 
Scanner input = new Scanner(System.in); 
double d = input.nextDouble(); 
10 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Identifiers 
 An identifier is a sequence of characters that consist of 
letters, digits, underscores (_), and dollar signs ($). 
 An identifier must start with a letter, an underscore (_), 
or a dollar sign ($). It cannot start with a digit. 
– An identifier cannot be a reserved word. 
 An identifier cannot be true, false, or 
null. 
 An identifier can be of any length. 
11 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Variables 
// Compute the first area 
radius = 1.0; 
area = radius * radius * 3.14159; 
System.out.println(The area is “ + 
area +  for radius +radius); 
// Compute the second area 
radius = 2.0; 
area = radius * radius * 3.14159; 
System.out.println(The area is “ + 
area +  for radius +radius); 
12 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Declaring Variables 
int x; // Declare x to be an 
// integer variable; 
double radius; // Declare radius to 
// be a double variable; 
char a; // Declare a to be a 
// character variable; 
13 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Assignment Statements 
x = 1; // Assign 1 to x; 
radius = 1.0; // Assign 1.0 to radius; 
a = 'A'; // Assign 'A' to a; 
14 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Declaring and Initializing 
in One Step 
 int x = 1; 
 double d = 1.4; 
15 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Constants 
final datatype CCOONNSSTTAANNTTNNAAMMEE == VVAALLUUEE;; 
final double PI = 3.14159; 
final int SIZE = 3; 
16 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Numerical Data Types 
Name Range Storage Size 
byte –27 (-128) to 27–1 (127) 8-bit signed 
short –215 (-32768) to 215–1 (32767) 16-bit signed 
int –231 (-2147483648) to 231–1 (2147483647) 32-bit signed 
long –263 to 263–1 64-bit signed 
(i.e., -9223372036854775808 
to 9223372036854775807) 
float Negative range: 32-bit IEEE 754 
-3.4028235E+38 to -1.4E-45 
Positive range: 
1.4E-45 to 3.4028235E+38 
double Negative range: 64-bit IEEE 754 
-1.7976931348623157E+308 to 
-4.9E-324 
Positive range: 
4.9E-324 to 1.7976931348623157E+308 
17 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Numeric Operators 
Name Meaning Example Result 
+ Addition 34 + 1 35 
- Subtraction 34.0 – 0.1 33.9 
* Multiplication 300 * 30 9000 
/ Division 1.0 / 2.0 0.5 
% Remainder 20 % 3 2 
18 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Integer Division 
+, -, *, /, and % 
5 / 2 yields an integer 2. 
5.0 / 2 yields a double value 2.5 
5 % 2 yields 1 (the remainder of the division) 
19 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
NOTE 
Calculations involving floating-point numbers are 
aapppprrooxxiimmaatteedd because these numbers are not stored 
with complete accuracy. For example, 
System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1); 
displays 0.5000000000000001, not 0.5, and 
System.out.println(1.0 - 0.9); 
displays 0.09999999999999998, not 0.1. Integers are 
stored pprreecciisseellyy. Therefore, calculations with integers 
yield a precise integer result. 
20 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Number Literals ( (قيمة الحرفية 
A literal is a constant value that appears directly 
in the program. For example, 34 1,000,000, 
and 5.0 are literals in the following statements: 
int i = 34; 
long x = 1000000; 
double d = 5.0; 
21 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Integer Literals 
An integer literal can be assigned to an integer variable as 
long as it can fit into the variable. A compilation error 
would occur if the literal were too large for the variable to 
hold. For example, the statement byte b = 1000 would 
cause a compilation error, because 1000 cannot be stored 
in a variable of the byte type. 
An integer literal is assumed to be of the int type, whose 
value is between -231 (-2147483648) to 231–1 (2147483647). 
To denote an integer literal of the long type, append it with 
the letter L or l. L is preferred because l (lowercase L) can 
easily be confused with 1 (the digit one). 
22 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Floating-Point Literals 
Floating-point literals are written with a decimal 
point. By default, a floating-point literal is treated 
as a double type value. For example, 5.0 is 
considered a double value, not a float value. You 
can make a number a float by appending the letter f 
or F, and make a number a double by appending 
the letter d or D. For example, you can use 100.2f 
or 100.2F for a float number, and 100.2d or 100.2D 
for a double number. 
23 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Arithmetic Expressions 
+ x - y - a + b + c + + + 
10( 5)( ) 9( 4 9 ) 
3 4 
5 
y 
x 
x x 
is translated to 
(3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y) 
24 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
How to Evaluate an Expression 
Though Java has its own way to evaluate an 
expression behind the scene, the result of a Java 
expression and its corresponding arithmetic expression 
are the same. Therefore, you can safely apply the 
arithmetic rule for evaluating a Java expression. 
3 + 4 * 4 + 5 * (4 + 3) - 1 
3 + 4 * 4 + 5 * 7 – 1 
3 + 16 + 5 * 7 – 1 
3 + 16 + 35 – 1 
19 + 35 – 1 
54 - 1 
53 
(1) inside parentheses first 
(2) multiplication 
(3) multiplication 
(4) addition 
(5) addition 
(6) subtraction 
25 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Problem: Converting Temperatures 
Write a program that converts a Fahrenheit degree 
to Celsius using the formula (Use Scanner Class). 
celsius = 5 fahrenheit - 
( )( 32) 9 
Note: Look Practical part 
26 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Shortcut Assignment Operators 
Operator Example Equivalent 
+= i += 8 i = i + 8 
-= f -= 8.0 f = f - 8.0 
*= i *= 8 i = i * 8 
/= i /= 8 i = i / 8 
%= i %= 8 i = i % 8 
27 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Increment and 
Decrement Operators 
Operator Name Description 
++var preincrement The expression (++var) increments var by 1 and evaluates 
to the new value in var after the increment. 
var++ postincrement The expression (var++) evaluates to the original value 
in var and increments var by 1. 
--var predecrement The expression (--var) decrements var by 1 and evaluates 
to the new value in var after the decrement. 
var-- postdecrement The expression (var--) evaluates to the original value 
in var and decrements var by 1. 
28 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Increment and 
Decrement Operators, cont. 
int i = 10; 
int newNum = 10 * i++; int newNum = 10 * i; 
i = i + 1; 
Same effect as 
int i = 10; 
int newNum = 10 * (++i); i = i + 1; 
int newNum = 10 * i; 
Same effect as 
29 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Increment and 
Decrement Operators, cont. 
Using increment and decrement operators makes 
expressions short, but it also makes them complex and 
difficult to read. Avoid using these operators in expressions 
that modify multiple variables, or the same variable for 
multiple times such as this: int k = ++i + i. 
30 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Assignment Expressions and 
Assignment Statements 
Prior to Java 2, all the expressions can be used as 
statements. Since Java 2, only the following types of 
expressions can be statements: 
variable op= expression; // Where op is +, -, *, /, or % 
++variable; 
variable++; 
--variable; 
variable--; 
31 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Numeric Type Conversion 
Consider the following statements: 
byte i = 100; 
long k = i * 3 + 4; 
double d = i * 3.1 + k / 2; 
32 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Conversion Rules 
When performing a binary operation involving two 
operands of different types, Java automatically 
converts the operand based on the following rules: 
1. If one of the operands is double, the other is 
converted into double. 
2. Otherwise, if one of the operands is float, the other is 
converted into float. 
3. Otherwise, if one of the operands is long, the other is 
converted into long. 
4. Otherwise, both operands are converted into int. 
33 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Type Casting 
Implicit casting 
double d = 3; (type widening) 
Explicit casting 
int i = (int)3.0; (type narrowing) 
int i = (int)3.9; (Fraction part is 
truncated) 
What is wrong? int x = 5 / 2.0; 
range increases 
byte, short, int, long, float, double 
34 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Character Data Type 
Four hexadecimal digits. 
char letter = 'A'; (ASCII) 
char numChar = '4'; (ASCII) 
char letter = 'u0041'; (Unicode) 
char numChar = 'u0034'; (Unicode) 
NOTE: The increment and decrement operators can also be used 
on char variables to get the next or preceding Unicode character. 
For example, the following statements display character b. 
char ch = 'a'; 
System.out.println(++ch); 
35 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Unicode Format 
Java characters use Unicode, a 16-bit encoding scheme 
established by the Unicode Consortium to support the 
interchange, processing, and display of written texts in the 
world’s diverse languages. Unicode takes two bytes, 
preceded by u, expressed in four hexadecimal numbers 
that run from 'u0000' to 'uFFFF'. So, Unicode can 
represent 65535 + 1 characters. 
Unicode u03b1 u03b2 u03b3 for three Greek 
letters 
36 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Escape Sequences for Special Characters 
Description Escape Sequence Unicode 
Backspace b u0008 
Tab t u0009 
Linefeed n u000A 
Carriage return r u000D 
Backslash  u005C 
Single Quote ' u0027 
Double Quote  u0022 
37 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Appendix B: ASCII Character Set 
ASCII Character Set is a subset of the Unicode from u0000 to u007f 
38 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
ASCII Character Set, cont. 
ASCII Character Set is a subset of the Unicode from u0000 to u007f 
39 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Casting between char and 
Numeric Types 
int i = 'a'; // Same as int i = (int)'a'; 
char c = 97; // Same as char c = (char)97; 
40 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Problem: Monetary Units 
This program lets the user enter the amount in 
decimal representing dollars and cents and output 
a report listing the monetary equivalent in single 
dollars, quarters, dimes, nickels, and pennies. 
Your program should report maximum number of 
dollars, then the maximum number of quarters, 
and so on, in this order. 
41 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace ComputeChange 
int remainingAmount = (int)(amount * 100); 
// Find the number of one dollars 
int numberOfOneDollars = remainingAmount / 100; 
remainingAmount = remainingAmount % 100; 
// Find the number of quarters in the remaining amount 
int numberOfQuarters = remainingAmount / 25; 
remainingAmount = remainingAmount % 25; 
// Find the number of dimes in the remaining amount 
int numberOfDimes = remainingAmount / 10; 
remainingAmount = remainingAmount % 10; 
// Find the number of nickels in the remaining amount 
int numberOfNickels = remainingAmount / 5; 
remainingAmount = remainingAmount % 5; 
// Find the number of pennies in the remaining amount 
int numberOfPennies = remainingAmount; 
remainingAmount 1156 
remainingAmount 
initialized 
Suppose amount is 11.56 
42 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace ComputeChange 
int remainingAmount = (int)(amount * 100); 
// Find the number of one dollars 
int numberOfOneDollars = remainingAmount / 100; 
remainingAmount = remainingAmount % 100; 
// Find the number of quarters in the remaining amount 
int numberOfQuarters = remainingAmount / 25; 
remainingAmount = remainingAmount % 25; 
// Find the number of dimes in the remaining amount 
int numberOfDimes = remainingAmount / 10; 
remainingAmount = remainingAmount % 10; 
// Find the number of nickels in the remaining amount 
int numberOfNickels = remainingAmount / 5; 
remainingAmount = remainingAmount % 5; 
// Find the number of pennies in the remaining amount 
int numberOfPennies = remainingAmount; 
remainingAmount 1156 
Suppose amount is 11.56 
numberOfOneDollars 11 
numberOfOneDollars 
assigned 
43 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace ComputeChange 
int remainingAmount = (int)(amount * 100); 
// Find the number of one dollars 
int numberOfOneDollars = remainingAmount / 100; 
remainingAmount = remainingAmount % 100; 
// Find the number of quarters in the remaining amount 
int numberOfQuarters = remainingAmount / 25; 
remainingAmount = remainingAmount % 25; 
// Find the number of dimes in the remaining amount 
int numberOfDimes = remainingAmount / 10; 
remainingAmount = remainingAmount % 10; 
// Find the number of nickels in the remaining amount 
int numberOfNickels = remainingAmount / 5; 
remainingAmount = remainingAmount % 5; 
// Find the number of pennies in the remaining amount 
int numberOfPennies = remainingAmount; 
remainingAmount 56 
Suppose amount is 11.56 
numberOfOneDollars 11 
remainingAmount 
updated 
44 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace ComputeChange 
int remainingAmount = (int)(amount * 100); 
// Find the number of one dollars 
int numberOfOneDollars = remainingAmount / 100; 
remainingAmount = remainingAmount % 100; 
// Find the number of quarters in the remaining amount 
int numberOfQuarters = remainingAmount / 25; 
remainingAmount = remainingAmount % 25; 
// Find the number of dimes in the remaining amount 
int numberOfDimes = remainingAmount / 10; 
remainingAmount = remainingAmount % 10; 
// Find the number of nickels in the remaining amount 
int numberOfNickels = remainingAmount / 5; 
remainingAmount = remainingAmount % 5; 
// Find the number of pennies in the remaining amount 
int numberOfPennies = remainingAmount; 
remainingAmount 56 
Suppose amount is 11.56 
numberOfOneDollars 11 
numberOfOneQuarters 2 
numberOfOneQuarters 
assigned 
45 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Trace ComputeChange 
int remainingAmount = (int)(amount * 100); 
// Find the number of one dollars 
int numberOfOneDollars = remainingAmount / 100; 
remainingAmount = remainingAmount % 100; 
// Find the number of quarters in the remaining amount 
int numberOfQuarters = remainingAmount / 25; 
remainingAmount = remainingAmount % 25; 
// Find the number of dimes in the remaining amount 
int numberOfDimes = remainingAmount / 10; 
remainingAmount = remainingAmount % 10; 
// Find the number of nickels in the remaining amount 
int numberOfNickels = remainingAmount / 5; 
remainingAmount = remainingAmount % 5; 
// Find the number of pennies in the remaining amount 
int numberOfPennies = remainingAmount; 
remainingAmount 6 
Suppose amount is 11.56 
numberOfOneDollars 11 
numberOfQuarters 2 
remainingAmount 
updated 
46 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
The String Type 
The char type only represents one character. To represent a string 
of characters, use the data type called String. For example, 
String message = Welcome to Java; 
String is actually a predefined class in the Java library just like the 
System class and JOptionPane class. The String type is not a 
primitive type. It is known as a reference type. Any Java class can 
be used as a reference type for a variable. 
Note: For the time being, you just need to know how to declare a 
String variable, how to assign a string to the variable, and how to 
concatenate strings. 
47 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
String Concatenation 
// Three strings are concatenated 
String message = Welcome  + to  + Java; 
// String Chapter is concatenated with number 2 
String s = Chapter + 2; // s becomes Chapter2 
// String Supplement is concatenated with character B 
String s1 = Supplement + 'B'; // s1 becomes SupplementB 
48 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programming Style and 
Documentation 
 Appropriate Comments 
 Naming Conventions 
 Proper Indentation and Spacing 
Lines 
 Block Styles 
49 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Appropriate Comments 
Include a summary at the beginning of the 
program to explain what the program does, its key 
features, its supporting data structures, and any 
unique techniques it uses. 
Include your name, ccllaassss sseeccttiioonn,, iinnssttrruuccttoorr,, ddaattee,, 
aanndd aa bbrriieeff ddeessccrriippttiioonn aatt tthhee bbeeggiinnnniinngg ooff tthhee 
pprrooggrraamm.. 
50 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Naming Conventions, cont. 
 Class names: 
– Capitalize the first letter of each word in 
the name. For example, the class name 
ComputeArea. 
 Constants: 
– Capitalize all letters in constants, and use 
underscores to connect words. For 
example, the constant PI and 
MAX_VALUE 
51 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Proper Indentation and Spacing 
Indentation 
– Indent two spaces. 
Spacing 
– Use blank line to separate segments of the code. 
52 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Block Styles 
Use end-of-line style for braces. 
public class Test 
{ 
public static void main(String[] args) 
{ 
System.out.println(Block Styles); 
} 
} 
public class Test { 
public static void main(String[] args) { 
System.out.println(Block Styles); 
} 
} 
End-of-line 
style 
Next-line 
style 
53 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Programming Errors 
Syntax Errors 
– Detected by the compiler 
Runtime Errors 
– Causes the program to abort 
Logic Errors 
– Produces incorrect result 
54 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Syntax Errors 
public class ShowSyntaxErrors { 
public static void main(String[] args) { 
i = 30; 
System.out.println(i + 4); 
} 
} 
55 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Runtime Errors 
public class ShowRuntimeErrors { 
public static void main(String[] args) { 
int i = 1 / 0; 
} 
} 
56 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Logic Errors 
public class ShowLogicErrors { 
//// DDeetteerrmmiinnee iiff aa nnuummbbeerr iiss bbeettwweeeenn 11 aanndd 110000 iinncclluussiivveellyy 
public static void main(String[] args) { 
// Prompt the user to enter a number 
String input = JOptionPane.showInputDialog(null, 
Please enter an integer:, 
ShowLogicErrors, JOptionPane.QUESTION_MESSAGE); 
int number = Integer.parseInt(input); 
// Display the result 
System.out.println(The number is between 1 and 100,  + 
inclusively?  + ((11  nnuummbbeerr)  (number  100))); 
System.exit(0); 
} 
} 
57 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Debugging 
Logic errors are called bugs. TThhee pprroocceessss ooff ffiinnddiinngg aanndd 
ccoorrrreeccttiinngg eerrrroorrss iiss ccaalllleedd ddeebbuuggggiinngg.. A common approach 
to debugging is to use a combination of methods to narrow 
down to the part of the program where the bug is located. 
You can hand-trace the program (i.e., catch errors by 
reading the program), or you can insert print statements in 
order to show the values of the variables or the execution 
flow of the program. This approach might work for a short, 
simple program. But for a large, complex program, the 
most effective approach for debugging is to use a ddeebbuuggggeerr 
uuttiilliittyy.. 
58 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Debugger 
Debugger is a program that facilitates debugging. 
You can use a debugger to 
Execute a single statement at a time. 
Trace into or stepping over a method. 
Set breakpoints. 
Display variables. 
Display call stack. 
Modify variables. 
59 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
JOptionPane Input 
This slide provides two ways of obtaining input. 
1. Using the Scanner class (console input) 
2. Using JOptionPane input dialogs 
60 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Getting Input from Input Dialog Boxes 
String input = JOptionPane.showInputDialog( 
Enter an input); 
61 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Getting Input from Input Dialog Boxes 
String string = JOptionPane.showInputDialog( 
null, “Prompting Message”, “Dialog Title”, 
JOptionPane.QUESTION_MESSAGE); 
62 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Two Ways to Invoke the Method 
There are several ways to use the showInputDialog method. For 
the time being, you only need to know two ways to invoke it. 
One is to use a statement as shown in the example: 
String string = JOptionPane.showInputDialog(null, x, 
y, JOptionPane.QUESTION_MESSAGE); 
where x is a string for the prompting message, and y is a string for 
the title of the input dialog box. 
The other is to use a statement like this: 
JOptionPane.showInputDialog(x); 
where x is a string for the prompting message. 
63 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Converting Strings to Integers 
The input returned from the input dialog box is a string. If 
you enter a numeric value such as 123, it returns “123”. 
To obtain the input as a number, you have to convert a 
string into a number. 
To convert a string into an int value, you can use the 
static parseInt method in the Integer class as follows: 
int intValue = Integer.parseInt(intString); 
where intString is a numeric string such as “123”. 
64 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015
Converting Strings to Doubles 
To convert a string into a double value, you can use the 
static parseDouble method in the Double class as follows: 
double doubleValue =Double.parseDouble(doubleString); 
where doubleString is a numeric string such as “123.45”. 
65 
© University of Sulaimani, Faculty of Physical  Basic Education, Department of Computer Science 2014 / 2015

Weitere ähnliche Inhalte

Was ist angesagt?

Cursor implementation
Cursor implementationCursor implementation
Cursor implementation
vicky201
 

Was ist angesagt? (20)

Python libraries
Python librariesPython libraries
Python libraries
 
Basic Concepts in Python
Basic Concepts in PythonBasic Concepts in Python
Basic Concepts in Python
 
Numpy
NumpyNumpy
Numpy
 
Arrays in python
Arrays in pythonArrays in python
Arrays in python
 
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
 
06 neurolab python
06 neurolab python06 neurolab python
06 neurolab python
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
 
Essential NumPy
Essential NumPyEssential NumPy
Essential NumPy
 
Compiler Design Unit 5
Compiler Design Unit 5Compiler Design Unit 5
Compiler Design Unit 5
 
What is Multithreading In Python | Python Multithreading Tutorial | Edureka
What is Multithreading In Python | Python Multithreading Tutorial | EdurekaWhat is Multithreading In Python | Python Multithreading Tutorial | Edureka
What is Multithreading In Python | Python Multithreading Tutorial | Edureka
 
Modules and packages in python
Modules and packages in pythonModules and packages in python
Modules and packages in python
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 
Python
PythonPython
Python
 
C# Arrays
C# ArraysC# Arrays
C# Arrays
 
Cursor implementation
Cursor implementationCursor implementation
Cursor implementation
 
Recursion - Algorithms and Data Structures
Recursion - Algorithms and Data StructuresRecursion - Algorithms and Data Structures
Recursion - Algorithms and Data Structures
 
Python: the Project, the Language and the Style
Python: the Project, the Language and the StylePython: the Project, the Language and the Style
Python: the Project, the Language and the Style
 
Pandas Series
Pandas SeriesPandas Series
Pandas Series
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPT
 
Heap Sort in Design and Analysis of algorithms
Heap Sort in Design and Analysis of algorithmsHeap Sort in Design and Analysis of algorithms
Heap Sort in Design and Analysis of algorithms
 

Andere mochten auch

Power Point Lesson 09 Part 2
Power Point Lesson 09 Part 2Power Point Lesson 09 Part 2
Power Point Lesson 09 Part 2
Nasir Jumani
 
Power Point Lesson 07 P1
Power Point  Lesson 07  P1Power Point  Lesson 07  P1
Power Point Lesson 07 P1
Nasir Jumani
 
Power Point Lesson 08 P2
Power Point Lesson 08 P2Power Point Lesson 08 P2
Power Point Lesson 08 P2
Nasir Jumani
 

Andere mochten auch (20)

History of Computer
History of ComputerHistory of Computer
History of Computer
 
Power Point Lesson 09 Part 2
Power Point Lesson 09 Part 2Power Point Lesson 09 Part 2
Power Point Lesson 09 Part 2
 
A4. What about other religions?
A4. What about other religions?A4. What about other religions?
A4. What about other religions?
 
Digging into the Deep Web
Digging into the Deep WebDigging into the Deep Web
Digging into the Deep Web
 
Power Point Lesson 07 P1
Power Point  Lesson 07  P1Power Point  Lesson 07  P1
Power Point Lesson 07 P1
 
How the Internet works...and why
How the Internet works...and whyHow the Internet works...and why
How the Internet works...and why
 
Setting standards-friendly web type
Setting standards-friendly web typeSetting standards-friendly web type
Setting standards-friendly web type
 
Asia Pacific Internet Leadership Program
Asia Pacific Internet Leadership ProgramAsia Pacific Internet Leadership Program
Asia Pacific Internet Leadership Program
 
Chapter2 computer
Chapter2 computerChapter2 computer
Chapter2 computer
 
W 10 introduction to network
W 10 introduction to networkW 10 introduction to network
W 10 introduction to network
 
World Geography: Sample PowerPoint
World Geography: Sample PowerPointWorld Geography: Sample PowerPoint
World Geography: Sample PowerPoint
 
Akram Atallah Presentation from Middle East DNS Forum
Akram Atallah Presentation from Middle East DNS ForumAkram Atallah Presentation from Middle East DNS Forum
Akram Atallah Presentation from Middle East DNS Forum
 
Internet an how it works
Internet an how it worksInternet an how it works
Internet an how it works
 
Infobrokering And Searching The Deep Web
Infobrokering And Searching The Deep WebInfobrokering And Searching The Deep Web
Infobrokering And Searching The Deep Web
 
Introduction to network ( Internet and its layer) Or how internet really works!
Introduction to network ( Internet and its layer) Or how internet really works!Introduction to network ( Internet and its layer) Or how internet really works!
Introduction to network ( Internet and its layer) Or how internet really works!
 
A brief history of home computer technology
A brief history of home computer technologyA brief history of home computer technology
A brief history of home computer technology
 
E-COMMERCE: The Dark Web
E-COMMERCE: The Dark Web E-COMMERCE: The Dark Web
E-COMMERCE: The Dark Web
 
Power Point Lesson 08 P2
Power Point Lesson 08 P2Power Point Lesson 08 P2
Power Point Lesson 08 P2
 
Internet servers
Internet serversInternet servers
Internet servers
 
Brief History of the PC
Brief History of the PCBrief History of the PC
Brief History of the PC
 

Ähnlich wie Java programming: Elementary programming

Introduction to Java Programming Language
Introduction to Java Programming Language Introduction to Java Programming Language
Introduction to Java Programming Language
Karwan Mustafa Kareem
 
Online_Examination
Online_ExaminationOnline_Examination
Online_Examination
Rupam Dey
 
Scheme g third semester (co,cm,cd,if, cw)
Scheme   g third semester (co,cm,cd,if, cw)Scheme   g third semester (co,cm,cd,if, cw)
Scheme g third semester (co,cm,cd,if, cw)
anita bodke
 
Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17
VishalButkar2
 

Ähnlich wie Java programming: Elementary programming (20)

Java programming: Elementary practice
Java programming: Elementary practiceJava programming: Elementary practice
Java programming: Elementary practice
 
Java™ (OOP) - Chapter 2: "Elementary Programming"
Java™ (OOP) - Chapter 2: "Elementary Programming"Java™ (OOP) - Chapter 2: "Elementary Programming"
Java™ (OOP) - Chapter 2: "Elementary Programming"
 
Primitive Data Types and Operations
Primitive Data Types and OperationsPrimitive Data Types and Operations
Primitive Data Types and Operations
 
CSE215_Module_02_Elementary_Programming.ppt
CSE215_Module_02_Elementary_Programming.pptCSE215_Module_02_Elementary_Programming.ppt
CSE215_Module_02_Elementary_Programming.ppt
 
BIT211_2.pdf
BIT211_2.pdfBIT211_2.pdf
BIT211_2.pdf
 
Introduction to Java Programming Language
Introduction to Java Programming Language Introduction to Java Programming Language
Introduction to Java Programming Language
 
02slidLarge value of face area Large value of face area
02slidLarge value of face area Large value of face area02slidLarge value of face area Large value of face area
02slidLarge value of face area Large value of face area
 
IRJET- College Campus Event Management System
IRJET- College Campus Event Management SystemIRJET- College Campus Event Management System
IRJET- College Campus Event Management System
 
Unit3 overview of_c_programming
Unit3 overview of_c_programmingUnit3 overview of_c_programming
Unit3 overview of_c_programming
 
IRJET - Virtual Lab: Keep Away Physically but Not Technically
IRJET - Virtual Lab: Keep Away Physically but Not TechnicallyIRJET - Virtual Lab: Keep Away Physically but Not Technically
IRJET - Virtual Lab: Keep Away Physically but Not Technically
 
Online_Examination
Online_ExaminationOnline_Examination
Online_Examination
 
IRJET- Course outcome Attainment Estimation System
IRJET-  	  Course outcome Attainment Estimation SystemIRJET-  	  Course outcome Attainment Estimation System
IRJET- Course outcome Attainment Estimation System
 
IRJET- Automation Software for Student Monitoring System
IRJET-  	  Automation Software for Student Monitoring SystemIRJET-  	  Automation Software for Student Monitoring System
IRJET- Automation Software for Student Monitoring System
 
Scheme g third semester (co,cm,cd,if, cw)
Scheme   g third semester (co,cm,cd,if, cw)Scheme   g third semester (co,cm,cd,if, cw)
Scheme g third semester (co,cm,cd,if, cw)
 
Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17Te computer syllabus 2015 course 3-4-17 3-5-17
Te computer syllabus 2015 course 3-4-17 3-5-17
 
Ada lab manual
Ada lab manualAda lab manual
Ada lab manual
 
IRJET- Rainfall Prediction by using Time-Series Data in Analysis of Artif...
IRJET-  	  Rainfall Prediction by using Time-Series Data in Analysis of Artif...IRJET-  	  Rainfall Prediction by using Time-Series Data in Analysis of Artif...
IRJET- Rainfall Prediction by using Time-Series Data in Analysis of Artif...
 
2. data types, variables and operators
2. data types, variables and operators2. data types, variables and operators
2. data types, variables and operators
 
1. basics of python
1. basics of python1. basics of python
1. basics of python
 
IRJET- Monument Informatica Application using AR
IRJET-  	  Monument Informatica Application using ARIRJET-  	  Monument Informatica Application using AR
IRJET- Monument Informatica Application using AR
 

Mehr von Karwan Mustafa Kareem

Java Programming: Loops
Java Programming: LoopsJava Programming: Loops
Java Programming: Loops
Karwan Mustafa Kareem
 
Java Programmin: Selections
Java Programmin: SelectionsJava Programmin: Selections
Java Programmin: Selections
Karwan Mustafa Kareem
 
MySQL Database with phpMyAdmin
MySQL Database with  phpMyAdminMySQL Database with  phpMyAdmin
MySQL Database with phpMyAdmin
Karwan Mustafa Kareem
 
Database Application with MySQL
Database Application with MySQL   Database Application with MySQL
Database Application with MySQL
Karwan Mustafa Kareem
 

Mehr von Karwan Mustafa Kareem (6)

Computer and network security
Computer and network securityComputer and network security
Computer and network security
 
Java Programming: Loops
Java Programming: LoopsJava Programming: Loops
Java Programming: Loops
 
Java Programmin: Selections
Java Programmin: SelectionsJava Programmin: Selections
Java Programmin: Selections
 
Cryptography
Cryptography Cryptography
Cryptography
 
MySQL Database with phpMyAdmin
MySQL Database with  phpMyAdminMySQL Database with  phpMyAdmin
MySQL Database with phpMyAdmin
 
Database Application with MySQL
Database Application with MySQL   Database Application with MySQL
Database Application with MySQL
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Java programming: Elementary programming

  • 1. SSttrruuccttuurree pprrooggrraammmmiinngg JJaavvaa PPrrooggrraammmmiinngg –– TThheeoorryy CChhaapptteerr 22 EElleemmeennttaarryy PPrrooggrraammmmiinngg FFaaccuullttyy ooff PPhhyyssiiccaall aanndd BBaassiicc EEdduuccaattiioonn CCoommppuutteerr SScciieennccee BByy:: MMsscc.. KK aarrwwaann MM.. KKaarreeeemm 22001144 -- 22001155 1 © University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
  • 2. Motivations In the preceding chapter, you learned how to create, compile, and run a Java program. Starting from this chapter, you will learn how to solve practical problems programmatically. Through these problems, you will learn Java primitive data types and related subjects, such as variables, constants, data types, operators, expressions, and input and output. 2 © University of Sulaimani, Faculty of Physical & Basic Education, Department of Computer Science 2014 / 2015
  • 3. Objectives To write Java programs to perform simple calculations (§2.2). To obtain input from the console using the Scanner class (§2.3). To use identifiers to name variables, constants, methods, and classes (§2.4). To use variables to store data (§§2.5-2.6). To program with assignment statements and assignment expressions (§2.6). To use constants to store permanent data (§2.7). To declare Java primitive data types: byte, short, int, long, float, double, and char (§§2.8.1). To use Java operators to write numeric expressions (§§2.8.2–2.8.3). To display current time (§2.9). To use short hand operators (§2.10). To cast value of one type to another type (§2.11). To compute loan payment (§2.12). To represent characters using the char type (§2.13). To compute monetary changes (§2.14). To represent a string using the String type (§2.15). To become familiar with Java documentation, programming style, and naming conventions (§2.16). To distinguish syntax errors, runtime errors, and logic errors and debug errors (§2.17). (GUI) To obtain input using the JOptionPane input dialog boxes (§2.18). 3 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 4. Introducing Programming with an Example Listing 2.1 Computing the Area of a Circle This program computes the area of the circle. 4 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 5. Trace a Program Execution public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println(The area for the circle of radius + radius + is + area); } } allocate memory for radius radius no value 5 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 6. Trace a Program Execution public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println(The area for the circle of radius + radius + is + area); } } memory radius no value area no value allocate memory for area 6 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 7. Trace a Program Execution public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println(The area for the circle of radius + radius + is + area); } } assign 20 to radius radius 20 area no value 7 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 8. Trace a Program Execution public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println(The area for the circle of radius + radius + is + area); } } memory radius 20 area 1256.636 compute area and assign it to variable area 8 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 9. Trace a Program Execution public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println(The area for the circle of radius + radius + is + area); } } memory radius 20 area 1256.636 print a message to the console 9 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 10. Reading Input from the Console 1. Create a Scanner object Scanner input = new Scanner(System.in); 2. Use the methods next(), nextByte(), nextShort(), nextInt(), nextLong(), nextFloat(), nextDouble(), or nextBoolean() to obtain to a string, byte, short, int, long, float, double, or boolean value. For Example: System.out.print(Enter a double value: ); Scanner input = new Scanner(System.in); double d = input.nextDouble(); 10 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 11. Identifiers An identifier is a sequence of characters that consist of letters, digits, underscores (_), and dollar signs ($). An identifier must start with a letter, an underscore (_), or a dollar sign ($). It cannot start with a digit. – An identifier cannot be a reserved word. An identifier cannot be true, false, or null. An identifier can be of any length. 11 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 12. Variables // Compute the first area radius = 1.0; area = radius * radius * 3.14159; System.out.println(The area is “ + area + for radius +radius); // Compute the second area radius = 2.0; area = radius * radius * 3.14159; System.out.println(The area is “ + area + for radius +radius); 12 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 13. Declaring Variables int x; // Declare x to be an // integer variable; double radius; // Declare radius to // be a double variable; char a; // Declare a to be a // character variable; 13 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 14. Assignment Statements x = 1; // Assign 1 to x; radius = 1.0; // Assign 1.0 to radius; a = 'A'; // Assign 'A' to a; 14 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 15. Declaring and Initializing in One Step int x = 1; double d = 1.4; 15 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 16. Constants final datatype CCOONNSSTTAANNTTNNAAMMEE == VVAALLUUEE;; final double PI = 3.14159; final int SIZE = 3; 16 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 17. Numerical Data Types Name Range Storage Size byte –27 (-128) to 27–1 (127) 8-bit signed short –215 (-32768) to 215–1 (32767) 16-bit signed int –231 (-2147483648) to 231–1 (2147483647) 32-bit signed long –263 to 263–1 64-bit signed (i.e., -9223372036854775808 to 9223372036854775807) float Negative range: 32-bit IEEE 754 -3.4028235E+38 to -1.4E-45 Positive range: 1.4E-45 to 3.4028235E+38 double Negative range: 64-bit IEEE 754 -1.7976931348623157E+308 to -4.9E-324 Positive range: 4.9E-324 to 1.7976931348623157E+308 17 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 18. Numeric Operators Name Meaning Example Result + Addition 34 + 1 35 - Subtraction 34.0 – 0.1 33.9 * Multiplication 300 * 30 9000 / Division 1.0 / 2.0 0.5 % Remainder 20 % 3 2 18 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 19. Integer Division +, -, *, /, and % 5 / 2 yields an integer 2. 5.0 / 2 yields a double value 2.5 5 % 2 yields 1 (the remainder of the division) 19 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 20. NOTE Calculations involving floating-point numbers are aapppprrooxxiimmaatteedd because these numbers are not stored with complete accuracy. For example, System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1); displays 0.5000000000000001, not 0.5, and System.out.println(1.0 - 0.9); displays 0.09999999999999998, not 0.1. Integers are stored pprreecciisseellyy. Therefore, calculations with integers yield a precise integer result. 20 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 21. Number Literals ( (قيمة الحرفية A literal is a constant value that appears directly in the program. For example, 34 1,000,000, and 5.0 are literals in the following statements: int i = 34; long x = 1000000; double d = 5.0; 21 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 22. Integer Literals An integer literal can be assigned to an integer variable as long as it can fit into the variable. A compilation error would occur if the literal were too large for the variable to hold. For example, the statement byte b = 1000 would cause a compilation error, because 1000 cannot be stored in a variable of the byte type. An integer literal is assumed to be of the int type, whose value is between -231 (-2147483648) to 231–1 (2147483647). To denote an integer literal of the long type, append it with the letter L or l. L is preferred because l (lowercase L) can easily be confused with 1 (the digit one). 22 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 23. Floating-Point Literals Floating-point literals are written with a decimal point. By default, a floating-point literal is treated as a double type value. For example, 5.0 is considered a double value, not a float value. You can make a number a float by appending the letter f or F, and make a number a double by appending the letter d or D. For example, you can use 100.2f or 100.2F for a float number, and 100.2d or 100.2D for a double number. 23 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 24. Arithmetic Expressions + x - y - a + b + c + + + 10( 5)( ) 9( 4 9 ) 3 4 5 y x x x is translated to (3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y) 24 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 25. How to Evaluate an Expression Though Java has its own way to evaluate an expression behind the scene, the result of a Java expression and its corresponding arithmetic expression are the same. Therefore, you can safely apply the arithmetic rule for evaluating a Java expression. 3 + 4 * 4 + 5 * (4 + 3) - 1 3 + 4 * 4 + 5 * 7 – 1 3 + 16 + 5 * 7 – 1 3 + 16 + 35 – 1 19 + 35 – 1 54 - 1 53 (1) inside parentheses first (2) multiplication (3) multiplication (4) addition (5) addition (6) subtraction 25 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 26. Problem: Converting Temperatures Write a program that converts a Fahrenheit degree to Celsius using the formula (Use Scanner Class). celsius = 5 fahrenheit - ( )( 32) 9 Note: Look Practical part 26 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 27. Shortcut Assignment Operators Operator Example Equivalent += i += 8 i = i + 8 -= f -= 8.0 f = f - 8.0 *= i *= 8 i = i * 8 /= i /= 8 i = i / 8 %= i %= 8 i = i % 8 27 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 28. Increment and Decrement Operators Operator Name Description ++var preincrement The expression (++var) increments var by 1 and evaluates to the new value in var after the increment. var++ postincrement The expression (var++) evaluates to the original value in var and increments var by 1. --var predecrement The expression (--var) decrements var by 1 and evaluates to the new value in var after the decrement. var-- postdecrement The expression (var--) evaluates to the original value in var and decrements var by 1. 28 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 29. Increment and Decrement Operators, cont. int i = 10; int newNum = 10 * i++; int newNum = 10 * i; i = i + 1; Same effect as int i = 10; int newNum = 10 * (++i); i = i + 1; int newNum = 10 * i; Same effect as 29 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 30. Increment and Decrement Operators, cont. Using increment and decrement operators makes expressions short, but it also makes them complex and difficult to read. Avoid using these operators in expressions that modify multiple variables, or the same variable for multiple times such as this: int k = ++i + i. 30 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 31. Assignment Expressions and Assignment Statements Prior to Java 2, all the expressions can be used as statements. Since Java 2, only the following types of expressions can be statements: variable op= expression; // Where op is +, -, *, /, or % ++variable; variable++; --variable; variable--; 31 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 32. Numeric Type Conversion Consider the following statements: byte i = 100; long k = i * 3 + 4; double d = i * 3.1 + k / 2; 32 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 33. Conversion Rules When performing a binary operation involving two operands of different types, Java automatically converts the operand based on the following rules: 1. If one of the operands is double, the other is converted into double. 2. Otherwise, if one of the operands is float, the other is converted into float. 3. Otherwise, if one of the operands is long, the other is converted into long. 4. Otherwise, both operands are converted into int. 33 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 34. Type Casting Implicit casting double d = 3; (type widening) Explicit casting int i = (int)3.0; (type narrowing) int i = (int)3.9; (Fraction part is truncated) What is wrong? int x = 5 / 2.0; range increases byte, short, int, long, float, double 34 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 35. Character Data Type Four hexadecimal digits. char letter = 'A'; (ASCII) char numChar = '4'; (ASCII) char letter = 'u0041'; (Unicode) char numChar = 'u0034'; (Unicode) NOTE: The increment and decrement operators can also be used on char variables to get the next or preceding Unicode character. For example, the following statements display character b. char ch = 'a'; System.out.println(++ch); 35 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 36. Unicode Format Java characters use Unicode, a 16-bit encoding scheme established by the Unicode Consortium to support the interchange, processing, and display of written texts in the world’s diverse languages. Unicode takes two bytes, preceded by u, expressed in four hexadecimal numbers that run from 'u0000' to 'uFFFF'. So, Unicode can represent 65535 + 1 characters. Unicode u03b1 u03b2 u03b3 for three Greek letters 36 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 37. Escape Sequences for Special Characters Description Escape Sequence Unicode Backspace b u0008 Tab t u0009 Linefeed n u000A Carriage return r u000D Backslash u005C Single Quote ' u0027 Double Quote u0022 37 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 38. Appendix B: ASCII Character Set ASCII Character Set is a subset of the Unicode from u0000 to u007f 38 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 39. ASCII Character Set, cont. ASCII Character Set is a subset of the Unicode from u0000 to u007f 39 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 40. Casting between char and Numeric Types int i = 'a'; // Same as int i = (int)'a'; char c = 97; // Same as char c = (char)97; 40 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 41. Problem: Monetary Units This program lets the user enter the amount in decimal representing dollars and cents and output a report listing the monetary equivalent in single dollars, quarters, dimes, nickels, and pennies. Your program should report maximum number of dollars, then the maximum number of quarters, and so on, in this order. 41 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 42. Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; remainingAmount 1156 remainingAmount initialized Suppose amount is 11.56 42 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 43. Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; remainingAmount 1156 Suppose amount is 11.56 numberOfOneDollars 11 numberOfOneDollars assigned 43 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 44. Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; remainingAmount 56 Suppose amount is 11.56 numberOfOneDollars 11 remainingAmount updated 44 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 45. Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; remainingAmount 56 Suppose amount is 11.56 numberOfOneDollars 11 numberOfOneQuarters 2 numberOfOneQuarters assigned 45 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 46. Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; remainingAmount 6 Suppose amount is 11.56 numberOfOneDollars 11 numberOfQuarters 2 remainingAmount updated 46 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 47. The String Type The char type only represents one character. To represent a string of characters, use the data type called String. For example, String message = Welcome to Java; String is actually a predefined class in the Java library just like the System class and JOptionPane class. The String type is not a primitive type. It is known as a reference type. Any Java class can be used as a reference type for a variable. Note: For the time being, you just need to know how to declare a String variable, how to assign a string to the variable, and how to concatenate strings. 47 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 48. String Concatenation // Three strings are concatenated String message = Welcome + to + Java; // String Chapter is concatenated with number 2 String s = Chapter + 2; // s becomes Chapter2 // String Supplement is concatenated with character B String s1 = Supplement + 'B'; // s1 becomes SupplementB 48 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 49. Programming Style and Documentation Appropriate Comments Naming Conventions Proper Indentation and Spacing Lines Block Styles 49 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 50. Appropriate Comments Include a summary at the beginning of the program to explain what the program does, its key features, its supporting data structures, and any unique techniques it uses. Include your name, ccllaassss sseeccttiioonn,, iinnssttrruuccttoorr,, ddaattee,, aanndd aa bbrriieeff ddeessccrriippttiioonn aatt tthhee bbeeggiinnnniinngg ooff tthhee pprrooggrraamm.. 50 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 51. Naming Conventions, cont. Class names: – Capitalize the first letter of each word in the name. For example, the class name ComputeArea. Constants: – Capitalize all letters in constants, and use underscores to connect words. For example, the constant PI and MAX_VALUE 51 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 52. Proper Indentation and Spacing Indentation – Indent two spaces. Spacing – Use blank line to separate segments of the code. 52 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 53. Block Styles Use end-of-line style for braces. public class Test { public static void main(String[] args) { System.out.println(Block Styles); } } public class Test { public static void main(String[] args) { System.out.println(Block Styles); } } End-of-line style Next-line style 53 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 54. Programming Errors Syntax Errors – Detected by the compiler Runtime Errors – Causes the program to abort Logic Errors – Produces incorrect result 54 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 55. Syntax Errors public class ShowSyntaxErrors { public static void main(String[] args) { i = 30; System.out.println(i + 4); } } 55 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 56. Runtime Errors public class ShowRuntimeErrors { public static void main(String[] args) { int i = 1 / 0; } } 56 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 57. Logic Errors public class ShowLogicErrors { //// DDeetteerrmmiinnee iiff aa nnuummbbeerr iiss bbeettwweeeenn 11 aanndd 110000 iinncclluussiivveellyy public static void main(String[] args) { // Prompt the user to enter a number String input = JOptionPane.showInputDialog(null, Please enter an integer:, ShowLogicErrors, JOptionPane.QUESTION_MESSAGE); int number = Integer.parseInt(input); // Display the result System.out.println(The number is between 1 and 100, + inclusively? + ((11 nnuummbbeerr) (number 100))); System.exit(0); } } 57 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 58. Debugging Logic errors are called bugs. TThhee pprroocceessss ooff ffiinnddiinngg aanndd ccoorrrreeccttiinngg eerrrroorrss iiss ccaalllleedd ddeebbuuggggiinngg.. A common approach to debugging is to use a combination of methods to narrow down to the part of the program where the bug is located. You can hand-trace the program (i.e., catch errors by reading the program), or you can insert print statements in order to show the values of the variables or the execution flow of the program. This approach might work for a short, simple program. But for a large, complex program, the most effective approach for debugging is to use a ddeebbuuggggeerr uuttiilliittyy.. 58 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 59. Debugger Debugger is a program that facilitates debugging. You can use a debugger to Execute a single statement at a time. Trace into or stepping over a method. Set breakpoints. Display variables. Display call stack. Modify variables. 59 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 60. JOptionPane Input This slide provides two ways of obtaining input. 1. Using the Scanner class (console input) 2. Using JOptionPane input dialogs 60 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 61. Getting Input from Input Dialog Boxes String input = JOptionPane.showInputDialog( Enter an input); 61 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 62. Getting Input from Input Dialog Boxes String string = JOptionPane.showInputDialog( null, “Prompting Message”, “Dialog Title”, JOptionPane.QUESTION_MESSAGE); 62 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 63. Two Ways to Invoke the Method There are several ways to use the showInputDialog method. For the time being, you only need to know two ways to invoke it. One is to use a statement as shown in the example: String string = JOptionPane.showInputDialog(null, x, y, JOptionPane.QUESTION_MESSAGE); where x is a string for the prompting message, and y is a string for the title of the input dialog box. The other is to use a statement like this: JOptionPane.showInputDialog(x); where x is a string for the prompting message. 63 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 64. Converting Strings to Integers The input returned from the input dialog box is a string. If you enter a numeric value such as 123, it returns “123”. To obtain the input as a number, you have to convert a string into a number. To convert a string into an int value, you can use the static parseInt method in the Integer class as follows: int intValue = Integer.parseInt(intString); where intString is a numeric string such as “123”. 64 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015
  • 65. Converting Strings to Doubles To convert a string into a double value, you can use the static parseDouble method in the Double class as follows: double doubleValue =Double.parseDouble(doubleString); where doubleString is a numeric string such as “123.45”. 65 © University of Sulaimani, Faculty of Physical Basic Education, Department of Computer Science 2014 / 2015