Ép kiểu Trong việc ép kiểu, một kiểu dữ liệu này có thể được chuyển đổi thành kiểu dữ liệu khác... Khi một kiểu dữ liệu được gán cho biến của kiểu dữ liệu khác thì nó sẽ tự động thay
Trang 1Bài 2
Tìm hiểu cơ bản về ngôn ngữ
lập trình Java
Trang 4Phân tích chương trình Java
Ký hiệu // dùng để ghi chú thích trong source code
Dòng “class First” mô tả một lớp là “First”
Đây là main method, nơi mà chương trình bắt đầu được
Trang 5Biên dịch và thực thi chương trình
The java compiler creates a file called 'First.class'
that contains the byte codes
Để chạy chương trình, một trình thông dịch java sẽ thực thi mã bytecode
Trang 7Truyền tham số dòng lệnh
Output
Trang 8Cơ bản về ngôn ngữ Java
Trang 9}
Trang 10Ví dụ về một lớp
Trang 12Ép kiểu
Trong việc ép kiểu, một kiểu dữ liệu này có thể được
chuyển đổi thành kiểu dữ liệu khác.
Ví dụ
float c = 34.89675f;
int b = (int)c + 10;
Trang 13Kiểu tự động và ép kiểu
Có 2 kiểu dữ liệu chuyển đổi: tự động và ép kiểu
Khi một kiểu dữ liệu được gán cho biến của kiểu dữ liệu
khác thì nó sẽ tự động thay thế kiểu cho phù hợp
2 kiểu dữ liệu so sánh được
Kiểu đích phải có kích thước lớn hơn kiểu
Trang 14Các quy tắc khi chuyển kiểu
Các giá trị kiểu byte và short đều chuyển về
kiểu int
Trong một biểu thức có một toán tử là long thì toàn bộ
biểu thức nhận giá trị kiểu long
Nếu một toán tử là float thì toàn bộ biểu thức là float.
Nếu một toán tử là double thì toàn bộ biểu thức là
double
Trang 16double len = 5.0, wide = 7.0;
double num = Math.sqrt(len * len + wide * wide);
System.out.println("Value of num after dynamic initialization
is " + num);
} }
Trang 17Phạm vi và vòng đời của biến
Biến có thể được mô tả bên trong một khối lệnh
Một khối lệnh bắt đầu với dấu ngoặc nhọn { và kết thúc
với ngoặc đóng }
Một khối là một phạm vi
Một phạm vi mới được tạo ra khi một khối mới được tạo
Phạm vi sẽ xác định tầm ảnh hưởng của đối tượng
Phạm vi cũng xác định vòng đời của đối tượng
Trang 18// num is available in inner scope int num1 = num * num;
System.out.println("Value of num and num1 are " + num + "
" + num1);
} //num1 = 10; ERROR ! num1 is not known System.out.println("Value of num is " + num);
}
Output
Trang 19Khai báo mảng
Có 3 cách khai báo mảng:
datatype identifier [ ];
datatype identifier [ ] = new datatype[size];
datatype identifier [ ] = {value1,value2,
….valueN};
Trang 21int multi[][] = new int [4][];
multi[0] = new int[1];
multi[1] = new int[2];
multi[2] = new int[3];
multi[3] = new int[4];
for (int count = 0; count < 4; count++)
}
Trang 23Toán tử số học
Các toán hạng của các toán tử số học phải có kiểu dữ liệu
dạng số
Các toán hạng kiểu boolean không bao giờ được sử dụng
nhưng các toán hạng kiểu kí tự thì được phép
Các toán tử sử dụng biểu thức toán học
Bao gồm: +, -, *, /, %, ++, , +=, -=, *=, /=, %=
Trang 24int num = 5, num1 = 12, num2 = 20, result;
result = num + num1;
System.out.println("Sum of num and num1 is : (num + num1) " + result);
result = num % num1;
System.out.println("Modulus of num and num1 is : (num % num1) " + result);
result *= num2;
System.out.println("Product of result and num2 is : (result *= num2) " + result);
System.out.println("Value of num before the operation is : " + num);
num ++;
System.out.println("Value of num after ++ operation is : " + num);
double num3 = 25.75, num4 = 14.25, res;
res = num3 - num4;
System.out.println("num3 – num4 is : " +res);
Output
Trang 25Toán tử kiểu bit
Toán tử bit cho phép ta thao tác từng bit trên kiểu dữ liệu
nguyên thủy
Nó thực hiện trên 2 bit ở vị trí tương đương trên 2 toán
hạng và trả về kết quả mới
Một số toán tử: ~, &, |, ^, >>, <<
Trang 26Toán tử quan hệ
Kiểm tra mối quan hệ giữa 2 toán hạng
Kết quả của phép kiểm tra là true/false
Thường được sử dụng trong các cấu trúc điều
khiển
Gồm: ==, >=, <=, !=
Trang 28Toán tử điều kiện
Category = (Price > 65)?
“Expensive” : “Cheap”;
Nó có thể thay thế một vài lệnh if - else
Nếu Price > 65 thì Category = Expensive, còn nếu
sai thì Category = Cheap
Trang 30Thứ tự ưu tiên của các toán tử
Parentheses: ( ) and [ ]
Toán tử một ngôi: +, -, ++, , ~, !
Toán tử số học: *, /, %, +, -, >>, <<
Toán tử quan hệ: >, >=, <, <=, ==, !=
Toán tử logic và bit: &, ^, |, &&, ||,
Toán tử gán và điều kiện: ?=, =, *=, /=, +=, -=
Ngoặc nhọn có thể được dùng để thay đổi thứ tự ưu tiên
Trang 31Định dạng dữ liệu đầu ra
Khi dữ liệu được đưa ra màn hình thì nó cần phải
được định dạng
System.out.println (“Happy \tBirthday ”);
Output: Happy Birthday
Tự xem tài liệu
Trang 32Các cấu trúc điều khiển trong
Trang 33 Câu lệnh if-else sẽ kiểm tra biểu thức điều kiện, dựa vào kết quả
kiểm tra để quyết định xem thực thi khối lệnh trong if hay else
Cú pháp của câu lệnh if-else như sau:
Trang 35switch – case
Câu lệnh switch-case được sử dụng thay thế cho
nhiều câu lệnh if-else-if
Nó được sử dụng khi kết quả của biểu thức nhận
nhiều giá trị
Lệnh switch-case viết code đơn giản hơn, hiệu quả
cao hơn.
Trang 36Exampleclass SwitchDemo
case 6:
str =
"Saturday";
break;
default:
str = "Invalid day";
} System.out.println(str);
} }
Output
Trang 37 Khối lệnh bên trong vòng lặp while được thực thi cho
đến khi biểu thức điền kiện nhận giá trị false
Số lần lặp không xác định được trước, nó phụ thuộc vào biểu thức điều kiện
Cú pháp:
while (condition) {
action statements;
.}
Trang 39do – while
Do-while được thực thi trong khi biểu thức điền kiện vẫn còn = true
Do-while thực hiện giống như while, tuy nhiên nó khác ở chỗ nó sẽ thực hiện ít nhất một lần ngay cả khi biểu thức điều kiện là false Cú pháp:
do { action statements;
} while (condition);
Trang 41 Vòng lặp for có vài đặc điểm sau: Một biến đếm được khởi tạo trước khi vòng lặp bắt đầu, một biểu thức điều kiện để quyết định vòng lặp được thực thi tiếp hay ko và một câu lệnh thay đổi giá trị biến đếm.
Trang 42int count = 1, sum = 0;
for (count = 1; count <= 10; count += 2) {
sum += count;
} System.out.println("The sum of first 5 odd numbers
is : " + sum);
}
Trang 44System.out.println("The loop is over");
The value of num is : 1
The value of num is : 2
The value of num is : 3
The value of num is : 4
The value of num is : 5
The value of num is : 6
Output
Trang 45Thanks for listenning!!!