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

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

# data[].attributes.body
Trong Java có kiểu dữ liệu nguyên thủy và kiểu dữ liệu tham chiếu
* Kiểu dữ liệu nguyên thủy:
- Kiểu số nguyên
+ byte: Vd:  byte x = 1.
+ short: Vd: short x=10000.
+ int: Vd: int h=2341234.
+ long: Vd: long a = 100000L.
- Kiểu số thực:
+ float: Vd: float a = 12.3f.
+ double: Vd: double x = 676.7.
- char: Vd: char name ='A'.
- boolean: Vd: boolean hama = true.
* Kiểu dữ liệu tham chiếu:
- Array:
- class:
- interface:

+Vd:ArrayList<Player>PlayerList  //khai báo kiểu Player cho ArayList
+Vd2:public class Player{} //khai báo lớp Player

# data[].attributes.headline
Câu 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
Câu 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
***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. Độ lớn của biến sẽ cho biết khả năng lưu trữ giá trị của biến. Bạn sẽ được nắm rõ về độ lớn lưu trữ của mỗi loại biến ở bài học này. Ngoài ra thì mỗi biến còn phải được bạn đặt một cái tên giúp hệ thống có thể quản lý, truy xuất dữ liệu trong vùng nhớ của biến đó.

Đặt Tên Cho Biến:
Quy Tắc 1

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 ($). Ví dụ cho việc đặt tên biến đúng như sau.
Vd: int age; //dung cu phap

Quy Tắc 2

Không được có khoảng trắng giữa các ký tự của biến. Ví dụ đặt tên biến như sau là sai.

Vd:Khai báo tuổi của cầu thủ
int 5age; //sai cu phap

Quy Tắc 3

Không chứa ký tự đặc biệt bên trong tên biến như !@#%^&*. Ví dụ đặt tên biến như sau là sai.
Vd: Khai báo tên cầu thủ
String n@me; //sai cu phap;

Quy Tắc 4

Không được đặt tên biến trùng với keyword. Keyword là các từ khóa mà ngôn ngữ Java dành riêng cho một số mục đích của hệ thống.
Vd: int final;

***Hằng số***

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.
Để khai báo một hằng số, bạn cũng khai báo giống như biến nhưng thêm final vào trước khai báo.
Vd:
final float money = 23,23;

final char FIRST_CHARACTER = 'a';

final int age_nghi_huu = 38;

# data[].attributes.headline
Câu 3:Có bao nhiêu cách ép kiểu trong Java? Cho ví dụ cụ thể.

# data[].attributes.subject
Câu 3:Có bao nhiêu cách ép kiểu trong Java? Cho ví dụ cụ thể.

# data[].attributes.body
Trong Java, có hai loại ép kiểu dữ liệu:

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.

Ví dụ 1:

public class Player {

public static void main(String[] args) {

int age= 100;

long age1 = i;    // không yêu cầu chỉ định ép kiểu

float age2 = l;   // không yêu cầu chỉ định ép kiểu

System.out.println("Tuổi cầu thủ kiểu Int: " + age);

System.out.println("Tuổi cầu thủ kiểu long: " + age1);

System.out.println("Tuổi cầu thủ kiểu float  " + age2);

}

}
+output:

Tuổi cầu thủ kiểu Int: 19
Tuổi cầu thủ kiểu long: 19
Tuổi cầu thủ kiểu Float:  19.04

Ví dụ 2:
//Khai báo lớp cầu thủ
public class Player {

public static void main(String[] args) {

double age= 19.04;

long age1= (long) age; // yêu cầu chỉ định kiểu dữ liệu (long)

int age2= (int) age; // yêu cầu chỉ định kiểu dữ liệu (int)

System.out.println("Tuổi cầu thủ kiểu double: " + age);

System.out.println("Tuổi cầu thủ kiểu long: " + age1);

System.out.println("Tuổi cầu thủ kiểu Int:  " + age2);

}

}
+output:

Tuổi cầu thủ kiểu double: 19.04
Tuổi cầu thủ kiểu long: 19
Tuổi cầu thủ kiểu Int:  19

# data[].attributes.headline
Câu 4: Trong Java có những loại toán tử nào? Cho ví dụ minh họa.

# data[].attributes.subject
Câu 4: Trong Java có những loại toán tử nào? Cho ví dụ minh họa.

# data[].attributes.body
- Trong Java, chúng ta thường gặp các loại toán tử sau:
+ Toán tử gán
-> ví dụ: a = 1 sẽ gán giá trị 1 cho a.
+ Toán tử số học
-> ví dụ: toán tử + Toán tử cộng.
+ Toán tử một ngôi
-> ví dụ: toán tử +  Chỉ định giá trị         không âm.
+ Toán tử so sánh
-> ví dụ: toán tử == (So sánh bằng)  So sánh giá trị của toán hạng bên trái và toán hạng bên phải có bằng nhau hay không. Nếu có thì kết quả trả về true, ngược lại trả về false.
+ Toán tử luận lý điều kiện
-> ví dụ: toán tử  &&  Phép toán luận lý và (AND) trên 2 giá trị, Kết quả trả về true khi cả hai đều đúng.
+ Độ ưu tiên giữa các toán tử trong Java
-> ví dụ: thứ tự 1: Các toán tử 1 ngôi: +, -, ++, --

# data[].attributes.headline
Câu 5: Nhập xuất dữ liệu trong java, cho ví dụ:

# data[].attributes.subject
Câu 5: Nhập xuất dữ liệu trong java, cho ví dụ:

# data[].attributes.body
Nhập dữ liệu:

+ Để nhập dữ liệu từ thiết bị nhập chuẩn (như bàn phím,…), Java cung cấp lớp Scanner.  Để dùng lớp này, đầu tiên chúng ta phải tạo một đối tượng nhập và kết nối nó với thiết bị nhập chuẩn như đoạn mã sau:

-Scanner console = newScanner(System.in);

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

+Sau khi tạo đối tượng từ lớp Scanner, chúng ta sẽ sử dụng các phương thức của lớp Scanner để nhận dữ liệu từ thiết bị nhập chuẩn. Một số phương thức phổ biến:

-        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

Xuất dữ liệu:

Trong các chương trình Java đầu tiên, chúng ta đã làm quen với đối tượng xuất dữ liệu đến thiết bị chuẩn (cụ thể là màn hình) là System.out và các phương thức xuất dữ liệu cơ bản là print và println

+Phương thức printf có thể được sử dụng theo hai cách là:

- System.out.printf(formatString);

- System.out.printf(formatString,argumentList);
Ví dụ:
Scanner sc = new Scanner(System.in);
System.out.printf(“ Ten doi bong:  “ );
int a = sc.nextLine();
System.out.printf(“ So luong thanh vien:  “ );
int b = sc.nextInt();