Please enable JavaScript.
Coggle requires JavaScript to display documents.
LESSON 02 - DATA STRUCTURES - Coggle Diagram
LESSON 02 - DATA STRUCTURES
1. Cấu trúc của chương trình
Cấu trúc dữ liệu
Thuộc tính /Biến
KDL nguyên thủy
Mục đích: lưu trữ dữ liệu
Đặc điểm: dữ liệu đơn
Lưu trữ:
STACK
KDL đối tượng
Đặc điểm
Dữ liệu đơn: Integer(value), String, Long, Item(id)
Dữ liệu có nhiều thông tin: Item(id, name, price)
Lưu trữ:
HEAP
Mục đích: lưu trữ dữ liệu
Thuật toán
Hàm/Phương thức
2. Cấu trúc của 1 hàm
Access modifier + [static] + Return type + Tên hàm/phương thức (tham số truyền vào) {
<body>
}
Hàm
main
là nơi bắt đầu và kết thúc của một chương trình
return;
=> kết thúc hàm void
3. Biến toàn cục và biến cục bộ
3.1 Global variable (attribute)
Phạm vi sử dụng: Ở bất kỳ đâu - trong class or bên ngoài class hiện tại (phụ thuộc vào access modifier)
Cú pháp khai báo:
[access modifier] [static] [final] datatype variablename
Khai báo và sử dụng trong các class, interface ...
3.2 Local variable
Phạm vi sử dụng: BLOCK CODE {}
Cú pháp khai báo:
datatype variablename
Khai báo và sử dụng trong các phương thức, cấu trúc điều khiển
4. Final
Nhưng vẫn có thể gán lại giá trị ở HEAP
Một biến kiểu đối tượng nên cho "final"
→ Hạn chế tạo vùng nhớ rác ở JVM → Giúp dự án chạy tốt hơn
Một khi đã dùng "final" thì không thể sử dụng lại toán tử "="
Không thể gán lại giá trị ở STACK
5. Toán tử - Operator
5.1 Prefix & Suffix
prefix → xử lý trước rồi mới in ra giá trị
↓
++a
suffix → in rồi mới xử lý sau
↓
a++
5.2 Boolean variable
if (variable) <=> if (variable == true)
if (
!
variable) <=> if (variable == false)
5.3 Toán tử 3 ngôi
Type + variable = <condition> ? <value 1> : <value 2>
<condition> true => variable = value 1
<condition> false => variable = value 2
VD: String result = (number % 2 == 0) ? "EVEN" : "ODD";
Cấu trúc điều kiện - vòng lặp
6.2 Cấu trúc điều kiện
if-else
if lồng (VD: if - if else - if else - ... - else)
if
6.3 Cấu trúc lặp
while
----------- Cú pháp ----------
while (expression) {...};
expression = exp2 của for => biểu thức điều kiện
→ Nếu true => vô statement => quay lại đk => tiếp tục vòng lặp
→ Nếu false => thoát khỏi vòng lặp while
VD:
int digit = 0;
while(digit < number) {
.........
digit++;
}
---------- while(true)--------------
while(true)
{ → chạy cho đến khi gặp điều kiện dừng thì break => thoát khỏi vòng lặp
// stop condition
if(digit == number) {
break;
}
.........
digit++;
}
do-while
----------- Cú pháp ----------
do {
statement;
} while (expression);
Kiểm tra expression
True => tiếp tục quay lại statement
False => thoát khỏi vòng lặp
Không kiểm tra điều kiện mà thực hiện statement luôn
VD:
int digit = 0;
do {
......
digit++;
} while (digit < number);
for
------------- Cú pháp -------------
for (exp1 , exp2, exp3) {...}
exp2: biểu thức điều kiện
exp3: biểu thức điều khiển lặp (tăng phần tử lên)
exp1: biểu thức khởi tạo được thực hiện
VD:
for(int digit = 0; digit < number; digit++) {...}
------- break & continue -------
break => thoát khỏi vòng lặp
continue => kết thúc sớm 1 vòng lặp (VD: kết thúc sớm vòng thứ 2 => in đến thời điểm đó, rồi tiếp tục vòng tiếp theo
6.1 Switch-case
switch
(
<variable>
) {
case
<
value 1
>
:
→ variable = value 1
<
body 1
>;
break;
→ nếu thỏa rồi thì thoát khỏi switch-case
case
<
value 2
>
:
<
body 2
>;
break;
default :
<body n>
→ Khi không thỏa bất cứ TH nào ở trên thì vào đây