# data[].attributes.headline
1.Trong Java có những kiểu dữ liệu nào? Cho ví dụ cụ thể.

# data[].attributes.subject
1.Trong Java có những kiểu dữ liệu nào? Cho ví dụ cụ thể.

# data[].attributes.body
Kiễu dữ liệu nguyên thủy:

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

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

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.

Ví dụ:

public class NhanVien {
private String maNhanVien, hoTen, soDienThoai,  mail;
private int tuoi;
protected int luong, luongCoBan;
Scanner scanner = new Scanner(System.in);

public NhanVien() {
super();
}

# data[].attributes.headline
2. Phân biệt biến và hằng trong Java. Cho ví dụ minh họa. Cần lưu ý gì khi đặt tên ?

# data[].attributes.subject
2. Phân biệt biến và hằng trong Java. Cho ví dụ minh họa. Cần lưu ý gì khi đặt tên ?

# data[].attributes.body
Khái niệm Biến :

Biến là các định nghĩa từ bạn, nó giúp hệ thống tạo ra các vùng nhớ để lưu giữ các giá trị trong ứng dụng. Mỗi biến đều có một kiểu dữ liệu riêng, kiểu dữ liệu này sẽ báo cho hệ thống biết biến đó có “độ lớn” bao nhiêu

VD Biến : Ứng dụng Quản Lý Nhân Viên

//Khai báo thuộc tính nhân viên
private String  name;
private int     age;
private Sex     sex;
private float   salary;
private Boolean isLocked = false;

Khái niệm Hằng :

Hằng Số trong tài liệu tiếng Anh gọi là const, viết tắt của từ constant. Hằng cũng tương tự như biến, nhưng đặc biệt ở chỗ nếu một biến được khai báo là hằng thì nó sẽ không được thay đổi giá trị trong suốt chương trình.

VD Hằng : Ứng dụng Quản Lý Nhân Viên

//Khai báo Pattern kiểm tra SĐT hợp lệ
final String numberPhonePattern = "\\d{10}|(?:\\d{3}-){2}\\d{4}|\\(\\d{3}\\)\\d{3}-?\\d{4}"

//Khai báo SĐT cơ quan
final String numberPhoneCompany = "02366505661"

Các lưu ý khi đặt tên

kiểu_dữ_liệu tên biến = giá_trị;
kiểu_dữ_liệu tên biến;

Ký tự bắt đầu của tên biến phải là chữ cái, hoặc dấu gạch dưới (_), hoặc ký tự đô la ($).

Không được có khoảng trắng giữa các ký tự của biến.

Không chứa ký tự đặc biệt bên trong tên biến như !@#%^&*

Không được đặt tên biến trùng với keyword.

# data[].attributes.headline
 3. có bao nhiêu kiểu ép trong java? Ví dụ cụ thể.

# data[].attributes.subject
 3. có bao nhiêu kiểu ép trong java? Ví dụ cụ thể.

# data[].attributes.body
1. Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin.

2. Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin

// Widening
float  salary     = 8057000.0F;
double highSalary = salary + 50000000.00D;

// Narrowwing
long allStaff    = 1000;
int  remailStaff = (int) allStaff - 50;

// Ép kiểu Object thành kiểu đối tượng Nhân viên
Object nv;
nv = (Staff) new Staff();

# data[].attributes.headline
4. Trong Java có những loại toán tử nào ? Cho ví dụ cụ thể 

# data[].attributes.subject
4. Trong Java có những loại toán tử nào ? Cho ví dụ cụ thể 

# data[].attributes.body
Toán tử số học :
-Dùng để thực hiện các phép tính toán học
vd : phép cộng (+), trừ (-) , nhân (*) , chia (/) , phép chia lấy dư (%) , phép tăng giá trị của biên lên 1 (++) ...
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
vd :
+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
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.
vd :
+ Toán tử và ( && ) : 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 ( || ) : Trả về giá trị “True” nếu ít nhất một giá trị là True
+ Toán tử phủ định ( ! ) : Toán hạng đơn tử NOT. Chuyển giá trị từ True sang False và ngược lại.
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.
vd :
<bt 1>   ?   <bt 2>   :   <bt 3>;

bt 1: Biểu thức logic. Trả trả về giá trị True hoặc False

bt 2: Là giá trị trả về nếu xác định là True

bt 3: Là giá trị trả về nếu xác định là False

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.
vd :  int var = 20;

int p, q, r, s;

p = q = r = s = var;

VÍ DỤ tính tổng lương của nhân viên sử dụng phép gán và toán tử .
int luongNhanVien = 30000;
int soNgayLamViec = 30;
int tongLuong = luongNhanVien*soNgayLamViec;

# data[].attributes.headline
5. Cách nhập xuất dữ liệu trong java , Cho ví dụ ?

# data[].attributes.subject
5. Cách nhập xuất dữ liệu trong java , Cho ví dụ ?

# data[].attributes.body
Nhập dữ liệu từ bàn phím :

- Đầu tiên các bạn phải import lớp Scanner vào .
- Sau đó các bạn khởi tạo một đối tượng scanner thuộc lớp Scanner bằng câu lệnh
Scanner sc = new Scanner(System.in);
- Đối tượng scanner sẽ giúp các bạn nhập dữ liệu từ bàn phím

Xuất dữ liệu từ bàn phím :

Dùng System.out.println("Giá trị xuất");

Các phương thức nhập xuất :

next(): Nhận vào một String token (nhận vào 1 từ đầu tiên thay cả câu)

nextInt(): Nhận vào một số int

nextLong(): Nhận vào một số long

nextFloat(): Nhận vào một số float

nextDouble(): Nhận vào một số double

sc.nextLine(): Nhận vào một chuỗi String (Cả 1 câu)

nextByte(): Nhận vào một byte

nextBoolean(): Nhận vào một boolean

static final Scanner scanner = new Scanner(System.in);
private void inputData(){
    String name, phoneNumber, status;
    int age;

    System.out.println("Nhập tên :");
    name = scanner.nextLine();

    System.out.println("Nhập số điện thoại :");
    numberPhone = scanner.nextLine();

    System.out.println("Nhập tình trạng hôn nhân :");
    status = scanner.nextLine();

    System.out.println("Nhập tuổi :");
    age = scanner.nextInt();
}