Professional Documents
Culture Documents
I- BASIC JAVA
1. Scanner
*import java.util.Scanner;
Khai báo: Scanner /tên scanner/ = new Scanner(System.in);
Cách dùng: /kiểu dữ liệu/ /tên biến/ = /tên scanner/.next/tên kiểu dữ liệu/();
VD: Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
2. Random
*import java.util.Random;
Khai báo: Random /tên random/ = new Random();
Cách dùng: /kiểu dữ liệu/ /tên biến/ = /tên scanner/.next/tên kiểu dữ liệu/(khoảng
random);
VD: Random dice = new Random();
Int x = dice.nextInt(6)+1;
Chú ý: -Nếu khoảng random là x thì giá trị random sẽ chạy từ 0 tới x – 1
-Nếu kiểu dữ liệu là Double thì khoảng random sẽ là từ 0 đến 1
3. Array
Khai báo: /kiểu dữ liệu/[ ] /tên mảng/ = new /kiểu dữ liệu/[size];
Cách dùng: /tên mảng/[index] = /giá trị/;
VD: int[] k = new int[2];
k[0] = 6;
k[1] = 2;
4. 2D Array
Khai báo: /kiểu dữ liệu/[ ][ ] /tên mảng/ = new /kiểu dữ liệu/[size x] [size y];
Cách dùng: /tên mảng/[index x] [index y]= /giá trị/;
VD: int[ ] [ ] k = new int[2][3];
k[0][0] = 6;
k[0][1] = 2;
k[0][2] = 1;
k[1][0] = 3;
k[1][1] = 4;
k[1][2] = 5;
5. String method
Dùng cho kiểu dữ liệu String
1 số methods thường dùng;
equals(/String2/): so sánh 2 String
equalsIgnoreCase(/String2/): so sánh 2 String mà không quan tâm viết hoa
length(): độ dài String
charAt(index): tìm kí tự tại vị trí *index*(nếu index vượt quá =>lỗi)
indexOf(‘/kí tự/’): tìm chỉ số nhỏ nhất của kí tự(nếu không có kí tự thì return -1)
indexOf(“/chuỗi/”): tương tự
isEmpty(): kiểm tra String có rỗng không
toUpperCase(): viết hoa toàn bộ >< toLowerCase(): viết thường toàn bộ
replace(‘x’, ‘y’): thay toàn bộ kí tự x bằng kí tự y
*Có thể dùng method với 1 số kiểu dữ liệu khác khi khai báo dữ liệu ta
viết hoa và đầy đủ tên kiểu dữ liệu(VD: Integer x)
6. Array List
*import java.util.ArrayList;
Khai báo: ArrayList</tên kiểu dữ liệu*/> /tên ds mảng/ = new ArrayList();
Cách dùng: /tên ds mảng/.add(/giá trị/);
*tên kiểu dữ liệu phải viết hoa và đầy đủ
VD: ArrayList<Integer> height = new ArrayList();
height.add(182);
height.add(172);
7. 2D Array List
*import java.util.ArrayList;
Khai báo: ArrayList<ArrayList</tên kiểu dữ liệu/*>> /tên ds mảng/ = new
ArrayList();
/* tạo mảng con*/
/tên ds mảng/.add(/tên mảng con/);
*tên kiểu dữ liệu phải viết hoa và đầy đủ
VD: ArrayList<ArrayList<String>> human = new ArrayList();
ArrayList<String> male = new ArrayList();
ArrayList<String> female = new ArrayList();
human.add(male);
human.add(female);
8. Methods
*1 Methods được khai báo sau public class main
Khai báo: (static) /kiểu dữ liệu/ /tên methods/(/biến/){}
VD: static int sum(int x, int y){
return x+ y;
}
II- OOP
1. Object
New -> Class -> Đặt tên Class
Trong Class khai báo các thuộc tính và methods của Object
VD: public class Car {
String name = "BMW";
int mass = 250;
double speed = 350.5;
void drive(){
System.out.println("You drive the car");
}
}
Khai báo: /tên class/ /tên tùy chọn/ = new /tên class/();
Cách dùng: /tên tùy chọn/./tên method hoặc thuộc tính/();
VD: Car mycar = new Car();
System.out.println(mycar.mass());
mycar.drive();
2. Constructor (Có thể khai báo tên khác nhau cho mỗi đối tượng)
*Trong class
Khai báo: khai báo các thuộc tính và không gán giá trị
Tạo hàm bằng cú pháp:
/tên class/(/kiểu dữ liệu các thuộc tính/){
this./thuộc tính/ = /thuộc tính/;
}
Tạo method: Tương tự như phần 1, nhưng khi truy cập đến các thuộc tính
thì sử dụng this./thuộc tính/
VD: String name;
int age;
double height;
Human(String name, int age, double height){
this.name = name;
this.age=age;
this.height = height;
}
void introduce(){
System.out.printf("%s is %d years old and his height is %f cm",
this.name, this.age, this.height);
}
*Trong main
Khai báo: /tên class/ /tên tùy chọn/ = new /tên class/(/các thuộc tính/);
Cách dùng: /tên tùy chọn/./tên method hoặc thuộc tính/();
VD: Human human1 = new Human(“Huy”, 19, 172);
human1.introduce();
3. Array of Objects (Mảng đối tượng)
Khai báo:
C1: /tên class/[ ] /tên mảng/ = new /tênclass/[size];
Sau đó tạo các objects rồi gán
VD: Car[ ] garage = new Car[2];
Car car1 = new Car(“BMW”);
Car car2 = new Car(“Merc”);
garage[0] = car1;
garage[1] = car2;
C2: Tạo các object
/tên class/[ ] /tên mảng/ = {/các objects/};
VD: Car car1 = new Car(“BMW”);
Car car2 = new Car(“Merc”);
Car[ ] garage = {car1, car2};
Cách dùng: Tương tự với các objects thông thường, chỉ thêm chỉ số
4. Truyền đối tượng (Sử dụng object như 1 biến)
Khai báo: ở Class chứa object ta cần khai báo object đó
VD: *class Human:
String name;
Human(String name){
this.name = name;
}
*class Car:
String name;
Car(String name){
this.name = name;
}
void drive(Human human1){
System.out.println(human1.name+” is driving the “+this.name”);
*class Main
Car car1 = new Car(“BMW”);
Human human1 = new Human(“Jack”);
Car.drive(human1);
5. Static keywords
-có thể dùng với biến hoặc methods trong class, khiến cho biến hoặc
methods trở thành đặc tính chung của bất kể bao nhiêu đối tượng được
thành lập, giúp tiết kiệm bộ nhớ
Cú pháp: static /kiểu dữ liệu/ /tên biến hoặc method/;
VD: *Class Car
String name;
static String KindOfCar = “pedal”;
static int numberOfCar;
Car(String name){
numberOfCar++;
this.name = name;
}
*Class Main
Car car1 = new Car(“BMW”);
Car car2 = new Car(“Vinfast”);
System.out.println(Car.KindOfCar);
System.out.println(Car.numberOfCar);
6. Kế thừa
Sử dụng khi có 1 class (con) bao gồm tất cả các thuộc tính của 1 class
khác (cha)
Cú pháp: public class /tên class con/ extends /tên class cha/{}
VD: *Class Vehicle
public class Vehicle{
Void go(){
System.out.println(“This vehicle is going”);
}
}
*Class Car
public class Car extends Vehicle{
int wheels;
int doors;
Car(int wheels, int doors){
this.wheels = wheels;
this.doors = doors;
}
}
*Class Main
Car car1 = new Car(4, 4);
car1.go();
}
Class Main
Circle c = new Circle(4);
System.out.println(c.s());
9. Các kiểu truy cập (Package => Class)
VD: Cho cấu trúc gồm 2 Package đã được import vào nhau
Package 1: Class A, Class B
Package 2: Class C, Class Asub(Class con của A)
Lưu ý: muốn run Class nào cần public static void main(String[ ] args){}
13.