Nội dung bài học

Kiểu dữ liệu, toán tử, function (hàm), variable (biến), object (đối tượng), class (lớp)

Biến trong Java

Trong java, biến là tên của vùng nhớ. Có 3 kiểu biến trong java, bao gồm biến local (biến địa phương), biến instance (biến toàn cục) và biến static.

Các kiểu biến trong java


Khai báo biến trong java

Cú pháp khai báo biến:

DataType varName [ = value] [, varName2] [ = value2]...;

Trong đó, DataType là kiểu dữ liệu của biến, varName là tên biến.

Quy tắc đặt tên biến trong java:

  • Chỉ được bắt đầu bằng một ký tự(chữ), hoặc một dấu gạch dưới(_), hoặc một ký tự dollar($)
  • Tên biến không được chứa khoảng trắng
  • Bắt đầu từ ký tự thứ hai, có thể dùng ký tự(chữ), dấu gạch dưới(_), hoặc ký tự dollar($)
  • Không được trùng với các từ khóa
  • Có phân biệt chữ hoa và chữ thường

Ví dụ về khai báo biến trong java:


1. Biến local trong java

  • Biến local được khai báo trong các phương thức, hàm contructor hoặc trong các block.
  • Biến local được tạo bên trong các phương thức, contructor, block và sẽ bị phá hủy khi kết thúc các phương thức, contructor và block.
  • Không được sử dụng "access modifier" khi khai báo biến local.
  • Các biến local được lưu trên vùng nhớ stack của bộ nhớ.
  • Bạn cần khởi tạo giá trị mặc định cho biến local trước khi có thể sử dụng.

Ví dụ 1: Khởi tạo biến local:

package anhtester.bienvadulieu;
 
public class Bien {
     
    public void sayHello() {
        int n = 10;                     // Đây là biến local
        System.out.println("Gia tri cua n la: " + n);
    }
     
    public static void main(String[] args) {
        Bien bienLocal = new Bien();
        bienLocal.sayHello();
    }
}

Kết quả:

Gia tri cua n la: 10

Ví dụ 2: Không khởi tạo biến local:

public class Bien {
     
    public void sayHello() {
        int n;                 // Đây là biến local
        System.out.println("Gia tri cua n la: " + n);
    }
     
    public static void main(String[] args) {
        Bien bienLocal = new Bien();
        bienLocal.sayHello();
    }
}

Kết quả:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The local variable n may not have been initialized​
Khi không khởi tạo biến local, chương trình java sẽ báo lỗi khi biên dịch.


2. Biến instance (biến toàn cục) trong java

  • Biến instance được khai báo trong một lớp(class), bên ngoài các phương thức, constructor và các block.
  • Biến instance được lưu trong bộ nhớ heap.
  • Biến instance được tạo khi một đối tượng được tạo bằng việc sử dụng từ khóa “new” và sẽ bị phá hủy khi đối tượng bị phá hủy.
  • Biến instance có thể được sử dụng bởi các phương thức, constructor, block, ... Nhưng nó phải được sử dụng thông qua một đối tượng cụ thể.
  • Bạn được phép sử dụng "access modifier" khi khai báo biến instance, mặc định là "default".
  • Biến instance có giá trị mặc định phụ thuộc vào kiểu dữ liệu của nó. Ví dụ nếu là kiểu int, short, byte thì giá trị mặc định là 0, kiểu double thì là 0.0d, ... Vì vậy, bạn sẽ không cần khởi tạo giá trị cho biến instance trước khi sử dụng.
  • Bên trong class mà bạn khai báo biến instance, bạn có thể gọi nó trực tiếp bằng tên khi sử dụng ở khắp nới bên trong class đó.

Ví dụ về biến instance trong java:

package anhtester.bienvadulieu;
 
public class Sinhvien {
    // biến instance "ten" kiểu String, có giá trị mặc định là null
    public String ten;
 
    // biến instance "tuoi" kiểu Integer, có giá trị mặc định là 0
    private int tuoi;
 
    // sử dụng biến ten trong một constructor
    public Sinhvien(String ten) {
        this.ten = ten;
    }
 
    // sử dụng biến tuoi trong phương thức setTuoi
    public void setTuoi(int tuoi) {
        this.tuoi = tuoi;
    }
 
    public void showStudent() {
        System.out.println("Ten  : " + ten);
        System.out.println("Tuoi : " + tuoi);
    }
 
    public static void main(String args[]) {
        Sinhvien sv = new Sinhvien("Nguyen Van A");
        sv.setTuoi(21);
        sv.showStudent();
    }
}

Kết quả:

Ten : Nguyen Van A
Tuoi : 21

3. Biến static trong java

  • Biến static được khai báo trong một class với từ khóa "static", phía bên ngoài các phương thức, constructor và block.
  • Sẽ chỉ có duy nhất một bản sao của các biến static được tạo ra, dù bạn tạo bao nhiêu đối tượng từ lớp tương ứng.
  • Biến static được lưu trữ trong bộ nhớ static riêng.
  • Biến static được tạo khi chương trình bắt đầu chạy và chỉ bị phá hủy khi chương trình dừng.
  • Giá trị mặc định của biến static phụ thuộc vào kiểu dữ liệu bạn khai báo tương tự biến instance.
  • Biến static được truy cập thông qua tên của class chứa nó, với cú pháp: TenClass.tenBien.
  • Trong class, các phương thức sử dụng biến static bằng cách gọi tên của nó khi phương thức đó cũng được khai báo với từ khóa "static".

Ví dụ về biến static trong java:

package anhtester.bienvadulieu;
 
public class Sinhvien {
    // biến static 'ten'
    public static String ten = "Nguyen Van A";
     
    // biến static 'tuoi'
    public static int tuoi = 21;
 
    public static void main(String args[]) {
        // Sử dụng biến static bằng cách gọi trực tiếp
        System.out.println("Ten : " + ten);
 
        // Sử dụng biến static bằng cách gọi thông qua tên class
        System.out.println("Ten : " + Sinhvien.tuoi);
    }
}

Kết quả:

Ten : Nguyen Van A
Ten : 21

 



Các kiểu dữ liệu trong java

Trong Java, các kiểu dữ liệu được chia thành hai loại:

  • Các kiểu dữ liệu nguyên thủy
  • Các kiểu dữ liệu đối tượng


1. Kiễu dữ liệu nguyên thủy

Java cung cấp các kiểu dữ liệu cơ bản như sau:

Kiểu dữ liệu Mô tả
String Dùng để lưu dữ liệu kiểu chuỗi. VD: "Automation Test", "Selenium",... Dạng này dùng rất nhiều.
byte Dùng để lưu dữ liệu kiểu số nguyên có kích thước một byte (8 bít). Phạm vi biểu diễn giá trị từ -128 đến 127. Giá trị mặc định là 0.
char Dùng để lưu dữ liệu kiểu kí tự hoặc số nguyên không âm có kích thước 2 byte (16 bít). Phạm vi biểu diễn giá trị từ 0 đến u\ffff. Giá trị mặc định là 0.
boolean Dùng để lưu dữ liệu chỉ có hai trạng thái đúng hoặc sai (độ lớn chỉ có 1 bít). Phạm vi biểu diễn giá trị là {“True”, “False”}. Giá trị mặc định là False.
short Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 2 byte (16 bít). Phạm vi biểu diễn giá trị từ - 32768 đến 32767. Giá trị mặc định là 0.
int Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ 4 byte (32 bít). Phạm vi biểu diễn giá trị từ -2,147,483,648 đến 2,147,483,647. Giá trị mặc định là 0.
long Dùng để lưu dữ liệu có kiểu số nguyên có kích thước lên đến 8 byte. Giá trị mặc định là 0L.
float Dùng để lưu dữ liệu có kiểu số thực, kích cỡ 4 byte (32 bít). Giá trị mặc định là 0.0F.
double Dùng để lưu dữ liệu có kiểu số thực có kích thước lên đến 8 byte. Giá trị mặc định là 0.00D


2. Kiểu dữ liệu đối tượng

Trong Java có 3 kiểu dữ liệu đối tượng:

Kiểu dữ liệu Mô tả
Array Một mảng của các dữ liệu cùng kiểu.
class Dữ liệu kiểu lớp đối tượng do người dùng định nghĩa. Chứa tập các thuộc tính và phương thức..
interface Dữ liệu kiểu lớp giao tiếp do người dùng định nghĩa. Chứa các phương thức của giao tiếp.




Toán tử trong Java

Toán tử trong java là một ký hiệu được sử dụng để thực hiện một phép tính/chức năng nào đó. Java cung cấp các dạng toán tử sau:

  • Toán tử số học
  • Toán tử bit
  • Toán tử quan hệ
  • Toán tử logic
  • Toán tử điều kiện
  • Toán tử gán


Nội dung chính:
  • Toán tử số học
  • Toán tử Bit
  • Các toán tử quan hệ
  • Các toán tử logic
  • Các toán tử điều kiện
  • Toán tử gán
  • Thứ tụ ưu tiên của các toán tử
  • Thay đổi thứ tự ưu tiên của các toán tử

 

Toán tử số học

Các toán hạng của các toán tử số học phải ở dạng số. Các toán hạng kiểu boolean không sử dụng được, các toán hạng ký tự cho phép sử dụng loại toán tử này. Một vài kiểu toán tử được liệt kê trong bảng dưới đây.

Giả sử chúng ta có biến số nguyên a = 10 và b = 20.

Toán tử Mô tả Ví dụ
+ Cộng
Trả về giá trị là tổng của hai toán hạng
a + b sẽ là 30
- Trừ
Trả về kết quả là hiệu của hai toán hạng.
a - b sẽ là -10
* Nhân
Trả về giá trị là tích của hai toán hạng.
a * b sẽ là 200
/ Chia
Trả về giá trị là thương của phép chia.
b / a sẽ là 2
% Phép lấy modul
Giá trị trả về là phần dư của phép chia
b % a sẽ là 0
++ Tăng dần
Tăng giá trị của biến lên 1. Ví dụ a++ tương đương với a = a + 1
a++ sẽ là 11
-- Giảm dần
Giảm giá trị của biến 1 đơn vị. Ví dụ a-- tương đương với a = a - 1
a-- sẽ là 9
+= Cộng và gán giá trị
Cộng các giá trị của toán hạng bên trái vào toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái. Ví dụ c += a tương đương c = c + a
a += 2 sẽ là 12
-= rừ và gán giá trị
Trừ các giá trị của toán hạng bên trái vào toán toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái. Ví dụ c -= a tương đương với c = c - a
a -= 2 sẽ là 8
*= Nhân và gán
Nhân các giá trị của toán hạng bên trái với toán toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái. Ví dụ c *= a tương đương với c = c*a
a *= 2 sẽ là 20
/= Chia và gán
Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái. Ví dụ c /= a tương đương với c = c/a
a /= 2 sẽ là 5
%= Lấy số dư và gán
Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị số dư vào toán hạng bên trái. Ví dụ c %= a tương đương với c = c%a
a /= 8 sẽ là 2


Toán tử Bit

Các toán tử dạng bit cho phép chúng ta thao tác trên từng bit riêng biệt trong các kiểu dữ liệu nguyên thuỷ.

Toán tử Mô tả
~ Phủ định NOT
Trả về giá trị phủ định của một bít.
& Toán tử AND
Trả về giá trị là 1 nếu các toán hạng là 1 và 0 trong các trường hợp khác
| Toán tử OR
Trả về giá trị là 1 nếu một trong các toán hạng là 1 và 0 trong các trường hợp khác.
^ Toán tử Exclusive OR
Trả về giá trị là 1 nếu chỉ một trong các toán hạng là 1 và trả về 0 trong các trường hợp khác.
>> Dịch phải
Chuyển toàn bộ các bít cuả một số sang phải một vị trí, giữ nguyên dấu của số âm. Toán hạng bên trái là số bị dịch còn số bên phải chỉ số vị trí mà các bít cần dịch.
<< Dịch trái
Chuyển toàn bộ các bít cuả một số sang trái một vị trí, giữ nguyên dấu cuả số âm. Toán hạng bên trái là số bị dịch còn số bên phải chỉ số vị trí mà các bít cần dịch.


Các toán tử quan hệ

Các toán tử quan hệ được sử dụng kiểm tra mối quan hệ giữa hai toán hạng. Kết quả của một biểu thức có dùng các toán tử quan hệ là những giá trị Boolean (logic “true” hoặc “false”). Các toán tử quan hệ được sử dụng trong các cấu trúc điều khiển.

Toán tử Mô tả
== So sánh bằng
Toán tử này kiểm tra sự tương đương của hai toán hạng
!= So sánh khác
Toán tử này kiểm tra sự khác nhau của hai toán hạng
> Lớn hơn
Kiểm tra giá trị của toán hạng bên phải lớn hơn toán hạng bên trái hay không
< Nhỏ hơn
Kiểm tra giá trị của toán hạng bên phải có nhỏ hơn toán hạng bên trái hay không
>= Lớn hơn hoặc bằng
Kiểm tra giá trị của toán hạng bên phải có lớn hơn hoặc bằng toán hạng bên trái hay không
<= Nhỏ hơn hoặc bằng
Kiểm tra giá trị của toán hạng bên phải có nhỏ hơn hoặc bằng toán hạng bên trái hay không

Các toán tử logic

Các toán tử logic làm việc với các toán hạng Boolean. Các toán tử quan hệ được sử dụng trong các cấu trúc điều khiển.

Toán tử Mô tả
&& Toán tử và (AND)
Trả về một giá trị “Đúng” (True) nếu chỉ khi cả hai toán tử có giá trị “True”
|| Toán tử hoặc (OR)
Trả về giá trị “True” nếu ít nhất một giá trị là True
^ Toán tử XOR
Trả về giá trị True nếu và chỉ nếu chỉ một trong các giá trị là True, các trường hợp còn lại cho giá trị False (sai)
! Toán tử phủ định (NOT)
Toán hạng đơn tử NOT. Chuyển giá trị từ True sang False và ngược lại.


Các toán tử điều kiện

Toán tử điều kiện là một loại toán tử đặc biệt vì nó bao gồm ba thành phần cấu thành biểu thức điều kiện. Cú pháp:

<biểu thức 1>   ?   <biểu thức 2>   :   <biểu thức 3>;​
  • biểu thức 1: Biểu thức logic. Trả trả về giá trị True hoặc False
  • biểu thức 2: Là giá trị trả về nếu <biểu thức="" 1="">xác định là True</biểu>
  • biểu thức 3: Là giá trị trả về nếu <biểu thức="" 1="">xác định là False</biểu>


Ví dụ:

public class Test {
    public static void main(String[] args) {
        int a = 20;
        int b = 3;
 
        String s = (a % b == 0) ? "a chia het cho b" : "a khong chia het cho b";
        System.out.println(s);
    }
}​

Kết quả:

a khong chia het cho b

Toán tử gán

Toán tử gán (=) dùng để gán một giá trị vào một biến và có thể gán nhiều giá trị cho nhiều biến cùng một lúc.

Ví dụ:

int var = 20;
int p,q,r,s; 
p=q=r=s=var;

Trong ví dụ trên, đoạn lệnh sau gán một giá trị cho biến var và giá trị này lại được gán cho nhiều biến trên một dòng lệnh đơn.

Dòng lệnh cuối cùng được thực hiện từ phải qua trái. Đầu tiên giá trị ở biến var được gán cho ‘s’, sau đó giá trị của ‘s’ được gán cho ‘r’ và cứ tiếp như vậy.


Thứ tụ ưu tiên của các toán tử

Thứ tự ưu tiên quyết định trật tự thực hiện các toán tử trên các biểu thức. Bảng dưới đây liệt kê thứ tự thực hiện các toán tử trong Java

Toán tử Mô tả
1 Các toán tử đơn như +,-,++,--
2 Các toán tử số học và các toán tử dịch như *,/,+,-,<<,>>
3 Các toán tử quan hệ như >,<,>=,<=,= =,!=
4 Các toán tử logic và Bit như &&,||,&,|,^
5 Các toán tử gán như =,*=,/=,+=,-=


Thay đổi thứ tự ưu tiên của các toán tử

Để thay đổi thứ tự ưu tiên trên một biểu thức, bạn có thể sử dụng dấu ngoặc đơn ():

  • Phần được giới hạn trong ngoặc đơn được thực hiện trước.
  • Nếu dùng nhiều ngoặc đơn lồng nhau thì toán tử nằm trong ngoặc đơn phía trong sẽ thực thi trước, sau đó đến các vòng phía ngoài.
  • Trong phạm vi một cặp ngoặc đơn thì quy tắc thứ tự ưu tiên vẫn giữ nguyên tác dụng.


Ví dụ:

public class Test {
    public static void main(String[] args) {
        int a = 20;
        int b = 5;
        int c = 10;
 
        System.out.println("a + b * c   = " + (a + b * c));
        System.out.println("(a + b) * c = " + ((a + b) * c));
        System.out.println("a / b - c   = " + (a / b - c));
        System.out.println("a / (b - c) = " + (a / (b - c)));
    }
}

Kết quả:

a + b * c   = 70
(a + b) * c = 250
a / b - c   = -6
a / (b - c) = -4

 



Mệnh đề if-else trong java

Mệnh đề if trong java được sử dụng để kiểm tra giá trị dạng boolean của điều kiện. Mệnh đề này trả về giá trị True hoặc False . Có các kiểu của mệnh đề if-else trong java như sau:

  • Mệnh đề if
  • Mệnh đề if-else
  • Mệnh đề if-else-if


Mệnh đề if

Mệnh đề if được sử dụng để kiểm tra giá trị dạng boolean của điều kiện. Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True

Cú pháp:

if (condition) {  
    // khối lệnh này thực thi 
    // nếu condition = true
}  

IF Else - Anh Tester


Ví dụ:

public class Test {
    public static void main(String[] args) {
        int age = 20;
        if (age > 18) {
            System.out.print("Tuổi lớn hơn 18");
        }
    }
}

Kết quả:

Tuổi lớn hơn 18


Mệnh đề if-else

Mệnh đề if-else cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện là True thì chỉ có khối lệnh sau if sẽ được thực hiện, nếu là False thì chỉ có khối lệnh sau else được thực hiện.

Cú pháp:

if (condition) {
    // khối lệnh này được thực thi
    // nếu condition = true
} else {
    // khối lệnh này được thực thi
    // nếu condition = false
}

Ví dụ:

public class Test {
    public static void main(String[] args) {
        int number = 13;
        if (number % 2 == 0) {
            System.out.println("Số " + number + " là số chẵn.");
        } else {
            System.out.println("Số " + number + " là số lẻ.");
        }
    }
}

Kết quả:

Số 13 là số lẻ.


Mệnh đề if-else-if

Mệnh đề if-else-if cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện if là True thì chỉ có khối lệnh sau if sẽ được thực hiện. Nếu giá trị điều kiện if else nào là True thì chỉ có khối lệnh sau else if đó sẽ được thực hiện… Nếu tất cả điều kiện của if và else if là False thì chỉ có khối lệnh sau else sẽ được thực hiện.

Cú pháp:

if (condition1) {  
    // khối lệnh này được thực thi 
    // nếu condition1 là true  
} else if (condition2) {  
    // khối lệnh này được thực thi 
    // nếu condition2 là true  
}  else if (condition3) {  
    // khối lệnh này được thực thi 
    // nếu condition3 là true  
}  
...  
else {  
    // khối lệnh này được thực thi 
    // nếu tất cả những điều kiện trên là false                 
}

Ví dụ:

public class Test {
    public static void main(String[] args) {
        int marks = 65;
 
        if (marks < 50) {
            System.out.println("Tạch!");
        } else if (marks >= 50 && marks < 60) {
            System.out.println("Xếp loại D");
        } else if (marks >= 60 && marks < 70) {
            System.out.println("Xếp loại C");
        } else if (marks >= 70 && marks < 80) {
            System.out.println("Xếp loại B");
        } else if (marks >= 80 && marks < 90) {
            System.out.println("Xếp loại A");
        } else if (marks >= 90 && marks < 100) {
            System.out.println("Xếp loại A+");
        } else {
            System.out.println("Giá trị không hợp lệ!");
        }
    }
}

Kết quả:

Xếp loại C

 

✅ Mệnh đề Switch Case trong Java

Mệnh đề switch case trong Java được sử dụng để thực thi 1 hoặc nhiều khối lệnh từ điều kiện đầu vào.

Cú pháp:

switch (bieu_thuc) {    
     case gia_tri_1:
        // Khối lệnh 1
        break;  //tùy chọn
    case gia_tri_2:    
        // Khối lệnh 2
        break;  //tùy chọn
    ......    
    case gia_tri_n:    
        // Khối lệnh n
        break;  //tùy chọn    
    default:     
        // Khối lệnh này được thực thi 
        // nếu tất cả các điều kiện trên không thỏa mãn 
}


[Selenium Java] Bài 1: Java Basic | Anh Tester

 

🔆 Mệnh đề Switch Case khi sử dụng 'break'

Khi sử dụng từ khóa 'break' trong mệnh đề switch case. Điều này có nghĩa là rơi vào case nào thì khối lệnh sẽ thực thi xong và thoát luôn switch đó, không phải kiểm tra tiếp các case bên dưới.

Ví dụ:

public class SwitchExampleBreak {
    public static void main(String[] args) {
        int number = 20;
        switch (number) {
        case 10:
            System.out.println("10");
            break;
        case 20:
            System.out.println("20");
            break;
        case 30:
            System.out.println("30");
            break;
        default:
            System.out.println("Not in 10, 20 or 30");
        }
    }
}

Kết quả:

20


🔆 Mệnh đề Switch Case khi KHÔNG sử dụng 'break'

Khi không sử dụng từ khóa 'break' trong mệnh đề switch case. Điều này có nghĩa là các khối lệnh sau cái case mà có giá trị phù hợp sẽ được thực thi tiếp cho đến hết mà không cần kiểm tra thoả điều kiện.

Ví dụ:

public class SwitchExampleNOTBreak {
    public static void main(String[] args) {
        int number = 20;
        switch (number) {
        case 10:
            System.out.println("10");
        case 20:
            System.out.println("20");
        case 30:
            System.out.println("30");
        default:
            System.out.println("Not in 10, 20 or 30");
        }
    }
}

Kết quả:

20
30
Not in 10, 20 or 30

Vòng lặp for trong java

Vòng lặp for trong java được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vong lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.

Có 3 kiểu của vòng lặp for trong java:

  • Vòng lặp for đơn giản
  • Vòng lặp for cải tiến
  • Vòng lặp for gán nhãn


Vòng lặp for đơn giản

Vòng lặp for đơn giản giống như trong C/C++. Chúng ta có thể khởi tạo biến, kiểm tra điều kiện và tăng/giảm giá trị của biến.

Cú pháp:

for (khoi_tao_bien ; check_dieu_kien ; tang/giam_bien) {  
    // Khối lệnh được thực thi
}

Vòng lặp For - Anh Tester

Ví dụ:

public class ForExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

Kết quả:

1
2
3
4
5
6
7
8
9
10


Vòng lặp for cải tiến

Vòng lặp for cải tiến được sử dụng để lặp mảng(array) hoặc collection trong java. Bạn có thể sử dụng nó dễ dàng, dễ hơn cả vòng lặp for đơn giản. Bởi vì bạn không cần phải tăng hay giảm giá trị của biến rồi check điều kiện, bạn chỉ cần sử dụng ký hiệu hai chấm “:”

Cú pháp:

for (Type var : array) {  
    // Khối lệnh được thực thi
}

Ví dụ:

public class ForEachExample {
    public static void main(String[] args) {
        int arr[] = { 12, 23, 44, 56, 78 };
        for (int i : arr) {
            System.out.println(i);
        }
    }
}

Kết quả:

12
23
44
56
78




Mảng (Array) trong Java

Thông thường, mảng (array) là một tập hợp các phần tử có cùng kiểu được lưu trữ gần nhau trong bộ nhớ.

Mảng trong java là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau. Mảng là một cấu trúc dữ liệu nơi lưu trữ các phần tử giống nhau. Với mảng trong java chúng ta chỉ có thể lưu trữ một tập các phần tử có số lượng phần tử cố định.

Mảng trong java lưu các phần tử theo chỉ số, chỉ số của phần tử đầu tiên là 0.

Array - Anh Tester

Lợi ích của mảng trong java

  • Tối ưu code: Mảng giúp lấy hoặc sắp xếp dữ liệu dễ dàng.
  • Truy cập ngẫu nhiên: Chúng ta có thể lấy dữ liệu được lưu trữ ở bất kỳ vị trí nào thông qua chỉ số.

Sự bất tiện của mảng trong java

  • Giới hạn kích thước: Chúng ta phải khởi tạo kích thước của mảng trong java trước khi sử dụng. Không thể thay đổi được kích thước của nó lúc runtime. Collection framework được sử dụng trong java để giải quyết vấn đề này.

Các kiểu của mảng trong java

Có hai kiểu mảng trong java

  • Mảng một chiều
  • Mảng đa chiều


Mảng một chiều trong java

Các cách khai báo mảng một chiều trong java

dataType[] arr;
dataType []arr; 
dataType arr[];  


Khởi tạo mảng một chiều trong java

datatype <tên mảng>[] = new datatype[size];


Ví dụ về mảng một chiều trong java

Ví dụ đơn giản về khai báo, khởi tạo và duyệt các phần tử của mảng.

public class TestArray {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// khai báo và khởi tạo mảng
		int a[] = new int[3];
		a[0] = 10; // gán giá trị
		a[1] = 20;
		a[2] = 50;

		// in mảng ra màn hình
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
	}

}

Kết quả:

10 20 50


Khai báo, khởi tạo mảng một chiều bằng mảng nặc danh

Ví dụ:

public class TestArray1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// gán mảng nặc danh cho mảng a
		int a[] = { 33, 3, 4, 5 };

		// in mảng a ra màn hình
		for (int i = 0; i < a.length; i++)
			System.out.print(a[i] + " ");
	}

}

Kết quả:

33 3 4 5


Truyền mảng vào phương thức trong java

Chúng ta có thể truyền mảng vào phương thức, điều này giúp tái sử dụng code logic để xử lý mảng bất kỳ. Ví dụ:

public class TestArray2 {

	static void min(int arr[]) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++)
            if (min > arr[i]) {
                min = arr[i];
            }
        System.out.println(min);
    }
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a[] = { 33, 3, 4, 5 };
        min(a);// truyền mảng tới phương thức
	}

}

Kết quả:

3


Video phần 2:


==> Link Java Basic phần 2

Video phần 3:


==> Link Java Basic phần 3


Cộng đồng Automation Testing Việt Nam

🌱 Facebook Fanpage: Anh Tester
🌱 Telegram
Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu


Cộng đồng Automation Testing Việt Nam:

🌱 Telegram Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

Chia sẻ kiến thức lên trang

Bạn có thể đăng bài để chia sẻ kiến thức, bài viết của chính bạn lên trang Anh Tester Blog

Danh sách bài học