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?