Java 2

  • Uploaded by: 05082008
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Java 2 as PDF for free.

More details

  • Words: 8,696
  • Pages: 249
Lesson 1

Introduction to ObjectOriented Programming

[http://www.techfactors.ph] TechFactors Inc. ©2005

Object Oriented Programming

 Model Real World Objects  Encapsulate Data and Function

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is used for Networking

 Has many classes to program Internet communications  Java-enabled devices  mobile phones

 Web pages with additional animation and functionality  Java servlets

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Simple

 Derived from C/C++  Simpler than C/C++.  No preprocessors  Pointers were eliminated  Common data structures that use pointers such as stacks, lists and trees are available

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Robust

 Employs strong type checking  Every data structure is defined and its type is checked during compilation and runtime  Built-in exception handling  Garbage collection is done automatically

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Dynamic

 There are many available Java resources in the Internet.  Using interfaces  Classes are dynamically loaded.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Secure

 System breakers can not gain access to system resources  the Java bytecode verifier  loaded classes can not access the file system  a public-key encryption system

(in the future)

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Free

 Java can be downloaded from the Internet for FREE  Just visit http://java.sun.com/

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Portable

You can compile your Java code from the command line. SYNTAX: javac .java EXAMPLE: javac Welcome.java [http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Portable

Java program can then execute on any machine which has the Java Virtual Machine, thus, making it portable. SYNTAX: java EXAMPLE: java Welcome [http://www.techfactors.ph] TechFactors Inc. ©2005

Java is Portable Java code (*.java)

Java Compiler bytecodes (*.class)

Java Virtual Machine

MAC

PC

UNIX

[http://www.techfactors.ph] TechFactors Inc. ©2005

IDE: BlueJ

 Download the appropriate version  Check the system requirements

[http://www.techfactors.ph] TechFactors Inc. ©2005

IDE

Download BlueJ: http://www.bluej.org/download/download.html

 Install J2SE 1.4.2 (Java 2 SDK version 1.4.2) or newer first before installing BlueJ

[http://www.techfactors.ph] TechFactors Inc. ©2005

IDE: BlueJ

Minimum Requirements:  Pentium II processor or its equivalent  64Mb main memory Recommended:  400MHz Pentium III processor or above and a 128Mb main memory [http://www.techfactors.ph] TechFactors Inc. ©2005

Launch BlueJ

Let’s make your first Java project using BlueJ…

[http://www.techfactors.ph] TechFactors Inc. ©2005

Sample codes package Group.Student; public class Welcome{ public void printWelcome() { System.out.println("Welcome to Java!"); //prints_a_msg } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Sample codes

/* This class contains the main() method */ package Group.Student; public class Main { public static void main(String args[]) { Welcome Greet= new Welcome(); Greet.printWelcome(); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Common Programming Errors

 compile-time errors  runtime errors

[http://www.techfactors.ph] TechFactors Inc. ©2005

Compile Time Error

[http://www.techfactors.ph] TechFactors Inc. ©2005

Compile Time Error

[http://www.techfactors.ph] TechFactors Inc. ©2005

Compile Time Error

[http://www.techfactors.ph] TechFactors Inc. ©2005

Run-Time Error

[http://www.techfactors.ph] TechFactors Inc. ©2005

Run-Time Error

[http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

 class  object  interface  message  method  inheritance  encapsulation  compile-time errors  runtime errors [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 1

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 2

Laboratory Exercise

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check Create a class and describe it in terms of its attributes (data) and functions (methods). Then, instantiate at least 2 objects. Use the tables below.

//write the class name here Class Human

//write the object name here Man

//write the data of the class here Name Age Birthday

//write the data of the object here Name: Jonathan Age: 29 Birthday: March 4, 1975

//write the methods of the class here Grow Give_Name Get_Name Get_Age

//write the methods of the object here Grow Give_Name Get_Name Get_Age [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check Create a class and describe it in terms of its attributes (data) and functions (methods). Then, instantiate at least 2 objects. Use the tables below.

//write the class name here

//write the object name here

//write the data of the class here

//write the data of the object here

//write the methods of the class here

//write the methods of the object here

[http://www.techfactors.ph] TechFactors Inc. ©2005

Skills Workout

Type the Java program given in this lesson in the specified package. Compile and run it. If errors are encountered, debug it.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 2

Your First Java Program

[http://www.techfactors.ph] TechFactors Inc. ©2005

Welcome.java public class Welcome{ public void printWelcome() { System.out.println("Welcome to Java!"); //prints_a_msg } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Welcome.java

Line 1

A single line comment. A comment is read by he java compiler but, as a command, it is actually ignored. Any text followed two slash symbols(//) is considered a comment. Example: // Welcome to Java

[http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Welcome.java Line 2 defines the beginning of the Welcome class. When you declare a class as public, it can be accessed and used by the other class. Notice that there is also an open brace to indicate the start of the scope of the class. To declare a class here is the syntax <method>class Example: public class Welcome{ [http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Welcome.java Line 3 shows the start of the method printWelcome(). Syntax : <modifier> <method_name> (<argument_list>) { <statements>) } Void is the return type for the printWelcome() Method. A method that returns void returns nothing. Return type are discussed further in lesson 8 Example:

public void printWelcome() {

[http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Welcome.java Line 4 shows how to print text in java. The println() method displays the message inside the parentheses on the screen, and then the cursor is placed on the next line. If you want cursor to go to the next available space after printing, use print() method. Syntax: System.out.println(String); Example:

System.out.println("Welcome to Java!");

[http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Welcome.java Line 5 and 6 } } Contains closing braces. The braces on line 5 closes the method printWelcome() and the braces on line 6 closes the class Welcome.Take note that the opening brace on line 3 is paired with the closing brace on line 5 and the brace on line 2 is paired with the closing brace on line 6 [http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Main.java /* This class contains the main() method */ public class Main { public static void main(String args[]) { Welcome Greet= new Welcome(); Greet.printWelcome(); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Explaining Main.java Line 1-3

Contains a multi-line comment. Anyting in between /* and */ is considered a comment. /* This class contains the main() method */

Explaining Main.java Line 5 Declares the Main class. the brace after the class indicates the start of the class.

public class Main {

Explaining Main.java Line 6 Program execution starts from line 6. The Java interpreter should see this main method definition as is, except for args which is user defined.

public class Main {

Explaining Main.java Line 7 shows how an object is defined in Java. Here, the object Greet is created. The word “Greet” is user defined. (You can even have your name in its place!). The general syntax for defining an object in Java is:  Syntax:

= new(<arguments>);

Example: Welcome Greet= new Welcome();

Explaining Main.java Line 8 Illustrates how a method of a class is called. If you look at the Welcome class, you’ll notice that we declared a mehod named printWelcome().By declaring an instance of the Welcome class (in tis case, the Greet variable is an instance of a Welcome class, courtesy of line 7), you can execute the method withi the specific class. Syntax: .<method_name>(<arguments>);  Example:

Greet.printWelcome();

Explaining Main.java Line 9-10 } } Contains wo closing braces. The brace on line 9 closes the main method and brace on line 10 indicates the end of the scoope of the class Main.

Word Bank new - used in telling the compiler to create an object from the specified class.

public - modifier that indicates a class, method, or class variable can be accessed by any object or method directly. [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 2

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

SYNTAX Syntax Review

EXAMPLE/S

package package Group.Student; [.<subpackage_name >]*; import import School.Section.Student; [.<subpackage_name import School.Section.*; >]. ; <modifier> class

public class First

= new (<arguments>);

Welcome Greet= new Welcome();

< package_name>. School.Section.Student Alma = = new new School.Section.Student (); <package_name>.(<argume nts>); <modifier> <method_name> (<argument_list>) { <statements>}

public static void main(String args[]) { } public void printWelcome( ) {} [http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review

SYNTAX

EXAMPLE/S

System.out.println(String);

System.out.println("Welcome to Java!");

System.out.print (String);

System.out.print("Hello");

/* multi-line comment */

/* This class contains the main() method */

//single line comment

// author@ //prints_a_msg

/** /** Java doc multi-line comment */ This method will compute the sum of two integers and return the result. */ [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check Below is a simple Java program that will print your name and age on the screen. Fill the missing portions with the correct code. Type the program, compile and run it.

First.java //filename 1 2 3 4 5 6 7 8 9 10 11

/* This class contains the main() method */ package Group.Student; public class First { public static void main(String args[]) { Name ____________= new Name(); myName.________________(); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check Below is a simple Java program that will print your name and age on the screen. Fill the missing portions with the correct code. Type the program, compile and run it.

Name.java //filename 1 2 3 4 5 6 7 8

package Group.Student; // author@ public class __________{ public void printName() { System.out.print("____________");// prints your name System.out.println("____________");//prints your age } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 2

Laboratory Exercise

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 3

Data Types, Literals, Keywords and Identifiers [http://www.techfactors.ph] TechFactors Inc. ©2005

Magic words Casting – process of converting a value to the type of variable. Constant – identifier whose value can never be changed once initialized. Identifier – user-defined name for methods, classes, objects, variables and labels. [http://www.techfactors.ph] TechFactors Inc. ©2005

Literals – values assigned to variables or constant Unicode – universal code that has a unique number to represent each character. Variable – identifier whose value can be changed.  Java keyword – word used by the Java

compiler for a specific purpose

Java Keywords

[http://www.techfactors.ph] TechFactors Inc. ©2005

Java Keywords

Some key points about Java keywords: • const and goto are keywords but are not used in Java. • true and false are boolean literals that should not be used as identifiers. • null is also considered a literal but is not allowed as an identifier. [http://www.techfactors.ph] TechFactors Inc. ©2005

Identifiers Rules for Identifiers: • • • • • •

The first character of your identifier can start with a Unicode letter. It can be composed of alphanumeric characters and underscores. there is no maximum length create identifiers that are descriptive of their purpose. Your identifier must have no embedded spaces. Special characters such as ? and like are not accepted. [http://www.techfactors.ph] TechFactors Inc. ©2005

Data Types

Java has two sets of data types: • primitive • reference (or non-primitive).

[http://www.techfactors.ph] TechFactors Inc. ©2005

Data Types Data Type boolean char byte short int long float double

Default false ‘\u0000’ 0 0 0 0 0L 0.0D [http://www.techfactors.ph] TechFactors Inc. ©2005

Data Types Data Type boolean char byte short int long float double

Examples true ‘A’,’z’,’\n’,’6’ 1 11 167 11167 63.5F 63.5 [http://www.techfactors.ph] TechFactors Inc. ©2005

Variables

 Variable Declaration Syntax: ;

Examples: boolean Passed; char EquivalentGrade’; byte YearLevel; short Classes; int Faculty_No; long Student_No; float Average;

[http://www.techfactors.ph] TechFactors Inc. ©2005

Variables and Literals

 Variable and Literal Declaration Syntax: =;

Examples: boolean Passed=true; char EquivalentGrade=’F’; byte YearLevel=2; short Classes=19; int Faculty_No=6781; long Student_No=76667; float Average=76.87F; [http://www.techfactors.ph] TechFactors Inc. ©2005

Variables and Literals  You can also declare several variables for a specific data type in one statement by separating each identifier with a comma(,)

Examples: boolean Passed =true, Switch; char EquivalentGrade=’F’,ch1, ch2; byte Bytes, YearLevel =2; short SH, Classes =19; int Faculty_No =6781, Num1; long Student_No =76667, Employee_No, Long1; float Average=96.89F, Salary; double Logarithm=0.8795564564, Tax, SSS; String LastName=”Your LastName”,FirstName=”Your FirstName”, MiddleName; [http://www.techfactors.ph] TechFactors Inc. ©2005

Constants

Example: static final String Student_ID=”098774656”;

Syntax for declaring constants: static final = ; final = ; [http://www.techfactors.ph] TechFactors Inc. ©2005

Type Conversion/ Casting

Casting •

the process of assigning a value of a specific type to a variable of another type.

• The general rule in type conversion is: • upward casts are automatically done. • downward casts should be expressed explicitly. [http://www.techfactors.ph] TechFactors Inc. ©2005

Sample Code package Group.Lesson3; public class Core { public Core(){ } /** * The main method illustrates implicit casting from char to int * and explicit casting. */ public static void main(String[] args) { int x=10,Average=0; byte Quiz_1=10,Quiz_2=9; char c='a'; Average=(int) (Quiz_1+Quiz_2)/2; //explicit casting x=c; //implicit casting from char to int System.out.println("The Unicode equivalent of the character 'a' is : "+x); System.out.println("This is the average of two quizzes : "+Average); } [http://www.techfactors.ph] TechFactors Inc. ©2005 }

End of Lesson 3

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check I. Write I if the given is not an acceptable Java identifier on the space provided before each number. Otherwise, write V. ________________ 1.) Salary ________________ 2.) $dollar ________________ 3.) _main ________________ 4.) const ________________ 5.) previous year ________________ 6.) yahoo! ________________ 7.) else ________________ 8.) Float ________________ 9.) ________________10.) 2_Version II. Write C if the given statement is correct on the space provided before each number. Otherwise, write I. Correct statements do not contain bugs. ________________1.) System.out.print(“Ingat ka!”, V); ________________2.) boolean B=1; ________________3.) double=5.67F; ________________4.) char c=(char) 56; ________________5.) System.out.print(‘ I love you! ‘); [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check III.Below is a simple Java program that will print your name and age on the screen. Fill the missing portions with the correct code. Type the program, compile and run it. public class First { public ________________(){ }//Constructor for objects of class Core public static void main(String[] args) { int I=90; short S=4; ________________;//statement to cast I to S System.out.println(“I=___________________ );//print I System.out.println(“S=___________________ );//print S } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 10

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 4

Java Operators

[http://www.techfactors.ph] TechFactors Inc. ©2005

Operators

• • • •

Unary Binary Ternary Shorthand

[http://www.techfactors.ph] TechFactors Inc. ©2005

Arithmetic Operator

Operators + * / % ++ --

Addition Subtraction Multiplication Division Modulo Increment Decrement [http://www.techfactors.ph] TechFactors Inc. ©2005

The Arithmetic_operators program package Group.Lesson4.Arithmetic; public class Arithmetic_operators { public Arithmetic_operators() { } // Constructor public static void main(String[] args) { int x=30, y= 2; int Add=0,Subtract=0,Multiply=0,Divide=0; int Modulo=0,Inc1=0,Inc2=0,Dec1=0,Dec2=0; Add=x+y; Subtract=x-y; Multiply=x*y; Divide=(int)x/y; Modulo=x%y; [http://www.techfactors.ph] TechFactors Inc. ©2005

The Arithmetic_operators program (Continued) System.out.println("30+2="+Add+"\n30-2="+Subtract); System.out.println("30*2="+Multiply+"\n30/2="+Divide+"\n30%2="+Modulo); System.out.println("x="+x+"\ny="+y); x++; ++y; System.out.println("x="+x+"\ny="+y); --x; y--; System.out.println("x="+x+"\ny="+y); Inc1=x++; Inc2=++y; System.out.println("Inc1="+Inc1+"\nInc2="+Inc2); System.out.println("x="+x+"\ny="+y); Dec1=--x; Dec2=y--; System.out.println("Inc1="+Inc1+"\nInc2="+Inc2); System.out.println("x="+x+"\ny="+y); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Arithmetic_operators program output

[http://www.techfactors.ph] TechFactors Inc. ©2005

Relational Operator

> >=

Greater than Greater than or equal to

< <= == !=

Less than Less than or equal to Equal to Not Equal to [http://www.techfactors.ph] TechFactors Inc. ©2005

The Relational_operators program package Group.Lesson4.Relational; public class Relational_operators { public Relational_operators() { }// Constructor for objects of class Relational_operators public static void main(String[] args)//execution begins here { //local variables int x = 5, y = 7; boolean Relational_Equal=false, Relational_NotEqual=false; boolean Relational_LessThan=false, Relational_LessThanOrEqualTo=false; boolean Relational_GreaterThan=false; boolean Relational_GreaterThanOrEqualTo=false;

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Relational_operators program (Continued) //evaluate expressions Relational_Equal= x==y; Relational_NotEqual= x!=y; Relational_LessThan= xy; Relational_GreaterThanOrEqualTo= x>=y; //print results System.out.println("x=5 y=7"); System.out.println("x==y "+Relational_Equal); System.out.println("x!=y "+Relational_NotEqual); System.out.println("xy "+Relational_GreaterThan); System.out.println("x>=y "+Relational_GreaterThanOrEqualTo); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Relational_operators program output

[http://www.techfactors.ph] TechFactors Inc. ©2005

Logical Operator

Operators

Description

! || && |

NOT OR AND short-circuit OR

&

short-circuit AND [http://www.techfactors.ph] TechFactors Inc. ©2005

Logical Operator- Truth Tables

The NOT (!) operator Operand1

RESULT

!

true

false

!

false

true

[http://www.techfactors.ph] Te

Logical Operator- Truth Tables

The OR (|) operator Operand1 true true false false

Operand2 | | | |

true false true false

RESULT true true true false

[http://www.techfactors.ph] Te

Logical Operator- Truth Tables

The XOR (^) operator Operand1 true true false false

^ ^ ^ ^

Operand2

RESULT

true false true false

false true true false

[http://www.techfactors.ph] Te

Logical Operator- Truth Tables

The AND (&) operator Operand1

Operand2

RESULT

true

&

true

true

true

&

false

false

false

&

true

false

false

&

false

false

[http://www.techfactors.ph] Te

The Logical_operators program package Group.Lesson4.Logical; public class Logical_operators { // Constructor for objects of class Logical_operators public Logical_operators(){} public static void main(String[] args)//execution begins here { //local variables int x = 6 , y = 7; boolean Logical_OR=false, Logical_OR_ShortCircuit=false; boolean Logical_AND=false, Logical_AND_ShortCircuit=false; boolean Logical_NOT=false, Logical_XOR=false; System.out.println("x=6

y=7");

Logical_OR_ShortCircuit= (x
The Logical_operators program (Continued) Logical_AND_ShortCircuit=(xy)& (x++==y) “ +Logical_AND_ShortCircuit); Logical_AND= (xy)&&(x++==y) "+Logical_AND); Logical_NOT= !(x>y)||(x++==y); System.out.println("!(x>y)||(x++==y) "+Logical_NOT); Logical_XOR= (x>y)^ (x++==y); System.out.println("(x>y)^ (x++==y) "+Logical_XOR); System.out.println("!((x>y)^ (x++==y)) "+!Logical_XOR);//NEGATE }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Logical_operators program output

[http://www.techfactors.ph] TechFactors Inc. ©2005

REVIEW RECALL: How do you get the equivalent of a certain number in bits? ANSWER: You divide the number by 2 until you reach 0. Jot down the remainder for each division operation and that’s the equivalent. RECALL: How do you convert a bit sequence to integer? ANSWER: You multiply each bit by powers of 2. Then, add all the products to get the equivalent. RECALL: How many bits does an integer have? ANSWER: 16 bits

Try converting 16 and 27 to bits. Hope you got these answers: 16=0000000000010000 27=0000000000011011 [http://www.techfactors.ph] TechFactors Inc. ©2005

REVIEW If you have a negative number, you still have to convert the same way you would if it were a positive number. Then, get the complement and add 1. That’s it!

Example: 4=0000000000000100 -4=1111111111111100 [http://www.techfactors.ph] TechFactors Inc. ©2005

Bitwise Operator

Operators

Description

~

Complement

&

AND

|

OR

^

XOR (Exclusive OR)

<<

Left Shift

>>

Right Shift

>>>

Unsigned Right Shift [http://www.techfactors.ph] TechFactors Inc. ©2005

Bitwise Operator - Truth Tables

The BITWISE COMPLEMENT Operand1

RESULT

~

1

0

~

0

1

[http://www.techfactors.ph] Te

Bitwise Operator - Truth Tables

The BITWISE OR (|) Operand1

Operand2

RESULT

1

|

1

1

1

|

0

1

0

|

1

1

0

|

0

0

[http://www.techfactors.ph] Te

Bitwise Operator - Truth Tables

The BITWISE XOR (^) Operand1

Operand2

RESULT

1

^

1

0

1

^

0

1

0

^

1

1

0

^

0

0

[http://www.techfactors.ph] Te

Bitwise Operator - Truth Tables

The BITWISE AND (&) Operand1

Operand2

RESULT

1

&

1

1

1

&

0

0

0

&

1

0

0

&

0

0

[http://www.techfactors.ph] Te

Bitwise Operator – Examples x= 0000000000010000 ~x= 1111111111101111 Therefore, ~x=-17. x= y= Or=

0000000000010000 0000000000011011 0000000000011011

x= 0000000000010000 y= 0000000000011011 And= 0000000000010000 x= 0000000000010000 y= 0000000000011011 Xor= 0000000000001011

x= 0000000000010000 Left_shift= 0000000010000000 Left_shift = 128 z= 1111111111111100 Right_shift= 1111111111111111 Right_shift= -1 Negative=1111111111111100 Negative=0011111111111111 Negative= 1073741823

The Bitwise_operators program package Group.Lesson4.Bitwise; public class Bitwise_operators { //Constructor for objects of class Bitwise_operators public Bitwise_operators() { } public static void main(String[] args)//execution begins here { //local variables int x = 16 , y = 27, z=-4, Negative=-4; int Complement=0,Or=0,And=0,Xor=0,Left_shift=0; int Right_shift=0, Unsigned_Right_shift=0; //operations Complement = ~x; Or = x|y; And = x&y; Xor = x^y; Left_shift = x<<3; Right_shift = z>>2; Unsigned_Right_shift= Negative>>>2; [http://www.techfactors.ph] TechFactors Inc. ©2005

The Bitwise_operators program (continued)

//print results System.out.println("x=16 y=7 z=-4"); System.out.println("~x = "+Complement); System.out.println("x|y = "+Or); System.out.println("x&y = "+And); System.out.println("x^y = "+Xor); System.out.println("x<<3 = "+Left_shift); System.out.println("z>>2 = "+Right_shift); System.out.println("Negative>>>2 = "+Unsigned_Right_shift); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Bitwise_operators program output

[http://www.techfactors.ph] TechFactors Inc. ©2005

Shorthand Operator with Assignment

Operators

Description

+=

Assignment With Addition

-=

Assignment With Subtraction

*=

Assignment With Multiplication

/=

Assignment With Division

%=

Assignment With Modulo

&=

Assignment With Bitwise And

|=

Assignment With Bitwise Or

^=

Assignment With Bitwise XOR

<<=

[http://www.techfactors.ph] TechFactors Inc. ©2005 Assignment With Left Shift

The Shorthand_operators program package Group.Lesson4.Shorthand; public class Shorthand_operators { //Constructor for objects of class Shorthand_operators public Shorthand_operators(){ } public static void main(String[] args)//execution begins here { //local variables int Assign_With_Addition=4, Assign_With_Subtraction=4, Assign_With_Multiplication=4; double Assign_With_Division=7; int Assign_With_Modulo=7, Assign_With_Bitwise_And=7; int Assign_With_Bitwise_Or=23, Assign_With_Bitwise_XOR=23, Assign_With_LeftShift=23; int Assign_With_RightShift=10, Assign_With_UnsignedRightShift=10; Assign_With_Addition +=2; Assign_With_Subtraction -=2; Assign_With_Multiplication *=2; Assign_With_Division /=2; Assign_With_Modulo %=2; Assign_With_Bitwise_And &=2; Assign_With_Bitwise_Or |=2; Assign_With_Bitwise_XOR ^=2; Assign_With_LeftShift <<=2; Assign_With_RightShift >>=2; Assign_With_UnsignedRightShift >>>=2; System.out.println(" Results"); [http://www.techfactors.ph] TechFactors Inc. ©2005

The Shorthand_operators program (continued)

System.out.println("Assign_With_Addition+=2 "+Assign_With_Addition); System.out.println("Assign_With_Subtraction-=2 "+Assign_With_Subtraction); System.out.println("Assign_With_Multiplication*=2 "+Assign_With_Multiplication); System.out.println("Assign_With_Division/=2 "+Assign_With_Division); System.out.println("Assign_With_Modulo%=2 "+Assign_With_Modulo ); System.out.println("Assign_With_Bitwise_And&=2 "+Assign_With_Bitwise_And); System.out.println("Assign_With_Bitwise_Or|=2 "+Assign_With_Bitwise_Or ); System.out.println("Assign_With_Bitwise_XOR^=2 "+Assign_With_Bitwise_XOR); System.out.println("Assign_With_LeftShift<<=2 "+Assign_With_LeftShift); System.out.println("Assign_With_RightShift>>=2 "+Assign_With_RightShift); System.out.println("Assign_With_UnsignedRightShift>>>=2 "+Assign_With_UnsignedRightShift); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Shorthand_operators program output

[http://www.techfactors.ph] TechFactors Inc. ©2005

Operator Precedence

[http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

 expression  boolean expressions  truth value  truth table  shorthand operators  bit  sign bit [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 4

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check

Evaluate the given expressions/statements. Write the result on the blanks provided before each number. Given that a=3, b=4,c=6.

1.x=a++; 2.y=--b; 3.!((++a)!=4)&&(--b==4)) 4.(c++!=b)|(a++==b) 5.t=a+b*c/3-2;

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 5

Decisions

[http://www.techfactors.ph] TechFactors Inc. ©2005

Decision making In life we make decisions. Many times our decision are based on how we evaluate the situation. Certain situation need to be evaluated carefully in order to make the correct results or decision.

In Java , decisions are made using statements like if, if else, nestedif and switch. In this lesson , we will examine hot these conditional statements are applied to simple programming problems.

Decision Statements

If Statement:

public class If_Statement { public static void main (String [] args) { int x = 0; System.out.println ("Value is:" + x); if(x%2==0) { System.out.println ("VAlue is an even number."); } if (x%2 ==1) { System.out.println ("Value is an odd number."); } }



}

[http://www.techfactors.ph] TechFactors Inc. ©2005

Wrapper Class

Primitive Data Type

Wrapper Class

boolean char byte short int long float double

Boolean Character Byte Short Integer Long Float Double [http://www.techfactors.ph] TechFactors Inc. ©2005

if Statement

Syntax: if () { <statement/s> }

Example: if(x!=0){ x=(int)x/2; }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The If_Statement program package Lesson5.If; import java.io.*; public class If_Statement { //Constructor for objects of class If_Statement public If_Statement(){ } public static void main(String[] args) throws IOException { BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in)); int x=0; String Str_1; System.out.print("Enter an integer value: "); Str_1=dataIn.readLine(); x=Integer.parseInt(Str_1); if(x!=0){ x=(int)x/2; } System.out.println("x= "+x); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

if-else Statement

Example: if (A%2==0) { System.out.println (A+" is an EVEN number"); } else { System.out.println (A+" is an ODD number"); }

Syntax: if (){ <statement/s> } else { <statement/s> } [http://www.techfactors.ph] TechFactors Inc. ©2005

The IfElse program package Lesson5.If_Else; import java.io.*; public class IfElse { public IfElse() { } public static void main(String[] args)throws IOException { BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in)); //declare local variables int A=0; String Str_A; //input System.out.print("Enter an integer value for A: "); Str_A=dataIn.readLine(); A=Integer.parseInt(Str_A); //determine if input is odd or even and print if (A%2==0) { System.out.println (A+" is an EVEN number"); } else { System.out.println (A+" is an ODD number"); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

nested-if Statement

Syntax: if (){ <statement/s> } else if () { <statement/s> } else { <statement/s> }

[http://www.techfactors.ph] TechFactors Inc. ©2005

nested-if Statement

Example: if (number1>number2) { System.out.println (number1+" is greater than "+number2); } else if (number1
[http://www.techfactors.ph] TechFactors Inc. ©2005

The NestedIf program and output public class NestedIf { public NestedIf() { } public static void main(String[] args)throws IOException { BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in)); //declare local variables double number1=0.0,number2=0.0; String Str_number1,Str_number2; //input Str_number1 and convert it to an integer (number1) System.out.print("Enter a number: "); Str_number1=dataIn.readLine(); number1=Double.parseDouble(Str_number1); //input Str_number2 and convert it to an integer (number2) System.out.print("Enter another number: "); Str_number2=dataIn.readLine(); number2=Double.parseDouble(Str_number2); //determine if number1 is greater than, less than or equal to number2 if (number1>number2) { System.out.println (number1+" is greater than "+number2); } else if (number1
switch Statement

Syntax: switch(<expression>) { case : <statements> break; case : <statements> break; : : default: <statements> break; } [http://www.techfactors.ph] TechFactors Inc. ©2005

switch Statement

Example: switch(month){ case 1:System.out.println("January has 31 days"); break; case 2:System.out.println("February has 28 or 29 days"); break; case 3:System.out.println("March has 31 days"); . . . default:System.out.println("Sorry that is not a valid month!"); break; }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Switch_case program public Switch_case(){ }//Constructor for objects of class Switch_case public static void main(String[] args) throws IOException{ BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in)); int month=0; String Str_month; System.out.print("Enter month [1-12]: "); Str_month=dataIn.readLine(); month=Integer.parseInt(Str_month); switch(month){ case 1:System.out.println("January has 31 days"); break; case 2:System.out.println("February has 28 or 29 days"); break; case 3:System.out.println("March has 31 days"); break; case 4:System.out.println("April has 30 days"); break; case 5:System.out.println("May has 31 days"); break; [http://www.techfactors.ph] TechFactors Inc. ©2005

The Switch_case program (continued) and output case 6:System.out.println("June has 30 days"); break; case 7:System.out.println("July has 31 days"); break; case 8:System.out.println("August has 31 days"); break; case 9:System.out.println("September has 30 days"); break; case 10:System.out.println("October has 31 days"); break; case 11:System.out.println("November has 30 days"); break; case 12:System.out.println("December has 31 days"); break; default:System.out.println("Sorry that is not a valid month!"); break; }}}

[http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

 Wrapper class

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 5

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 10

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review SYNTAX

EXAMPLE/S

if () { <statement/s> }

if(x!=0){ x=(int)x/2; }

if (){ <statement/s> } else { <statement/s> }

if (A%2==0) { System.out.println (A+" is EVEN"); } else { System.out.println (A+" is ODD "); }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review SYNTAX

EXAMPLE/S

if (){ <statement/s> } else if () { <statement/s> } else{ <statement/s> }

if (number1>number2) { System.out.println (number1+" is greater than "+number2); } else if (number1
switch(<expression>) { case :<statements> break; case :<statements> break; : : default: <statements> break; }

switch(Number){ case 1:System.out.println("One "); break; case 2:System.out.println("Two"); break; case 3:System.out.println("Three"); break; default:System.out.println("Sorry!"); break; }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check

In the next slide is a simple Java program that will determine if a number is zero, positive or negative then print the appropriate message on the screen. Fill the missing portions with the correct code. Type the program, then compile and run it.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check public class NestedIf { public NestedIf() { }//constructor public static void main(String[] args) { int number=3; if (__________) // FILL-IN THE BLANK { System.out.println (number+” is ZERO!”); } else if (___________) //FILL-IN THE BLANK { System.out.println (number+" is a POSITIVE number!”); } else { System.out.println (number+" is a NEGATIVE number!”); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 6

Loops [http://www.techfactors.ph] TechFactors Inc. ©2005

General Topics

• for structure • while structure • do-while structure

[http://www.techfactors.ph] TechFactors Inc. ©2005

loop

A loop is a structure in Java that permits a set of instructions to be repeated

[http://www.techfactors.ph] TechFactors Inc. ©2005

 The for loop is usually used when the

number of iterations that needs to be done is already known.

 The while loop checks whether the

prerequisite condition to execute the code within the loop is true or not. If it is true, then the code loop is executed.

 The do-while loop executes the code

within it first regardless of whether the condition is true or not before testing the given condition.

3 Main Parts of for loop Initialization - initial values of variables that will be used in the loop. Test condition - a boolean expression that should be satisfied for the loop to continue executing the statements within the loop’s scope; as long as the condition is true. Increment/Operations- dictates the change in value of the loop control variable everytime the loop is repeated. [http://www.techfactors.ph] TechFactors Inc. ©2005

for loop

Example: for(int Ctr=1;Ctr<=5;Ctr++){ System.out.println(Ctr); }

Syntax: for (;;) { <statement/s> } [http://www.techfactors.ph] TechFactors Inc. ©2005

The For_loop program and output

package Lesson6.For; public class For_loop { public For_loop() { } public static void main(String[] args) { for(int Ctr=1;Ctr<=5;Ctr++){ System.out.println(Ctr); } } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

while loop

Example: int Ctr=1; while(Ctr<=5){ System.out.println(Ctr); Ctr++; }

Syntax: while (boolean condition is true) { <statement/s> } [http://www.techfactors.ph] TechFactors Inc. ©2005

Sample Code and output public class While_Loop { //Constructor for objects of class While_loop public While_Loop() { } public static void main(String[] args) { int Ctr=1; while(Ctr<=5){ System.out.println(Ctr); Ctr++; } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

do-while loop

Example: int Ctr=1; do{ System.out.println(Ctr); Ctr++; }while(Ctr<=5);

Syntax: do { <statement/s> } while ();

[http://www.techfactors.ph] TechFactors Inc. ©2005

Sample Code

public class DoWhile { public DoWhile() { } public static void main(String[] args) { int Ctr=1; do{ System.out.println(Ctr); Ctr++; }while(Ctr<=5); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 6

Summary…

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check

In the next slides are three simple Java programs. Fill the missing portions with the correct code. Type the programs, compile and run them.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check (For_loop2) public class For_loop2 { //Constructor for objects of class For_loop2 public For_loop2() { } /** * main()-prints all even numbers from 1-10 automatically using a for loop * * @param String[] args * @return nothing */ public static void main(String[] args) { for(int Ctr=____;Ctr<=_____;Ctr____){ System.out.println(Ctr); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check (DoWhile2) public class DoWhile2 { //Constructor for objects of class DoWhile2 public DoWhile2() { } /** * main()-prints the numbers 1-10 automatically using a do_while loop * * @param String[] args * @return nothing */ public static void main(String[] args) { int Ctr=________; do{ System.out.println(Ctr); Ctr______; }while(Ctr<=_________); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check (While_Loop2) public class While_Loop2 { //Constructor for objects of class While_loop2 public While_Loop2() { } /** * main()-prints odd numbers from 2 to 20 automatically using a while loop * * @param String[] args * @return nothing */ public static void main(String[] args) { int Ctr=____________; while(Ctr<=__________){ System.out.println(Ctr); Ctr_______________; } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

More Loops

[http://www.techfactors.ph] TechFactors Inc. ©2005

General Topics

• • •

Nested loops continue break

[http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops The Nested_For program prints the multiplication table. To do this, it has two loops. One loop is inside the other. This is why it is called a nested loop.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops public class Nested_For { // Constructor for objects of class Nested_For public Nested_For(){ } public static void main(String [] args) { for(int Row=1;Row<=10;Row++){ for(int Column=1;Column<=10;Column++){ System.out.print(Row*Column+"\t"); } System.out.println(); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops – how it behaves To see how this program behaves at any given time, we need to set breakpoints. To do that, just click on line number.

Click on line 15.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops – how it behaves Run the program by right-clicking on the Nested_For icon, click on void main(String [] args).

Then, click on the Ok button. [http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops – how it behaves

– how it behaves

[http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops – how it behaves

[http://www.techfactors.ph] TechFactors Inc. ©2005

Nested_For loops – Output

[http://www.techfactors.ph] TechFactors Inc. ©2005

Continue_Loop The difference is the inclusion of the if statement on line 17 and the continue statement on line 18.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Continue_Loop public class Continue_Loop { // Constructor for objects of class Continue_Loop public Continue_Loop(){ } public static void main(String [] args) { for(int Row=1;Row<=10;Row++){ for(int Column=1;Column<=10;Column++){ if(Column==4){ continue; } System.out.print(Row*Column+"\t"); } System.out.println(); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Continue_Loop - Output

The column containing the multiples of 4 is not included.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Loop_Break This program is again similar to the previous programs in this lesson, except for the inclusion of the if and break statements. The output shows 3 columns only.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Loop_Break public class Loop_Break { //Constructor for objects of class Loop_Break public Loop_Break(){ } public static void main(String [] args) { for(int Row=1;Row<=10;Row++){ for(int Column=1;Column<=10;Column++){ if(Column==4){ break; } System.out.print(Row*Column+"\t"); } System.out.println(); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Labels public class Labels { //Constructor for objects of class Labels public Labels() { } public static void main(String [] args) { here: for(int Row=1;Row<=10;Row++){ for(int Column=1;Column<=10;Column++){ System.out.print(Row*Column+"\t"); if(Column==4){ break here; } } System.out.println(); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

Nested loops

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check I. A Java program that prints the multiplication table is given using nested while loops. Fill-in the missing portions. public class Multiplication_Table { // Constructor for objects of class Multiplication_Table public Multiplication_Table (){ } public static void main(String [] args) { int Row=_______; //indicate the initial value while(Row<____){ Row++; int Column=_____; //indicate the initial value while(Column<_____){ Column++; System.out.print(Row*Column+"\t"); } System.out.println(); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check II. A Java program that prints the given output using nested do-while loops. Fill-in the missing portions.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check public class Table{ // Constructor for objects of class Table public Table(){ } public static void main(String [] args) { int Row=_______; //indicate the initial value do{ Row++; int Column=_____; //indicate the initial value do{ Column++; if(_______){ continue; } System.out.print(Row*Column+"\t"); } while(Column<_____); System.out.println(); } while(Row<____); } } [http://www.techfactors.ph] TechFactors Inc. ©2005

Exceptions

Exceptions  Unexpected errors or events within

our program

import java.io.*; public class Exception1{ public static void main(String[] args){ BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));

} }

int x=0; String Str_1; System.out.print(“Enter an integer value:”); try{ Str_1 = dataIn.readLine(); x = Integer.parseInt(Str_1); } catch(Exception e){ System.out.println(“Error reported”); } x = (int)x/2; System.out.println(“x= ”+x);

import java.io.*; public class Exception2{ public static void main(String[] args){ BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));

int x=0, y=0; String Str_1, Str_2; System.out.print(“Enter an integer value: ”); try{ Str_1 = dataIn.readLine(); System.out.print(“Enter another value: ”); Str_2 = dataIn.readLine(); x = Integer.parseInt(Str_1); y = Integer.parseInt(Str_2); x = x/y; }

catch(ArithmeticException e){ System.out.println(“Divide by zero error.”); } catch(NumberFormatException e){ System.out.println(“Invalid number entered.”); } catch(Exception e){ System.out.println(“Invalid number entered.”); } finally{ System.out.println(“x= ”+x); } } }

Exceptions  Exception classes  try  catch  finally

Exception classes  Help handle errors  Included within Java installation

package

try-catch  At least one catch for every try  catch statements should catch

different exceptions  try-catch order  catch immediately after a try

End of Lesson

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 8

Classes

[http://www.techfactors.ph] TechFactors Inc. ©2005

General Topics

• • • • • • •

Classes Inheritance Interface Objects Constructors Overloading Methods Overriding Methods [http://www.techfactors.ph] TechFactors Inc. ©2005

Classes

[http://www.techfactors.ph] TechFactors Inc. ©2005

Accessibility

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax

<modifier> class [extends <superclass>] { <declaration/s> } Example: public class Student extends Person

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax

<modifier> class [extends <superclass>] [implements ] { <declaration/s>

} Example:

public class Teacher extends Person implements Employee [http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax

<modifiers> class { [] [] [<method_declarations>] }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Person program package Lesson8; public class Person extends Object { private String name; private int age; private Date birthday; // class constructor public Person() { name = "secret"; age = 0; birthday = new Date(7,7); } //overloaded constructor public Person(String name, int age, Date birthday){ this.name = name; this.age = age; this.birthday = birthday; } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Person program (continued)

//accessor methods - setters public void setName(String X){ name= X; } public void setAge(int X) { age=X; } public void setBirthday(Date X){ birthday=X; } public void setDetails(String X, int Y, Date Z){ name= X; age=Y; birthday = Z; } //accessor methods - getters public String getName(){ return name; } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Person program (continued) public int getAge(){ return age; } //this method greets you on your bday and increments age public void happyBirthday(Date date){ System.out.println("Today is "+date.month+"/"+date.month+"/2005."); if (birthday.day == date.day && birthday.month == date.month){ System.out.println("Happy birthday, "+ this.name + "."); age++; System.out.println("You are now "+age+" years old."); } else { System.out.println( "It's not " + this.name + "'s birthday today."); } } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Someone program package Lesson8; public class Someone { public static void main (String args[]){ Date dateToday = new Date(3,7); Date bdayLesley= new Date(23,10); Person Angelina=new Person(); Student Stevenson = new Student("Stevenson",20,new Date(22,10),4); Student Allan =new Student(3); Teacher Lesley= new Teacher("Lesley",28,bdayLesley,14000.25); Angelina.setName("Angel"); Angelina.setAge(69); Angelina.setBirthday(dateToday); System.out.println("Greetings, "+Angelina.getName()); Angelina.happyBirthday(dateToday); System.out.println(); Allan.setDetails("Allan",20,new Date(3,5)); } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program package Lesson8; public class Date { // instance variables - replace the example below with your own int day, month, year; //Constructor for objects of class Date with no parameters public Date() { // initialize instance variables day = 1; month=1; year=2005; }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program (continued) //Constructor for objects of class Date with day & month as parameters public Date(int this_Day,int this_Month) { // initialise instance variables if((this_Month>=1)&&(this_Month<=12)){ month=this_Month; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:if((this_Day>=1)&&(this_Day<=31)){day = this_Day;} else {day=1;} break; case 4: case 6: case 9: case 11:if((this_Day>=1)&&(this_Day<=30)){ day = this_Day;} else {day=1;} break; case 2:if((this_Day>=1)&&(this_Day<=28)){day = this_Day;} else {day=1;} break; } } else { month=1; } year=2005; } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program (continued)

public void print_Date(){//prints the date mm/dd/yyyy System.out.println(month+"/"+day+"/"+year); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Student program

package Lesson8; public class Student extends Person { private int yearlvl; //constructors public Student(){ super(); yearlvl=1; } public Student(int yearlvl) { super(); if((yearlvl<=4)&&(yearlvl>=1)){ this.yearlvl=yearlvl; } else { this.yearlvl=1; } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Student program (continued) public Student(String name, int age, Date birthday, int yearlvl) { super(name, age, birthday); if((yearlvl<=4)&&(yearlvl>=1)){ this.yearlvl=yearlvl; } else { this.yearlvl=1; } System.out.print("Hi, "+name+". "); System.out.print(“Your birthday this year is on "); birthday.print_Date(); System.out.println("You are "+age+" years old."); System.out.println(); } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Student program (continued) //accessor methods public void setYearlvl(int yearlvl){ if((yearlvl<=4)&&(yearlvl>=1)){ this.yearlvl=yearlvl; } else { this.yearlvl=1; } } public void setDetails(String name, int age, Date birthday){ super.setDetails(name,age,birthday); System.out.print("Hello, "+name+". "); System.out.print("Your birthday this year is on "); birthday.print_Date(); System.out.println("You are "+age+" years old."); System.out.println(); } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Student program (continued) public void setDetails(String name, int age, Date birthday, int yearlvl) { super.setDetails(name,age,birthday); if((yearlvl<=4)&&(yearlvl>=1)){ this.yearlvl=yearlvl; } else { this.yearlvl=1; } System.out.print("Hello, "+name+". "); System.out.print(" Your birthday this year is on "); birthday.print_Date(); System.out.println("You are "+age+" years old."); System.out.println(); } public int getYearlvl(){ return yearlvl; } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Teacher program package Lesson8; public class Teacher extends Person implements Employee { private double salary; // constructors public Teacher(){ super(); salary = 4000; } public Teacher(double salary) { super(); this.salary = salary; } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Teacher program (continued) public Teacher(String name, int age, Date birthday, double salary){ super(name, age, birthday); this.salary= salary; System.out.println("Good morning, "+name+". Your salary is "+salary+"."); System.out.println(" Your birthday this year is on "); birthday.print_Date(); System.out.println("You are "+age+" years old."); System.out.println(); } //accessor methods public void setSalary(double salary) { this.salary = salary; }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Teacher program (continued)

public void setDetails(String name, int age, Date birthday, double salary){ super.setDetails(name, age, birthday); this.salary = salary; System.out.println("Good afternoon, "+name+". Your salary is "+salary+"."); System.out.println(" Your birthday this year is on "); birthday.print_Date(); System.out.println("You are now "+age+" years old."); System.out.println(); } public double getSalary(){ return salary; } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Employee program package Lesson8; public interface Employee { public void setSalary(double salary); public void setDetails(String name, int age, Date birthday, double salary); public double getSalary(); }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

• • • • • • • •

Superclass Subclass Inheritance Interface Method Signature Overloading Constructor Overriding Method [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 8

SUMMARY

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review

 The constructor of the superclass that has no

parameters can be called this way:

 super ( );  The constructor of the superclass that has parameters can be called this way:  super (<argument list> );  The syntax to call a method of the superclass

is:

 super.<method_name> (<argument

list> );

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review

SYNTAX

EXAMPLE/S

<modifier> class [extends <superclass>]

public class Student extends Person

<modifier> class [extends public class Teacher <superclass>] [implements extends Person ] implements Employee

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review (continued) SYNTAX

<modifiers> class { [] [] [<method_declarations>] }

EXAMPLE/S public class Person extends Object{ //attribute declarations private String name; private int age; private Date birthday; // class constructor public Person() { name = "secret"; age = 0; birthday = new Date(7,7); } //accessor methods - setters public void setName(String X){ name= X; } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check 1 I. Use the applications given on our lesson for exercise A and B. A. Supply all the method signatures of Student to the interface Learner, except for the constructors. public interface Learner{

} B. Create a constructor for Person with name and age as parameters. Make sure that you assign values to all the attributes of the class Person.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check 2 II. Use this diagram in answering the next exercises.

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check A. Supply all the method signatures of Plane to the interface FlyingObject, except for the constructors.

public interface FlyingObject{

} [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 9

Arrays

[http://www.techfactors.ph] TechFactors Inc. ©2005

General Topics

• Single-dimensional arrays • Array of Objects • Multidimensional arrays

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Single_Array program public class Single_Array { //Constructor for objects of class Single_Array public Single_Array() { } public static void main(String[] args){ int [] GradeLevel=new int [6]; int [] YearLevel={1,2,3,4}; System.out.print("The contents of the YearLevel array: "); print_Single_Array(YearLevel); System.out.print("The contents of the GradeLevel array: "); print_Single_Array(GradeLevel); System.arraycopy(YearLevel,0,GradeLevel,1,YearLevel.length); System.out.print("The contents of the GradeLevel array after copying: "); print_Single_Array(GradeLevel); for(int Index=1;Index
The Single_Array program (continued) and output public static void print_Single_Array(int[] Array){ for(int subscript=0;subscript
[http://www.techfactors.ph] TechFactors Inc. ©2005

Single Dimensional Array SYNTAX: [ ] <array_identifier> = new [<no_of_elements>]; <array_identifier> [ ] = new [<no_of_elements>];

Example:

First Element

Last Element

[0] [1] [2] [3] YearLevel 1

2

3

4

[http://www.techfactors.ph] TechFactors Inc. ©2005

System.arraycopy

SYNTAX: System.arraycopy(, , , , ); [http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program package Group.Lesson9.Array_Object; /** * @author Lesley Abe * @version 1 */ public class Date { // instance variables - replace the example below with your own private int day, month, year; //Constructor for objects of class Date with no parameters public Date() { // initialize instance variables day = 1; month=1; year=2005; } //Constructor for objects of class Date with day & month as parameters

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program (continued) public Date(int this_Day,int this_Month) { // initialise instance variables if((this_Month>=1)&&(this_Month<=12)){ month=this_Month; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:if((this_Day>=1)&&(this_Day<=31)){day = this_Day;} else {day=1;} break; case 4: case 6: case 9: case 11:if((this_Day>=1)&&(this_Day<=30)){ day = this_Day;} else {day=1;} break; case 2:if((this_Day>=1)&&(this_Day<=28)){day = this_Day;} else {day=1;} break; } } else { month=1; } year=2005; } [http://www.techfactors.ph] TechFactors Inc. ©2005

The Date program (continued) public static void main(String[] args) { Date[] Birthdays={ new Date(23,10), new Date(22,3) }; Date[] Holidays=new Date[4]; Holidays[0]=new Date(25,12); Holidays[1]=new Date(1,5); Holidays[2]=new Date(1,11); Holidays[3]=new Date(1,1); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Two_Dimensional_Array program public class Two_Dimensional_Array { //Constructor for objects of class Two_Dimensional_Array public Two_Dimensional_Array() { } public static void main(String[] args) { final int YearLevel=4; // this is a constant final int Section=2; //this is a constant String TeacherName [] [] = new String [YearLevel] [Section]; String Student [] [] = new String [YearLevel] [ ]; //non-rectangular array //String Student [] [] = new String [] [YearLevel]; //this is illegal! //assign teachers to all the classes in high school TeacherName [0] [0] = "Lesley Abe"; TeacherName [0] [1] = "Arturo Jacinto Jr."; TeacherName [1] [0] = "Olive Hernandez"; TeacherName [1] [1] = "Alvin Ramirez"; TeacherName [2] [0] = "Christopher Ramos"; TeacherName [2] [1] = "Gabriela Alejandra Dans-Lee"; TeacherName [3] [0] = "Joyce Cayamanda"; TeacherName [3] [1] = "Ana Lisa Galinato"; [http://www.techfactors.ph] TechFactors Inc. ©2005

The Two_Dimensional_Array program (continued)

//indicate how many student assistants per year level Student [0]=new String [2]; Student [1]=new String [2]; Student [2]=new String [1]; Student [3]=new String [1]; //assign student assistants per year level Student [0] [0]= "Stevenson Lee"; Student [0] [1]= "Brian Loya"; Student [1] [0]= "Joselino Luna"; Student [1] [1]= "Allan Valdez"; Student [2] [0]= "John Dionisio"; Student [3] [0]= "Geoffrey Chua"; } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The Two_Dimensional_Array program (continued) public static void main(String[] args) { Date[] Birthdays={ new Date(23,10), new Date(22,3) }; Date[] Holidays=new Date[4]; Holidays[0]=new Date(25,12); Holidays[1]=new Date(1,5); Holidays[2]=new Date(1,11); Holidays[3]=new Date(1,1); } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

Multi-Dimensional Array

SYNTAX: [ ][ ] <array_identifier> = new [<size1>][<size2>]; <array_identifier> [ ] [ ] = new [<size1>] [<size2>]; [http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

• •

Array Element Array Index

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 9

SUMMARY

[http://www.techfactors.ph] TechFactors Inc. ©2005

Syntax Review SYNTAX

EXAMPLE/S

[ ] <array_identifier> = new [<no_of_elements>];

int [ ] GradeLevel=new int [6];

< array_identifier> [ ] = new [<no_of_elements>];

int GradeLevel [ ] =new int [6];

[ ] < array_identifier> = {< elements separated by commas>};

int [ ] YearLevel={1,2,3,4};

< array_identifier> [] = ;

GradeLevel[Index]=Index*2;

[ ][ ] <array_identifier> = new [<size1>][<size2>];

String [ ] [ ] TeacherName = new String [YearLevel] [ ];

<array_identifier> [ ] [ ] = new [<size1>][<size2>];

String TeacherName [ ] [ ] = new String [YearLevel] [Section];

< array_identifier> [] [] = TeacherName [0] [0] = "Lesley Abe"; ; System.arraycopy(, , , , );

System.arraycopy(YearLevel,0,GradeLe vel,1,YearLevel.length);

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check 1 public class Array1 { //Constructor for objects of class Array1 public Array1() { } public static void main(String[] args){ String [] __________={“Math”,”Science”,_________ }; String [] MyTeachers={______________ }; System.out.print("Here are my subjects: "); print_Array1(MySubjects); System.out.print("My favorite subject is: "+________); System.out.print("My favorite teacher is: "+________); } //method that prints the contents of an array of String public static void __________(_______[] Array){ for(intsubscript=0;subscript
TechFactors Inc. ©2005

Self-check 2 public class Array2 { // Constructor for objects of class Array2 public Array2 (){ } public static void main(String[] args) { final int Row=5; final int Column=5; int [] [] Table=new int [Row][Column]; for(int Row_Ctr=0;Row_Ctr
[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check 2 (continued) What are the values of the following: Table[0][0]= ___________ Table[2][1]= ___________ Table[1][3]= ___________ Table[4][4]= ___________ Table[3][2]= ___________

[http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Lesson 10

GUI

[http://www.techfactors.ph] TechFactors Inc. ©2005

General Topics



Abstract Window Toolkit (AWT) - java.awt package - components • Containers • Layout Managers

[http://www.techfactors.ph] TechFactors Inc. ©2005

Layout SYNTAX: FlowLayout( ) FlowLayout(int align) FlowLayout(int align, int hgap, int vgap) Examples: setLayout(FlowLayout()); setLayout(FlowLayout(FlowLayout.LEFT )); setLayout(FlowLayout(FlowLayout.RIG HT,23,10)); [http://www.techfactors.ph] TechFactors Inc. ©2005

Layout SYNTAX: GridLayout( ); GridLayout(int rows, int cols); GridLayout(int rows, int cols, int hgap, int vgap);

Examples: setLayout(GridLayout()); SouthPanel.setLayout(new GridLayout(4,3));

[http://www.techfactors.ph] TechFactors Inc. ©2005

Layout SYNTAX: BorderLayout( );

Examples: setLayout(new BorderLayout());

[http://www.techfactors.ph] TechFactors Inc. ©2005

Sample GUI Project

[http://www.techfactors.ph] TechFactors Inc. ©2005

Project Output

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawTest program

package Group.Lesson10;

import java.awt.event.*; import java.awt.*; public class DrawTest { DrawPanel panel; DrawControls controls; public static void main(String args[]) { Frame Shapes = new Frame("Basic Shapes"); DrawPanel panel = new DrawPanel(); DrawControls controls = new DrawControls(panel); Shapes.add("Center", panel); Shapes.add("West",controls); Shapes.setSize(400,300); Shapes.setVisible(true); Shapes.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0); } } ); } [http://www.techfactors.ph] TechFactors Inc. ©2005 }

The DrawPanel program package Group.Lesson10; import java.awt.event.*; import java.awt.*; public class DrawPanel extends Panel { public static final int NONE = 0; public static final int RECTANGLE = 1; public static final int CIRCLE = 2; public static final int SQUARE = 3; public static final int TRIANGLE = 4; int mode = NONE; public DrawPanel() { setBackground(Color.white); }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawPanel program (continued) public void setDrawMode(int mode) { switch (mode) { case NONE: case RECTANGLE: this.mode = mode; case SQUARE: this.mode = mode; break; case CIRCLE: this.mode = mode; break; case TRIANGLE: this.mode = mode; break; } repaint(); }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawPanel program (continued) public void paint(Graphics g) { if (mode == RECTANGLE) { g.fillRect(100, 60, 100,150); } if (mode == CIRCLE) { g.fillOval(100, 90, 100, 100); } if (mode == SQUARE) { g.fillRect(100, 90, 100, 100); } if (mode == TRIANGLE) { int xpoints[] = {90, 150, 210}; int ypoints[] = {90, 200, 90}; int points = 3; g.fillPolygon(xpoints, ypoints, points); } } [http://www.techfactors.ph] }

TechFactors Inc. ©2005

Methods Used

fillRect(int x, int y, int width, int height) fillOval(int x, int y, int width, int height) fillPolygon(Polygon p)

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued) package Group.Lesson10; import java.awt.event.*; import java.awt.*; class DrawControls extends Panel implements ItemListener { DrawPanel target; Panel NorthPanel = new Panel(); Panel CenterPanel = new Panel(); Panel SouthPanel = new Panel(); private static int Shape = 0; private static Color targetColor = Color.red; public DrawControls(DrawPanel target) { this.target = target; setLayout(new BorderLayout()); setBackground(Color.lightGray); target.setForeground(Color.red); NorthPanel.setBackground(Color.lightGray ); NorthPanel.setLayout(new GridLayout(6,1)); [http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued) add(NorthPanel, BorderLayout.NORTH); CheckboxGroup group = new CheckboxGroup(); Checkbox b; NorthPanel.add(new Label(" Shapes ")); NorthPanel.add(b = new Checkbox("Rectangle", group, false)); b.addItemListener(this); NorthPanel.add(b = new Checkbox("Circle", group, false)); b.addItemListener(this); NorthPanel.add(b = new Checkbox("Square", group, false)); b.addItemListener(this); NorthPanel.add(b = new Checkbox("Triangle", group, false)); [http://www.techfactors.ph] TechFactors Inc. ©2005 b.addItemListener(this);

The DrawControl program (continued)

CenterPanel.setLayout(new GridLayout(4,1)); add(CenterPanel,BorderLayout.CENTER); CenterPanel.add(new Label(" Colors ")); Choice colors = new Choice(); colors.addItemListener(this); colors.addItem("red"); colors.addItem("green"); colors.addItem("blue"); colors.addItem("pink"); colors.addItem("orange"); colors.addItem("black"); colors.setBackground(Color.white);

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued) SouthPanel.setLayout(new GridLayout(4,3)); add(SouthPanel, BorderLayout.SOUTH); Button CLEAR = new Button("CLEAR"); Button DRAW = new Button("DRAW"); CLEAR.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent event){ onCommand(1); } } ); DRAW.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent event){ onCommand(2); } } ); SouthPanel.add(CLEAR); SouthPanel.add(DRAW); }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued)

private void onCommand(int btnNUMBER) { switch(btnNUMBER){ case 1: target.setForeground(Color.white); target.setDrawMode(0); break; case 2: target.setForeground(targetColor); target.setDrawMode(Shape); break; } }

[http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued) public void itemStateChanged(ItemEvent e) { if (e.getSource() instanceof Checkbox) { Checkbox b = new Checkbox(); b = (Checkbox)e.getSource(); if ( b.getLabel().equals("Rectangle") ){ Shape = 1; } else if ( b.getLabel().equals("Circle") ){ Shape = 2; } else if ( b.getLabel().equals("Square") ){ Shape = 3; } else if ( b.getLabel().equals("Triangle") ){ Shape = 4; } } [http://www.techfactors.ph] TechFactors Inc. ©2005

The DrawControl program (continued) if (e.getSource() instanceof Choice) { String choice = (String) e.getItem(); if (choice.equals("red")) { targetColor=Color.red; } else if (choice.equals("green")) { targetColor=Color.green; } else if (choice.equals("blue")) { targetColor=Color.blue; } else if (choice.equals("pink")) { targetColor=Color.pink; } else if (choice.equals("orange")) { targetColor=Color.orange; } else if (choice.equals("black")) { targetColor=Color.black; } } } [http://www.techfactors.ph] }

TechFactors Inc. ©2005

Some Features of AWT



Frames



Checkbox



Checkbox Group: Radio Button



Choice



Button

[http://www.techfactors.ph] TechFactors Inc. ©2005

Word Bank

• • • • • •

Abstract Class Component Frame Dialog Panel Layout Manager [http://www.techfactors.ph] TechFactors Inc. ©2005

End of Lesson 10

SUMMARY

[http://www.techfactors.ph] TechFactors Inc. ©2005

Self-check package Lesson10; import java.awt.event.*; import java.awt.*; public class MyPanel { public static void main(String args[]) { Panel WestPanel = new ________; // initialize the panels Panel CenterPanel = new ________; Panel EastPanel = new ________; Panel MainPanel = new ________; Frame f = new Frame(); WestPanel.setLayout(new ________); // set panel layout ________.____(new Label(" 1 ")); // add item to west panel ________.____(new Label(" 2 ")); ________.____(new Label(" 3 ")); ________.____(new Label(" 4 ")); ________.____(new Label(" 5 ")); ________.____(new Label(" 6 ")); CenterPanel.add(new Label(" 1 ")); CenterPanel.add(new Label(" 2 ")); CenterPanel.add(new Label(" 3 ")); CenterPanel.add(new Label(" 4 ")); CenterPanel.add(new Label(" 5 ")); CenterPanel.add(new Label(" 6 ")); f.add(WestPanel,___________.______); f.add(CenterPanel,BorderLayout.CENTER); f.add(new Label("East"),BorderLayout.EAST); f.add(new Label("North"),BorderLayout.NORTH); f.add(new Label("South"),BorderLayout.SOUTH); f.________(250,250);//set the window size f.________(true); //allows the panel to be visible f._______________(new _____________(){// listen for an event in the window public void windowClosing(WindowEvent e) { System.exit(0); } } ); } [http://www.techfactors.ph] TechFactors Inc. ©2005 }

End of Lesson 10

LABORATORY EXERCISE

[http://www.techfactors.ph] TechFactors Inc. ©2005

Related Documents

2 Java
November 2019 10
Java 2
April 2020 12
Java 2
April 2020 12
Java 2
June 2020 12
Java 2
May 2020 14

More Documents from ""

Java 2
June 2020 12