Java - Department of Computer Science and Engineering, CUHK
Download
Report
Transcript Java - Department of Computer Science and Engineering, CUHK
CSC1030
HANDS-ON INTRODUCTION
TO JAVA
Loop, Primitive type & Object basics
Three Kinds of Looping Statements
while (condition) {
loop_body;
}
do {
loop_body;
} while (condition);
Supplemented by:
•break;
•continue;
for (start; condition; update) {
loop_body;
}
For example: while-loop
class Main
{
public static void main (String [ ] args)
{
int
i = 1;
// declare a variable
// a while-loop
while ( i < 10 )
{
System.out.println(i);
i = i + 1;
}
System.out.println(i);
}
}
// while "i < 10 is true"
// increment i
// what will i be?
For example: do-while-loop
class Main
{
public static void main (String [ ] args)
{
int
i = 1;
// declare a variable
// a do-while-loop
do {
// do at least once
System.out.println(i);
i = i + 1;
// increment i
} while ( i < 10 ); // while "i < 10 is true"
System.out.println(i);
}
}
// what will i be?
For example: for-loop
class Main
{
public static void main (String [ ] args)
{
int
i;
// declare a variable
// a for-loop (start; check; update)
for ( i = 1; i < 10; i++ ) { // i runs from 1 to 9
System.out.println(i);
}
System.out.println(i);
}
}
// what will i be?
break and continue
break: stops a loop right away.
continue: stop the current iteration AND
continue the next round!
Outline
The Java API
Using the Math Class
Lab Exercise: Quadratic Equation Solver
Java Primitive Data Types
Java Class (Object) Types
Using the String Objects
Lab Exercise: String Manipulation
The Java API
System, String, JOptionPane, etc.
are stuffs provided in the Java
Application Programming Interface (API).
System.out.println(...);
String
answer;
JOptionPane.showInputDialog(...);
The Java API Reference Manual
http://java.sun.com/javase/6/docs/api/
The Java API Reference Manual
Quick Reference Using NetBeans
Importance of the Java API
The API provides extra functionalities and tools, however.
As a Java programmer, we do NOT have to memorize all the
stuffs provided in the API.
However, we should understand, look-up and make use of the
API library properly.
Better though, we recite the spelling and usage of some
commonly used ones, such as System, String, etc
Contributing to the World-Wide API
As a Computer Professional, sometimes we
create something to make a contribution.
Others could then possibly make use of our
work.
In such case, we have to well-design, well-test
and well-document our contribution.
Outline
The Java API
Using the Math Class
Lab Exercise: Quadratic Equation Solver
Java Primitive Data Types
Java Class (Object) Types
Using the String Objects
Lab Exercise: String Manipulation
The Math Class
Well, System is a Java Class.
String is also a Java Class.
So as JOptionPane.
We are going to make use of another useful
and important Java Class, the Math Class.
Using the Math Class
sin(45) = 0.7071067811865475
class Main
{
public static void main (String [ ] args)
{
String
deg;
deg = JOptionPane.showInputDialog("An angle in deg:");
// convert the angle (text input) to a number
double
angle_in_degree;
angle_in_degree = Double.parseDouble( deg );
double
angle_in_radian;
angle_in_radian = Math.toRadians( angle_in_degree );
System.out.println( "sin(" + deg + ") = " +
Math.sin( angle_in_radian ) );
}
}
Some Commonly Used Math Class Members
Math.toRadians( 270 )
Math.sin( 3.14159 )
Converts an angle measured in degrees to an approximately
equivalent angle measured in radians.
A method giving us the trigonometric sine of an angle in radian.
Math.sqrt( 2.25 )
A method giving us the positive square root of a value.
Lab Exercise: Using Math with if
Break Time – 15 minutes
Outline
The Java API
Using the Math Class
Lab Exercise: Quadratic Equation Solver
Java Primitive Data Types
Java Class (Object) Types
Using the String Objects
Lab Exercise: String Manipulation
Java Primitive Data Types
Let's give the full list of the EIGHT
Primitive Data Types in Java:
char
boolean
double
float
They are for storing numbers with a decimal point.
byte
short
int
long
They are for storing integers of different range limits.
What are Primitive Types?
Eight build-in types in Java:
byte
[-128 127]
short [-32768 32767]
int
[-2147483648 2147483647]
long
[-9223372036854775808 9223372036854775807 ]
float [±1038 with floating point]
double [±10308 with floating point]
char
[‘A’, ‘B’, …, ‘a’, ‘b’, …, ‘0’, ‘1’, …, ‘!’, ‘#’]
boolean [true, false]
Java Primitive Data Types
Variables in Java must bear a type.
Basically, we have these 8 types for declaring
variables.
They are for storing different kind and
different range of data.
The char Data Type
char is one of the primitive types
representing a single character.
char
aVariable;
aVariable = 'a';
char
char
char
gender = 'F';
grade = 'C';
symbol = '#';
Outline
The Java API
Using the Math Class
Lab Exercise: Quadratic Equation Solver
Java Primitive Data Types
Java Class (Object) Types: Quick Revision
Using the String Objects
Lab Exercise: String Manipulation
Java Class (Object) Types
The primitive data types are good for representing
simple data, such as a number, a character, a true/
false value.
In real life, information is usually not so simple.
Thus, we have to use some structured data types.
They are known as Class (Object) Types in Java.
Object-Oriented Programming
Object-oriented Programming (OOP) is one of the
programming paradigms (school of thought,
methodology) in computer science.
An object is used to store information as well as to
keep methods for handling the information.
Synonyms:
Object == Instance == Entity
Class ~= Static
~= Type
Objects
Our world is full of objects.
Graphical representation of objects
Michael
Bill
012-3-1441
Customer
Customer
Account
Object name
Object
‘type’
Objects
Our world is full of objects.
Graphical representation of objects
Michael
Bill
012-3-1441
Customer
Customer
Account
Modeling Our World
We try to model this object world.
Objects can keep data/state and accomplish tasks.
e.g.
A drink dispensing machine has a stock of 100 cans.
A drink dispensing machine sells Coke.
Inhuman?!
Certainly, but it helps us to program a computer in an
organized and manageable manner.
Classes
A class (e.g., Customer) is a kind of mold or
template to create objects (e.g., Michael and
Bill).
An object is an instance of a class.
The object belongs to that class.
Class
Customer
‘instanceof’/ ‘belongsto’
Michael
Object
Customer
Bill
Customer
More Class/ Object Examples
Bill Gates
Person
Person
Michael
Person
217-1-1345
Account
Account
019-9-5887
Account
Object-Oriented Programming
We first define classes.
While the program is running, we may create objects
from these classes.
We may store information in objects.
We send messages to an object, instruct it to perform
a task.
(For example, we send a deposit $250.00 message to
an Account object to add $250.00 into the account.)
Class (Object) Type Variables
There are already lots of classes defined in the Java API.
Let’s see how to make use of them.
String
address;
address = "CUHK, Shatin, HK";
File
aFile
aFile;
= new File("Hello.zip");
ZipFile aZip;
aZip
= new ZipFile(aFile);
JButton aButton;
aButton = new JButton("Ok");
Class (Object) Type Variables
With classes and the objects we created from
the classes, we can represent, store and handle
more complex form of data.
For example, we can represent some text
using String, we can handle a ZIP file, we can
process a JPEG image, we can show a button
on the screen, etc.
Outline
The Java API
Using the Math Class
Lab Exercise: Quadratic Equation Solver
Java Primitive Data Types
Java Class (Object) Types
Using the String Objects
Lab Exercise: String Manipulation
Using the String Objects
Usually, an object is created from a class
using the new( ) statement.
The String objects are different. They are
privileged to use the double quotes for
creation.
String
address;
address = "CUHK, Shatin, HK";
Using the String Object Methods
There are many methods defined for String objects.
We can easily find out some properties of a String.
String
address;
address = "CUHK, Shatin, HK";
char
firstLetter;
firstLetter = address.charAt(0);
C
int
addressLength;
addressLength = address.length();
16
Lab Exercise: String Manipulation
Any Enquiry?