java lab
DESCRIPTION
Java Lab http://leonguyen.comTRANSCRIPT
Outline
- Lab 01: An introduction to Java- Lab 02: Java Language- Lab 03: Class and Relationship- Lab 04: Exception and debugging- Lab 05: Thread- Lab 06: Input/Output- Lab 07: Generic programming and Collections
Github
https://github.com/leonguyen/JavaLab
Lab 01
An introduction to Java
Outline
- Download and install JDK- Write a Helloworld program- Install and use Eclipse to write a Java program- Debugging Programs in Eclipse
Exercise 1
Download and install JDK
JDK & JRE
Task 1 - Download JDK
- Goto Java download site http://www.oracle.com/technetwork/java/javase/downloads/index.html
Task 1 - Download JDK (cont)
- Select Java Platform (JDK), choose your operation platform (eg Window X86) and download it
Task 2 - Install JDK
- Run the downloaded installer, which installs both the JDK (Java Development Kit) and JRE (Java Runtime). By default the JDK and JRE will be installed into directories C:\Program Files\Java
Task 3 - Config PATH environment variables
- Windows Operating System searches the current directory and the directories listed in the PATH environment variable for executable programs invoked from the CMD shell. It helps programmer can compile Java code in CMD shell.- Click the "Start" button > "Control Panel" > "System" > (Vista/7 only) "Advanced system settings"
Task 3 - Config PATH .. (cont)
Task 4 - Verify the JDK Installation
- Launch a CMD shell > type java –version to check that JDK is properly installed and display its version, and javac to check Path work properly too.
Exercise 2
Write a Helloworld program
Task 1 - Open your editor
- For example: Notepad++
Task 2 - Write your code
- Type this code bellow to editor window
Task 2 - Write your code (cont)
- Save the code in a file with the name Helloworld.java- Note: File name must same as class name.
Task 3 - Compile and run on command-line
- Launch a CMD shell > type javac to compile the source code and java to run the program using the JDK runtime
Exercise 3
Install and use Eclipse to write a Java program
Task 1 - Download Eclipse
- Download Eclipse from http://www.eclipse.org/downloads. For beginners, choose the minimal Eclipse IDE for Java Developers.- Unzip the downloaded file into a directory of your choice.
Task 2 - Launch Eclipse
- Open eclipse.exe in the Eclipse installed directory- Choose an appropriate directory for your workspace
Task 3 - Create a new Java Project
- Choose "File" menu > "New" > "Java project"
Task 4 - Write a Java program
- In the "Package Explorer" (left panel) > Right-click on "JavaLab" (or use the "File" menu) > New > Class
Task 4 - Write a Java program (cont)
- Enter the following codes
Task 5 - Compile and Execute
- To run the program, right-click anywhere on the source file "HelloWorld.java" (or from the "Run" menu) > Choose "Run As" > "Java Application".
Exercise 4
Debugging Programs in Eclipse
Task 1 - Create project and write a simple program
- Create a new class named Debug and enter the following code.
Task 2 - Set an Initial Breakpoint
- Set a breakpoint at main() method by double-clicking on the left-margin of the line containing main().
Task 3 - Debug
- Right click anywhere on the source code (or from the "Run" menu) > "Debug As" > "Java Application" > choose "Yes" to switch into "Debug" perspective Step-Over and Watch the Variables and Outputs.
Lab 02
Java Language 01
Outline
- Relational & Logical Operators- Types- Scanner object- If/else- Switch case- Command-Line Arguments
Outline (cont)
- OddEvenSum- Compute PI- Do While statement- Array- Loops and conditional statement- Nested loop- Break label- Continue label- Array Sort- Reverse String- Array of String
Exercise 1
Relational & Logical Operators
Task 1 - Create a RelationalLogicalOpTest class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 2
Types
Task 1 - Create a TypesMinMax class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
Scanner object
Task 1 - Create a ScannerTest class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
If/else
Task 1 - Create a Mark class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
Switch case
Task 1 - Create a Month class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 6
Command-Line Arguments
Task 1 - Create a Arithemetic class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Lab 02 (cont)
Java Language 02
Exercise 1
OddEvenSum
Task 1 - Create a OddEvenSum class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 2
Compute PI
Task 1 - Create a ComputePI class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
Do While statement
Task 1 - Create a DoWhile class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
Array
Task 1 - Create a Arraytest class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
Loops and conditional statement
Task 1 - Create a PrimeList class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 6
Nested loop
Task 1 - Create a PrintPattern class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 7
Break label
Task 1 - Create a JavaGoto class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 8
Continue label
Task 1 - Create a ContinueLabel class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 9
Array Sort
Task 1 - Create a ArrayBubleSort class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 10
Reverse String
Task 1 - Create a ReverString class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 11
Array of String
Task 1 - Create a DayofWeek class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Lab 03
Class
Outline
- Booking Room- Project assignment
What is OOP
Classes and Objects
Lab 03 (cont)
Class
Exercise 1
Booking Room
Class diagram
Task 1 - Create Date class
- Enter the following code.
Task 2 - Create Time class
- Enter the following code.
Task 3 - Create BookingRoomclass
- Enter the following code.
Task 3 - Create BookingRoomclass (cont)
- Enter the following code.
Task 3 - Create BookingRoomclass (cont)
- Enter the following code.
Task 3 - Create BookingRoomclass (cont)
- Enter the following code.
Task 4 - Write a Program class
- Enter the following code.
Task 5 - Execute your program
- Enter the following code.
Exercise 2
Project assignment
Class diagram
Task 1 - Create Teacher class
- Enter the following code.
Task 1 - Create Teacher class (cont)
- Enter the following code.
Task 2 - Create Student class
- Enter the following code.
Task 2 - Create Student class (cont)
- Enter the following code.
Task 3 - Write a Program class
- Enter the following code.
Task 4 - Execute your program
- Enter the following code.
Lab 04
Exception
Outline
- Exception- Try-cath-finally- Creating Your Own Exception Classes- Assertion
Exercise 1
Exception
Diagram
- MobilePhone class to store mobile phone numbers and send a messages to one of of numbers store in the array.- PhoneTest class to demonstrate exception handling.
Task 1 - Create MobilePhone class
- Enter the following code.
Task 1 - Create MobilePhone class (cont)
- Enter the following code.
Task 2 - Create PhoneTest program
- Enter the following code.
Task 3 - Execute your program
- Enter the following code.
Exercise 2
Try-cath-finally
Task 1 - Create TryCatchFinally program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
Creating Your Own Exception Classes
Task 1 - Create MyException class
- Enter the following code.
Task 2 - Create MyExceptionTest program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
Assertion
Task 1 - Create AssertionTest program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
Account in a Bank
Diagram
Diagram (cont)
The management of the A Bank is looking at automation as a means to save time and effort required in their work. In order to achieve this, the management has planned to computerize the following transactions:• Creating a new account• Withdrawing money from an account• Depositing money in an accountThe CEO of the company and a team of experts have chosen your company to provide a solution for the same. Consider yourself to be a part of the team that implements the solution for designing the application.
Diagram (cont)
Create an application using exceptions and assertions to implement the transactions. The application should consist of the following classes.
1. Account.java
2. Account Test.java
3. InsufficientFundException.java
4. NegativeAmountException.java
Each class has a specific purpose and functionality. The descriptions of each class are as follows.
Task 1 - Create Account class
(The Account class represents an actual bank account. It stores the following details of a bank account)• customerName• accountNumber• accountbalance• void displayAccountDetails() : This method displays the details of the account
Task 1 - Create Account class (cont)
• void withdraw() : This method is used to withdraw money from an account. This method accepts the account number and the amount to be withdrawn from the account. The method then searches in the array of accounts for the account number. Use assertions for checking whether the account number and the amount to be withdrawn are positive. Also use an assertion to check if the array of accounts contains a minimum of one account record. The method also throws the user-defined exception InsufficientFund***ception in case the amount to be withdrawn exceeds• void deposit() :This method is used to deposit money in an account. The account number and the amount to be deposited in the account is accepted from the user. Use an assertion to check whether the account number is positive. The method searches for the account number and deposits the amount in the account if it exists. The displayAccountDetails() method is called if the operation succeeds. Use appropriate try catch blocks to handle all the possible exceptions that can be thrown due to the user inputs. A user-defined exception is thrown if the account number does not exist.
Task 2 - Create AccountTest class
(The AccountTest class is a java main class used to test the Account class. It creates an instance of the Account class and displays the following menu of options to the user)· Create a new account· Withdraw Cash· Deposit cash· ExitThe user can select any of the options and a corresponding method is invoked on the instance of the Bank class. Use an assertion to check for the control-flow invariant in case the user types an invalid option. The application exits when the Exit option is selected.
Task 3 - Create InsufficientFundException class
- This is a user-defined exception class derived from the base class Exception. This exception is thrown when the user tries to withdraw more money than the current account balance.
Task 4 - Create NegativeAmountException class
- This is a user-defined exception class derived from the base class Exception. This exception is thrown when the user tries to withdraw or deposit a negative amount.
Lab 05
Thread
Outline
- Use the Thread class- Implement the Runable Interface- Using join() to wait for threads to finish- Thread priority- Synchronization- Dining Philosopher
Exercise 1
Use the Thread class
Task 1 - Create a RunThread class
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 2
Implement the Runable Interface
Task 1 - Create a RunThread1 class
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
Using join() to wait for threads to finish
Task 1 - Create a MyThread class
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
Thread priority
Task 1 - Create Clicker class
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
Synchronization
Unsynchronized and synchronized
Task 1 - Create CountPrimesThread class
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 2 - Main program (cont)
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 6
Dining Philosopher
Concept
Task 1 - Create ChopStick class
- Enter the following code.
Task 2 - Create Philosopher class
- Enter the following code.
Task 2 - Create Philosopher class (cont)
- Enter the following code.
Task 2 - Main program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Lab 06
Input / Output
Stream
- Most fundamental I/O in Java is based on streams- Reading information into a program
- Writing information from a program
java.io package
Outline
- Read a file - BufferedReader- Write a file - BufferedWriter- Write a file - FileOutputStream- List the contents of a directory (Recursively)- Copying a file without Buffering- Copying a file with a Programmer-Managed Buffer- Copying a file with Buffered Streams- Best Copier- InputStreamReader and OutputStreamWriter- BufferedReader and BufferedWriter- PipedReader and PipedWriter- Serializable - ObjectOutputStream
Exercise 1
Read a file - BufferedReader
Task 1 - Create ReadFileBuffered program
- The simplest and most common-used method - BufferedReader.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 2
Write a file - BufferedWriter
Task 1 - Create WriteFileBuffered program
- BufferedWriter is a character streams class to handle the character data. Unlike bytes stream (convert data into bytes), you can just write the strings, arrays or characters data directly to file.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
Write a file - FileOutputStream
Task 1 - Create WriteFileStream program
- FileOutputStream is a bytes stream class that’s used to handle raw binary data. To write the data to file, you have to convert the data into bytes and save it to file.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
List the contents of a directory (Recursively)
Task 1 - Create ListDirectoryRecusive program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
Copying a file without Buffering
Task 1 - Create FileCopyNoBuffer class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 6
Copying a file with a Programmer-Managed Buffer
Task 1 - Create FileCopyUserBuffer class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 7
Copying a file with Buffered Streams
Task 1 - Create FileCopyBuffered class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 8
Best Copier
Task 1 - Create FileCopyUserBufferBest class
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 9
InputStreamReader and OutputStreamWriter
Task 1 - Create UnicodeFileIO program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 10
BufferedReader and BufferedWriter
Task 1 - Create UnicodeFileIOBuffered program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 11
PipedReader and PipedWriter
Task 1 - Create pReader class
- Enter the following code.
Task 2 - Create pWriter class
- Enter the following code.
Task 3 - Main program
- Enter the following code.
Task 4 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 12
Serializable - ObjectOutputStream
Task 1 - Create SerializedObject class
- Enter the following code.
Task 2 - Create SerializedObject class
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Lab 07
Generic
Outline
- Generic class and Wildcard- Student List- ArrayList- Employee Management- LinkedList- Set- Map
Exercise 1
Generic class and Wildcard
Task 1 - Create Box class
- Enter the following code.
Task 2 - Create the program
- Enter the following code.
Task 3 - Execute your program
- Choose "Run As" > "Java Application".
Task 4 - Create A, B, C class
- Enter the following code.
Task 5 - Create BoxB, BoxC class
- Enter the following code.
Task 6 - Create Test BoxB, BoxC program
- Choose "Run As" > "Java Application".
Task 7 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 2
Student List
Student List
Task 1 - Create Student class
- Enter the following code.
Task 2 - Create StudentList class
- Enter the following code.
Task 3 - Create the program
- Enter the following code.
Task 4 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 3
ArrayList
Task 1 - Create ExArrayList program
- Enter the following code.
Task 2 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 4
Employee Management
Task 1 - Create Employee class
- Enter the following code.
Task 2 - Create HREmpoyee class
- Enter the following code.
Task 3 - Create the program
- Enter the following code.
Task 4 - Execute your program
- Choose "Run As" > "Java Application".
Task 5 - Create EmpoyeeDetail class
- Enter the following code.
Task 6 - Edit the program
- Enter the following code.
Task 7 - Execute your program
- Choose "Run As" > "Java Application".
Exercise 5
LinkedList
Task 1 - Create ExLinkedList program
- Enter the following code.
Task 1 - Create ExLinkedList program (cont)
- Enter the following code.
Task 1 - Create ExLinkedList program (cont)
- Enter the following code.
Task 2 - Execute your program
- Enter the following code.
Exercise 6
Set
Task 1 - Create ListDirectoryRecusive class
- Enter the following code.
Task 2 - Execute your program
- Enter the following code.
Exercise 7
Map
Task 1 - Create ExMap program
- Enter the following code.
Task 1 - Create ExMap program (cont)
- Enter the following code.
Task 2 - Execute your program
- Enter the following code.