# data[].attributes.body
I.Primitive:

1. Boolean

- boolean là kiểu dữ liệu đơn giản nhất, nó có kích thước 1 bit. Nó có 2 giá trị là true và false.
Ví dụ:

// Khai báo một biến có tên 'active', kiểu boolean.
// Giá trị là true.
boolean active = true;
hoặc nếu giá trị false:
boolean active = false;
2. Char
Kiểu dữ liệu này có thể dùng để lưu kí tự hoặc số nguyên không âm, có kích thước 2 byte. Giá trị nhỏ nhất là '\u0000' (hoặc 0) và giá trị lớn nhất là '\uffff' (hoặc 65,535).
Ví dụ: Khai báo một kí tự trong tên:
char name ='A'
3. Byte
- Kiểu dữ liệu này dùng để lưu số nguyên (âm hoặc dương), có kích thước 1 byte. Giá trị nhỏ nhất là -128 (-2^7) và giá trị lớn nhất là 127 (2^7 -1) Giá trị mặc định là 0.

Ví dụ: khai báo giá trị của một số nguyên:
byte x = 1 , byte y = -1

4. Short

Dùng để lưu dữ liệu có kiểu số nguyên, nhưng kích cỡ lớn hơn byte. Bộ nhớ kiểu dữ liệu này là 2 byte. Giá trị nhỏ nhất là -32,768 (-2^15) và giá trị lớn nhất là 32,767 (2^15 -1) Giá trị mặc định là 0.

Ví dụ: khai báo kích cỡ của một dãy nào đó:
short t = 50, short z = -50

5. Int

Đây cũng là kiểu dữ liệu dùng để lưu kiểu số nguyên, kích cỡ 4 byte (lớn hơn byte và short). Giá trị nhỏ nhất là - 2,147,483,648.(-2^31) và giá trị lớn nhất là 2,147,483,647 (2^31 -1) Thông thường, int được sử dụng làm kiểu dữ liệu mặc định cho các giá trị nguyên. Giá trị mặc định là 0.

Ví dụ: khai báo tuổi của 2 người bằng kiểu số nguyên
int a = 18, int b = 20

6. Long

Kiểu dữ liệu dùng để lưu số nguyên lớn nhất là Long. Kích cỡ của nó lên đến 8 byte. Giá trị nhỏ nhất là -9,223,372,036,854,775,808.(-2^63) và lớn nhất là 9,223,372,036,854,775,807 (2^63 -1) Kiểu này được sử dụng khi cần một dải giá trị rộng hơn int. Giá trị mặc định là 0L.

Ví dụ: khai báo dữ kiệu của một số nhập vào
long a = 100000L, int b = -100000L

7. Float

Float là kiểu dữ liệu lưu số thực, kích cỡ 4 byte. Giá trị mặc định là 0.0f. Kiểu Float không bao giờ được sử dụng cho các giá trị chính xác như currency.

Ví dụ: khai báo điểm trung bình của một sinh viên:
float jpy = 9.222

8. Double

Double cũng là kiểu dữ liệu để lưu số thực, nhưng kích thước dữ liệu lớn hơn Float. Bộ nhớ của nó là 8 byte. Thông thường, kiểu dữ liệu này được sử dụng làm kiểu mặc định cho các giá trị decimal. Kiểu double cũng không bao giờ được sử dụng cho các giá trị chính xác như currency. Giá trị mặc định là 0.0d.

Ví dụ: cần nhập vào một diện tích của mảnh đất:
double ct = 676.7
II. Non-primitive:

String: kiểu dữ liệu này khai báo cho một dãy kí tự bao gồm chữ cái a-z và kí tự số 0-1 và các kí tự đặc biệt

Ví dụ: String a="abcde";
hoặc nhập dữ kiệu họ tên:
String b="Ho Thi Kieu Linh"

# data[].attributes.body
2.Phân biệt biến và hàm trong java

Biến

1.Khái niệm: Biến là một liên kết tới một vị trí trên bộ nhớ (memory) để chứa dữ liệu.

Vd:

int a =10;

ð Ta có: kiểu dl: int , tên biến: a, giá trị: 10;

Sinhvien sv = new Sinhvien( );

ð Ta có: kiểu dl: Sinhvien , tên biến: sv , giá trị: Sinhvien( );

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

kieu_du_lieu ten_bien = gia_tri;

Trong đó:

·        kieu_du_lieu : là kiểu dữ liệu mà biến có thể lưu trữ (kiểu số, kiểu văn bản…) tương ứng với int, long, String… trong Java

·        ten_bien : tên của biến do người lập trình đặt

·        gia_tri giá trị của biến, giá trị của biến phải nằm trong phạm vi của kiểu dữ liệu.

3.Quy tắc đặt tên biến:

Biến tên phải tuân theo quy tắc chung ở trên được đặt theo quy tắc lạc đà  ( Camel Case ): đó là chữ cái đầu tiên của từ đầu tiên phải viết thường và chữ cái đầu tiên của các từ tiếp theo phải viết hoa.

ví dụ :diemTrungBinh.

Ngoài ra, trong một số trường hợp, biến tên phải thể hiện dữ liệu kiểu của biến đó.

Ví dụ: biến có kiểu là Danh sách thì nên đặt tên là studentList, biến có kiểu là Set thì nên đặt tên là studentSet, biến có kiểu là Map thì nên đặt tên là studentMap, biến có kiểu là Array thì nên đặt tên là studentArray ,…

Hàm

1.Cú pháp của hàm:

modifier returnType nameOfMethod (Parameter List) {

// method body

}

Trong đó:

Modifiers (tạm dịch là phạm vi sửa đổi và truy cập)

§  returnType: kiểu dữ liệu trả về

§  nameOfMethod: tên của hàm(method)

§  Parameter :là các tham số đầu vào của hàm(có thể có nhiều tham số với nhiều kiểu dữ liệu khác nhau)

§  // body: là các mã code bên trong hàm

§

Ví dụ: Viết hàm tính tổng 2 chữ số a và b

public static int sum(int a, int b) {

return a + b;

}

Thao tác với hàm

+Hàm có trả về kết quả

Ví dụ:

public class Main {

public static int sum(int a, int b) {

return a + b;

}

public static void main(String[] args) {

int sum = sum(2,5);

System.out.println(sum);

}

}

+Hàm không có trả về kết quả

Ví dụ:

public static void printHello() {

System.out.println("Hello");

}

# data[].attributes.body
Câu 3:
Có 2 cách ép kiểu:

Ép kiểu dữ liệu đối với dữ liệu nguyên thủy (Primitive Data Types)

Ép kiểu dữ liệu tham chiếu (Reference Types)

Trong ép kiểu dữ liệu đối với dữ liệu nguyên thủy thì có 2 cách:

Nới rộng (widening)

Thu hẹp (narrowwing)

Ví dụ:

Nới rộng : Chuyển đổi int thành long.

public class Test{
       public static void main(String[] args) {
            int a = 10;
            long b = a;
            System.out.println(b);
       }
}

Thu hẹp: Chuyển đổi double sang int.

public class Test{
       public static void main(String[] args) {
            double a = 10.55;
            int b = (int)a;
            System.out.println(b);
       }
}

# data[].attributes.body
1.Linh
2.Ngân
3.Tân
4.Danh
5.Nhung

# data[].attributes.body
1.Nhập dữ liệu từ bàn phím:
- Java cung cấp lớp Scanner

Scanner sc = new Scanner(System.in);

- Để sử dụng lớp Scanner chúng ta cần import lớp Scanner đến dự án

import java.util.Scanner;

2.Xuất dữ liệu ra màn hình:

- Cú pháp: System.out.println (“nội dung cần in”);

3. Ví dụ:

import java.util;.Scanner;

public class Input {

Public static void main(String[] args) {

Scanner sc =new Scanner (System.in);

System.out.println(“Hello “+ sc.next());

}

}