https://github.com/nguyennhathuynh/pratices-java-core
(Status : Done) Luyện Tập Java Core!
https://github.com/nguyennhathuynh/pratices-java-core
java-core
Last synced: 10 months ago
JSON representation
(Status : Done) Luyện Tập Java Core!
- Host: GitHub
- URL: https://github.com/nguyennhathuynh/pratices-java-core
- Owner: NguyenNhatHuynh
- Created: 2024-12-17T04:53:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-21T07:27:10.000Z (10 months ago)
- Last Synced: 2025-02-21T08:27:36.032Z (10 months ago)
- Topics: java-core
- Language: Java
- Homepage:
- Size: 109 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Khóa Học Java Core
Chào mừng bạn đến với khóa học **Luyện Tập Java Core**! Khóa học này bao gồm các phần từ cơ bản đến nâng cao về lập trình Java, giúp bạn nắm vững kiến thức từ biến, vòng lặp, mảng, đến lập trình hướng đối tượng, kế thừa, đa hình, và nhiều kiến thức khác.
## Nội Dung Khóa Học
Khóa học được chia thành 11 chapters, với các chủ đề sau:
### Chapter 1: Lab 01
- **Java là gì?**
- **Setup Java**
- **Hello World with Java**
- **Variables (Khái niệm biến)**
- **Các hàm xuất ra màn hình**
- **Các hàm toán học**
- **Bài tập Lab 01**
- **Chữa bài tập Lab 01**
---
### Chapter 2: Lab 02
- **Java Data Types (Kiểu dữ liệu)**
- **Java Operators (Toán tử)**
- **Java If...Else**
- **Java Switch**
- **Bài tập Lab 02**
- **Chữa bài tập Lab 02**
---
### Chapter 3: Lab 03
- **Vòng lặp (Loop)**
- **Array**
- **Luyện tập Array và Loop**
- **Bài tập Lab 03**
- **Chữa bài tập Lab 03**
---
### Chapter 4: Lab 04
- **Lập trình hướng đối tượng (OOP) là gì?**
- **Khái niệm Class và Object**
- **Thực hành tạo Class/Object**
- **Class Attributes (Thuộc tính của Class)**
- **Class Method (Phương thức của class)**
- **Định nghĩa hàm tạo (constructor)**
- **Access Modifier (private/public/protected)**
- **Encapsulation**
- **Bài tập Lab 04**
- **Chữa bài tập Lab 04**
---
### Chapter 5: Lab 05
- **Non-primitive (reference) data type**
- **Java Autoboxing/Unboxing (Object wrapper class)**
- **ArrayList là gì?**
- **Java Generics (Basic)**
- **Bài tập Lab 05**
- **Chữa bài tập Lab 05**
---
### Chapter 6: Lab 06
- **String (Chuỗi)**
- **Bài tập sử dụng String**
- **Regular Expression**
- **Bài tập Regular Expression**
---
### Chapter 7: Lab 07
- **Java Inheritance**
- **Super Keyword trong Java**
- **Abstract Class (Basic)**
- **Polymorphism (Tính đa hình)**
- **Bài tập Lab 07**
- **Chữa bài tập Lab 07**
---
### Chapter 8: Lab 08
- **Interface**
- **Interface với Java 8**
- **Java Package**
- **Bài tập Lab 08**
- **Chữa bài tập Lab 08**
---
### Chapter 9: Lab 09
- **Try...catch**
- **Keyword finally**
- **Keyword Throws và Throw**
- **Bài tập Lab 09**
- **Chữa bài tập Lab 09**
---
### Chapter 10: Lab 10
- **Tổng quan về Java IO (Stream)**
- **Phân loại Stream với Java IO**
- **Ví dụ về Read/Write File**
- **Path Class**
---
### Chapter 11: Lab 11
- **Processes and Threads**
- **Thread Objects**
- **What's next? Tổng kết các kiến thức đã học**
---
## To-Do List Học Tập
Bạn có thể đánh dấu vào các mục đã hoàn thành trong khóa học này:
- [x] **Chapter 1: Lab 01**
- [x] Java là gì?
- [x] Setup Java
- [x] Hello World with Java
- [x] Variables (Khái niệm biến)
- [x] Các hàm xuất ra màn hình
- [x] Các hàm toán học
- [x] Bài tập Lab 01
- [x] Chữa bài tập Lab 01
- [x] **Chapter 2: Lab 02**
- [x] Java Data Types (Kiểu dữ liệu)
- [x] Java Operators (Toán tử)
- [x] Java If...Else
- [x] Java Switch
- [x] Bài tập Lab 02
- [x] Chữa bài tập Lab 02
- [x] **Chapter 3: Lab 03**
- [x] Vòng lặp (Loop)
- [x] Array
- [x] Luyện tập Array và Loop
- [x] Bài tập Lab 03
- [x] Chữa bài tập Lab 03
- [ ] **Chapter 4: Lab 04**
- [x] Lập trình hướng đối tượng (OOP) là gì?
- Lập trình hướng đối tượng (Object-Oriented Programming) là phương pháp lập trình dựa trên việc sử dụng các đối tượng (objects) và lớp (classes). OOP tổ chức chương trình thành các thực thể có tính độc lập, mỗi thực thể là một đối tượng có thuộc tính và hành vi.
- Đặc điểm chính:
+ Tính đóng gói (Encapsulation): Gộp dữ liệu và các phương thức xử lý dữ liệu vào trong một lớp. Bên ngoài không thể truy cập trực tiếp vào dữ liệu nếu không thông qua phương thức lớp.
+ Tính kế thừa (Inheritance): Một lớp có thể kế thừa thuộc tính và phương thức từ lớp khác.
+ Tính đa hình (Polymorphism): Các đối tượng có thể có nhiều hình thái khác nhau.
+ Tính trừu tượng (Abstraction): Chỉ hiển thị các thuộc tính, hành vi cần thiết, che giấu chi tiết phức tạp.
- [x] Khái niệm Class và Object
- Class chính là "đối tượng tổng quát" của real-word được mô phỏng
- Object là các thực thể chi tiết của class đấy (instance)
- *Class is a template for objects, and an object is an instance of a class. => lớp là mẫu cho các đối tượng và đối tượng là một thể hiện của một lớp.
- *When the individual objects are created, they inherit all the variables and methods from the class. => Khi các đối tượng riêng lẻ được tạo, chúng kế thừa tất cả các biến và phương thức từ lớp.
- [x] Thực hành tạo Class/Object
- [x] Class Attributes (Thuộc tính của Class)
- [x] Class Method (Phương thức của class)
- [x] Định nghĩa hàm tạo (constructor)
- [x] Access Modifier (private/public/protected)
- Link StackOverFlow: [Link StackOverFlow](https://stackoverflow.com/questions/215497/what-is-the-difference-between-public-protected-package-private-and-private-in)
- Mức độ truy cập (từ rộng nhất đến hẹp nhất):
```bash
public > protected > package-private > private
```
- [x] Encapsulation
- [x] Bài tập Lab 04
- [x] Chữa bài tập Lab 04
- [x] **Chapter 5: Lab 05**
- [x] Non-primitive (reference) data type
- [x] Java Autoboxing/Unboxing (Object wrapper class)
- [x] ArrayList là gì?
- [x] Java Generics (Basic)
- [x] Bài tập Lab 05
- [x] Chữa bài tập Lab 05
- [x] **Chapter 6: Lab 06**
- [x] String (Chuỗi)
- [x] Bài tập sử dụng String
- [x] Regular Expression
- [x] Bài tập Regular Expression
- [x] **Chapter 7: Lab 07**
- [x] Java Inheritance
- [x] Super Keyword trong Java
- [x] Abstract Class (Basic)
- [x] Polymorphism (Tính đa hình)
- [x] Bài tập Lab 07
- [x] Chữa bài tập Lab 07
- [x] **Chapter 8: Lab 08**
- [x] Interface
- [x] Interface với Java 8
- [x] Java Package
- [x] Bài tập Lab 08
- [x] Chữa bài tập Lab 08
- [x] **Chapter 9: Lab 09**
- [x] Try...catch
- [x] Keyword finally
- [x] Keyword Throws và Throw
- [x] Bài tập Lab 09
- [x] Chữa bài tập Lab 09
- [x] **Chapter 10: Lab 10**
- [x] Tổng quan về Java IO (Stream)
- [x] Phân loại Stream với Java IO
- [x] Ví dụ về Read/Write File
- [x] Path Class
- [x] **Chapter 11: Lab 11**
- [x] Processes and Threads
- [x] Thread Objects
- [x] What's next? Tổng kết các kiến thức đã học