Bài giảng Slide được biên soạn rất đầy đủ , phù hợp cho mọi người , những ai đã nắm chắc lập trình hướng đối tượng thì học java khá đơn giản . Tài liệu bao gồm : + Lịch sử Java và cách cài đặt + Lập trình hướng đối tượng trong Java + Tìm hiểu các hàm , các lệnh trong Java + Bài tập về java mọi chủ điểm + Thư viện + Cách làm web trong java + Một số dự án cơ bản trong java
Trang 1JAVA CORE
Trang 2• Overview and setup
• Rule & syntax
• Object and Classes
Trang 3OVERVIEW AND SETUP
Trang 4JAVA – OVERVIEW
• Java programming language was originally developed by Sun Microsystems
• Java built to suit various types of platforms
– For example: J2EE for Enterprise Applications, J2ME for Mobile Applications
• The latest release of the Java Standard Edition is Java SE 9
• Java is guaranteed to be Write Once, Run Anywhere.
Trang 5JAVA – OVERVIEW
• In Java, everything is an Object Java can be easily extended since it is based on the Object model
• Java is Platform Independent
– This byte code is run in the Virtual Machine (JVM)
• Java is designed to be easy to learn If you understand the basic concept of OOP Java,
it would be easy to master
Trang 6HOW DOES IT WORK?
Trang 7• Download and install
– http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloa
ds-2133151.html
• Setting Up the Path for Windows
• Assuming you have installed Java in c:\Program Files\java\jdk directory
• Right-click on 'My Computer' and select 'Properties'
• Click the 'Environment variables' button under the 'Advanced' tab
• Now, alter the 'Path' variable so that it also contains the path to the Java
executable Example, if the path is currently set to 'C:\WINDOWS\SYSTEM32',
then change your path to read 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'
HOW TO SETUP?
Trang 8• Open command line and enter:
java –version
HOW TO SETUP?
Trang 9• Setup path JAVA_HOME
Trang 10• Create new file with path
E:\training\javacore\helloword\Helloworld.java
• Open file with notepath ++ or any java editor
• Write this codes:
public class Helloworld {
/* This is my first java program
* This will print 'Hello World‘ as the output */
public static void main(String[] args) {
System.out.println("Hello, World"); // prints Hello World
}
}
FIRST JAVA PROGRAM
Trang 11• Open command line and type
javac Helloworld.java
→ Java Will complier and generate Helloworld.class
Trang 12FIRST JAVA PROGRAM
• Type 'java Helloworld' to run your program
• You will be able to see ' Hello, World ' printed on the window
Trang 13FIRST JAVA PROGRAM
• Try to print your name to console
• Try to print 7+6*9=?
Trang 14RULE & SYNTAX
Trang 15CLASS, METHODS, INSTANCE VARIABLES,
OBJECT
Trang 16BASIC RULE
• Case Sensitivity: Hello and hello would have different meaning in Java
• Class Names: For all class names the first letter should be in Upper Case If several words are
used to form a name of the class, each inner word's first letter should be in Upper Case.
– Example: class MyFirstJavaClass
• Method Names: All method names should start with a Lower Case letter If several words are
used to form the name of the method, then each inner word's first letter should be in Upper Case.
– Example: public void myMethodName()
Trang 17BASIC RULE
• Program File Name − Name of the program file should exactly match the class name.
When saving the file, you should save it using the class name (Remember Java is case sensitive) and append '.java' to the end of the name (if the file name and the class name do not match, your program will not compile).
– Example: Assume 'MyFirstJavaProgram' is the class name Then the file should
be saved as 'MyFirstJavaProgram.java'
• public static void main(String args[]) − Java program processing starts from the main()
method which is a mandatory part of every Java program.
Trang 18JAVA IDENTIFIERS
• Names used for classes, variables, and methods are called identifiers.
Trang 19JAVA IDENTIFIERS
• All identifiers should begin with a letter (A to Z or a to z), currency character ($) or an underscore (_)
– Example: $salary, _value, 1_value.
• After the first character, identifiers can have any combination of characters
• A key word cannot be used as an identifier
• Most importantly, identifiers are case sensitive
– Examples of legal identifiers: age, $salary, _value, 1_value.
– Examples of illegal identifiers: 123abc, -salary.
Trang 20JAVA MODIFIERS(quyen truy cap)
• Like other languages, it is possible to modify classes, methods, etc., by using modifiers
• Access Modifiers − default, public , protected, private
• Non-access Modifiers − final, abstract, strictfp
Trang 21JAVA MODIFIERS
• Access Modifiers − default, public , protected, private
Trang 22JAVA VARIABLES
• Local Variables(bien nam trong Phuong thuc)
• Class Variables (Static Variables)
• Instance Variables (Non-static Variables)
Trang 23JAVA VARIABLES
• Declare variable:
– data type variable [ = value][, variable [ = value] ] ;
Trang 24JAVA VARIABLES
Trang 26JAVA COMMENTS
Trang 27• Create Student Class has name, age and gender
• Create 3 student:
– Student 1: name Dave, as boy and 6 age
– Student 2: name Join, as boy and 7 age
– Student 3: name Juli, as girl and 6 age
• Print the info 3 student to console
Trang 28• Add static variable studentNumber start is 1
• Increase each create new Student
• Create 3 student:
– Student 1: name Dave, as boy and 6 age
– Student 2: name Join, as boy and 7 age
– Student 3: name Juli, as girl and 6 age
• Print student Number after add 3 student
Trang 29• Design program has
– 2 ClassRoom
• ClassRoom1 has 3 student on lab1
– Student 1: name Dave, as boy and 6 age
– Student 2: name Join, as boy and 7 age
– Student 3: name Juli, as girl and 6 age
• ClassRoom2 has 2 student
– Student 1: name Jame, as boy and 6 age
– Student 2: name Mary, as girl and 7 age
Trang 30GIT
• Using git practice:
• To init and get code from github
git init
git clone https://github.com/thanhtrantv/Javacore.git
• To get code using command:
git pull
• To reset code to newest
git reset –hard origin/master
Trang 31OBJECT AND CLASSES
Trang 32WHAT IS CLASS, OBJECT?
• Object − Objects have states and behaviors Example: A dog has states
- color, name, breed as well as behaviors – wagging the tail, barking,
eating An object is an instance of a class
• Class − A class can be defined as a template/blueprint that describes the
behavior/state that the object of its type support
Trang 33OBJECT IN JAVA
• If we consider the real-world, we can find many objects around us, cars, dogs, humans, etc All these objects have a state and a behavior
• If we consider a dog, then its
– state is - name, breed, color,
– and the behavior is - barking, wagging the tail, running.
• If you compare the software object with a real-world object, they have very similar characteristics
• A software object's state is stored in fields and behavior is shown via methods
Trang 35CONSTRUCTORS
• Each time a new object is created, at least one constructor will be
invoked The main rule of constructors is that they should have the same name as the class A class can have more than one constructor
Trang 36CONSTRUCTORS
• Every class has a least of constructor
• If we do not explicitly write a constructor for a class, the Java compiler builds a default constructor for that class
Trang 37public Puppy(String name) {
// This constructor has one parameter, name
}
}
Trang 38CREATING AN OBJECT
• There are three steps when creating an object from a class
– Declaration − A variable declaration with a variable name with an
object type
– Instantiation − The 'new' keyword is used to create the object.
– Initialization − The 'new' keyword is followed by a call to a
constructor This call initializes the new object
Trang 39CREATING AN OBJECT
• Example:
public class Puppy {
public Puppy(String name) {
// This constructor has one parameter, name
System.out.println("Passed Name is :" + name );
}
public static void main(String []args) {
// Following statement would create an object myPuppy Puppy myPuppy = new Puppy( "tommy" );
}
}
Trang 40ACCESSING INSTANCE VARIABLES AND METHODS
• Instance variables and methods are accessed via created
objects
• To access an instance variable, following is the fully qualified path
Trang 42• Design Class with below describe:
– A dog has :
• states - color, name, breed
• behaviors – wagging the tail, barking, eating
Trang 43• Design Class with below describe:
– Teacher with state is name, age, subject and the behavior is teaching
– Subject with state is name, classId
– We can create teacher with name and age
– We can create teacher with subject(class)
– We can create Subject with name
– → print to console info:
– Teacher Tam teaching Mathematics for Class 1
Trang 44• Design Class with below describe:
– Same lab2 Teacher and Subject
– Student with name, age and behavior is learning
→ the teacher will teaching a Subject
→ the student will learning some Subject(array)
Trang 45DATA TYPES
Trang 46WHAT IS DATA TYPES AVAILABLE IN JAVA?
• There are two data types available in Java
– Primitive Data Types
– Reference/Object Data Types
Trang 47PRIMITIVE DATA TYPES
• There are eight primitive data types supported by Java
• byte
– Example: byte a = 100, byte b = -50
– Minimum value is -128 (-2^7)
– Maximum value is 127 (inclusive)(2^7 -1)
– Byte data type is an 8-bit
Trang 48PRIMITIVE DATA TYPES
• short
– Short data type is a 16-bit
– Minimum value is -32,768 (-2^15)
– Maximum value is 32,767 (inclusive) (2^15 -1)
– Example: short s = 10000, short r = -20000
Trang 49PRIMITIVE DATA TYPES
• int
– Int data type is a 32-bit
– Minimum value is - 2,147,483,648 (-2^31)
– Maximum value is 2,147,483,647(inclusive) (2^31 -1)
– Example: int a = 100000, int b = -200000
Trang 50PRIMITIVE DATA TYPES
• long
– Long data type is a 64-bit
– Minimum value is -9,223,372,036,854,775,808(-2^63)
– Maximum value is 9,223,372,036,854,775,807 (inclusive)(2^63 -1)
– Example: long a = 100000L, long b = -200000L
Trang 51PRIMITIVE DATA TYPES
Trang 52PRIMITIVE DATA TYPES
• double
– double data type is a double-precision 64-bit
– Example: double d1 = 123.4
Trang 53PRIMITIVE DATA TYPES
• boolean
– boolean data type represents one bit of information
– Default value is false
– Example: boolean one = true
Trang 55JAVA - WRAPPER CLASS
• Normally, when we work with Numbers, we use primitive data types such
as byte, int, long, double, etc
• However, in development, we come across situations where we need to use objects instead of primitive data types In order to achieve this, Java
provides wrapper classes.
Trang 56JAVA - ARRAYS
• Java provides a data structure, the array, which stores a fixed-size
sequential collection of elements of the same type
Trang 57JAVA - ARRAYS
Trang 58• Create Job class with
– Job type is string
– Job name is string
– → Employee working a job
– → all parameter is private and using get set
Trang 59• Using class on lab1
• The company has the jobs(HR, Developer, CEO, Tester, BA)
Trang 60• Build a program to enter 5 employee for the company then show the info to console
Trang 61OPERATOR, DECISION MAKING,
LOOP
Trang 63CONDITIONAL OPERATOR ( ? : )
• variable x = (expression) ? value if true : value if false
Trang 64THE LOGICAL OPERATORS
• Assume Boolean variables A holds true and variable B holds false
Trang 65THE ASSIGNMENT OPERATORS
Trang 66THE RELATIONAL OPERATORS
Trang 69DECISION MAKING
• Decision making structures have one or more conditions to be evaluated or tested by the program,
• along with a statement or statements that are to be executed if the condition is
determined to be true, and optionally, other statements to be executed if the
condition is determined to be false
Trang 70DECISION MAKING
Trang 72IF-ELSE STATEMENT
• Syntax
Trang 73SWITCH STATEMENT
• Syntax
Trang 74SWITCH STATEMENT
• Diagram
Trang 75SWITCH STATEMENT
• Example
Trang 76• Create class employee(name, age, job is string,salary,department)
• Build a program to enter 5 employee for the company then show the info
to console
• If employee job is ‘developer’ will put department is ‘development’
• If employee job is ‘tester’ will put department is ‘QA’
• If not -> will put department is ‘master’
Trang 77• while Loop in java
• for loop in java
• do while loop in java
Trang 78WHILE LOOP IN JAVA
Trang 79FOR LOOP IN JAVA
Trang 80DO WHILE LOOP IN JAVA
Trang 82INHERITANCE OVERRIDING POLYMORPHISM ABSTRACTION ENCAPSULATION INTERFACES PACKAGES
Trang 83INHERITANCE
Trang 84WHAT IS INHERITANCE?
Trang 85HOW TO WRITE INHERITANCE ON JAVA?
• extends is the keyword used to inherit the properties of a class
Trang 86• Using instanceof keyword to check determine actually type class
• Invoking Superclass Constructor using super(values);
Trang 87• Create same image example above slide
• Animal has name, age
• Write main class and create new Tiger, Dog, Elephant, Parrot
• Assign the name and age of each animal
Trang 88OVERRIDING
Trang 89WHAT IS OVERRIDING?
• In object-oriented terms, overriding means to override the functionality of an existing method
Trang 90HOW TO WRITE OVERRIDING ON JAVA?
Trang 91• Using @Override on java8
• Using super keyword to call parent function from child
• A method declared final cannot be overridden
• If a method cannot be inherited, then it cannot be overridden
Trang 92LAB2
Trang 93POLYMORPHISM
Trang 94WHAT IS POLYMORPHISM?
• Polymorphism is the ability of an object to take on many forms
The most common use of polymorphism in OOP occurs when a
parent class reference is used to refer to a child class object
Trang 95WHAT IS POLYMORPHISM?
Trang 96HOW TO WRITE POLYMORPHISM TYPE IN JAVA?
• For Requirement Example
– A Deer IS-A Animal
– A Deer IS-A Vegetarian
– A Deer IS-A Deer
– A Deer IS-A Object
Trang 97HOW TO WRITE POLYMORPHISM TYPE IN JAVA?
Trang 98LAB3 (STEP1)
• Create the class follow this:
Trang 99LAB3 (STEP2)
• Write main class with processShape function
• Create 1 Rectangle and 1 Triangle then call processShape process for each shape
• processShape function has parameter is Shape
– Print share info
– Print area shape
• Triangle compute area(0.5*base*height)
• Rectangle compute area(length*width)
Trang 100ABSTRACTION
Trang 102WHAT IS ABSTRACTION?
Shape must calculate area
Trang 103HOW TO WRITE ABSTRACTION ON JAVA?
• Using abstract keyword
• Abstract classes may or may not contain abstract methods, i.e., methods without body ( public void get(); )
• if a class has at least one abstract method, then the class must be declared
abstract.
• To use an abstract class, you have to inherit it from another class, provide
implementations to the abstract methods in it
• If a class is declared abstract, it cannot be instantiated
Trang 104Define Shape class is abstract class
• getArea is abstract method
Trang 105ENCAPSULATION
Trang 106WHAT IS ENCAPSULATION?
• Encapsulation is one of the four fundamental OOP concepts The other three are
inheritance, polymorphism, and abstraction
• Encapsulation in Java is a mechanism of wrapping the data (variables) and code acting on the data (methods) together as a single unit
Trang 107WHAT IS ENCAPSULATION?
• The variables of a class will be hidden from other classes, and can be accessed only
through the methods of their current class Therefore, it is also known as data hiding
Trang 108HOW TO WRITE ENCAPSULATION ON JAVA?
• To achieve encapsulation in Java
– Declare the variables of a class as private
– Provide public setter and getter methods to modify and view the variables values
Trang 110• Apply Encapsulation for any class , except main class
Trang 111INTERFACES
Trang 112WHAT IS INTERFACES?
• An interface is a reference type in Java It is similar to class
• It is a collection of abstract methods A class implements an interface, thereby
inheriting the abstract methods of the interface
• Writing an interface is similar to writing a class But a class describes the attributes and behaviors of an object
• And an interface contains behaviors that a class implements
Trang 113WHAT IS INTERFACES?
• Unless the class that implements the
interface, all the methods of the
interface need to be defined in the
class
Example
Trang 114WHAT IS DIFFERENT WITH A CLASS
• You cannot instantiate an interface
• An interface does not contain any constructors
• All of the methods in an interface are abstract
• An interface cannot contain instance fields The only fields that can appear in an interface must be declared both static and final
• An interface is not extended by a class; it is implemented by a class
• An interface can extend multiple interfaces