Kiểu dữ liệu trong java
Tiếp tục bài viết về các kiểu dữ liệu trong hoc lap trinh java
Kiểu số nguyên
•Bốn kiểu số nguyên khác nhau là: byte, short, int, long•Kiểu mặc định của các số nguyên là kiểu int
•Không có kiểu số nguyên không dấu
•Không thể chuyển biến kiểu int và kiểu boolean như trong ngôn ngữ C/C++
VD: int x = 0;
long y=100;
int a=1,b,c;
•Kiểu số nguyên:
boolean b = false;
if (b == 0)
{
System.out.println("Xin chao");
}
• Lúc biên dịch, đoạn chương trình trên sẽ báo lỗi vì ta không được so sánh biến kiểu boolean với biến kiểu int.
- Một số lưu ý đối với các phép toán trên số nguyên:
- Nếu hai toán hạng kiểu long thì kết quả là kiểu long.
- Một trong hai toán hạng không phải kiểu long sẽ được chuyển thành kiểu long trước khi thực hiện phép toán.
- Nếu hai toán hạng đầu không phải kiểu long thì phép tính sẽ thực hiện với kiểu int.
- Các toán hạng kiểu byte hay short sẽ được chuyển sang kiểu int trước khi thực hiện phép toán.
Kiểu dấu chấm động:
•Kiểu float có kích thước 4 byte và giá trị mặc định là 0.0f•Kiểu double có kích thước 8 byte và giá trị mặc định là 0.0d
•Khai báo và khởi tạo giá trị cho các biến kiểu dấu chấm động:
float x = 100.0/7;
double y = 1.56E6;
Một số lưu ý với các phép toán trên số dấu chấm động:
- Nếu mỗi toán hạng đều có kiểu dấu chấm động thì phép toán chuyển thành phép toán dấu chấm động.
- Nếu có một toán hạng là double thì các toán hạng còn lại sẽ được chuyển thành kiểu double trước khi thực hiện phép toán.
- Biến kiểu float và double có thể ép chuyển sang kiểu dữ liệu khác (trừ kiểu boolean).
•Kiểu ký tự
•Biểu diễn các ký tự trong bộ mã Unicode
•216 = 65536 ký tự khác nhau :
• từ '\u0000' đến '\uFFFF'
•Kiểu luận lý (boolean)
•Hai giá trị: true hoặc false
•Giá trị mặc định: false
•Không thể chuyển thành kiểu nguyên và ngược lại
•Kiểu mảng
•Khai báo: int[] iarray; hoặc int iarray[];
•Cấp phát: iarray = new int[100];
•Khởi tạo:
int[] iarray = {1, 2, 3, 5, 6};
char[] carray = {‘a’, ‘b’, ‘c’};
Chú ý: Luôn khởi tạo hoặc cấp phát mảng trước khi sử dụng
•Một số khai báo không hợp lệ:
int[5] iarray;
int iarray[5];
Kiểu mảng
•Truy cập mảng
•iarray[3] = 0;
•carray[1] = ‘z’;
Chú ý: Chỉ số của mảng được tính từ 0
•Lấy số phần tử mảng:
iarray.length
•Khi gặp phải sự không tương thích kiểu dữ liệu chúng ta phải tiến hành chuyển đổi kiểu dữ liệu cho biến hoặc biểu thức

•Toán tử ép kiểu:
<tên biến> = (kiểu_dữ_liệu) <tên_biến>;
float fNum = 2.2;
int iCount = (int) fNum
•Ép kiểu rộng (widening conversion): từ kiểu nhỏ sang kiểu lớn (không mất mát thông tin)
•Ép kiểu hẹp (narrow conversion): từ kiểu lớn sang kiểu nhỏ (có khả năng mất mát thông tin)
0 nhận xét: