Lập trình mạng bằng ngôn ngữ Java - Tổng quan lập trình Java
JRE (Java Runtime Environment)
Phần mềm cho phép chạy các chương trình Java trên máy
tính.
JDK (Java Development Kit)
SDK (System Development Kit)
Phần mềm cho phép tạo và chạy các chương trình Java
trên máy tính.
IDE (Integrated Development Environment)
Công cụ giúp viết và chạy các chương trình dễ dàng hơn.
suffix prefix a. Khi không kết hợp với phép gán: KIỂU SỐ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các toán tử trên kiểu số: TỔNG QUAN LẬP TRÌNH JAVA 4. Các phép toán tăng ++ / giảm -- : b. Khi kết hợp với phép gán: int i=10; int newNum = 10*i++; int newNum = 10*i; i = i + 1; Equivalent to int i=10; int newNum = 10*(++i); i = i + 1; int newNum = 10*i; Equivalent to KIỂU SỐ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các toán tử trên kiểu số: TỔNG QUAN LẬP TRÌNH JAVA 5. Chuyển đổi dữ liệu kiểu số (ép kiểu): Ví dụ: xét các câu lệnh sau đây byte i = 100; long k = i*3+4; double d = i*3.1+k/2; // Câu lệnh nào sau đây là đúng int x = k; long k = x; (sai, int < long) (đúng, long > int) KIỂU SỐ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các toán tử trên kiểu số: TỔNG QUAN LẬP TRÌNH JAVA 5. Chuyển đổi dữ liệu kiểu số (ép kiểu): Luật chuyển: khi thực hiện một phép tính nhị phân chứa 2 toán hạng khác kiểu, Java tự động chuyển kiểu toán hạng theo luật sau: 1. Nếu một toán hạng kiểu double, toán hạng khác được chuyển đổi thành kiểu double. 2. Nếu không thì, nếu một toán hạng kiểu float, toán hạng khác được chuyển đổi thành kiểu float. 3. Nếu không thì, nếu một toán hạng kiểu long, toán hạng khác được chuyển đổi thành kiểu long. 4. Nếu không thì, cả hai toán hạng được chuyển đổi thành kiểu int. double float long int short byte KIỂU SỐ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các toán tử trên kiểu số: TỔNG QUAN LẬP TRÌNH JAVA 5. Chuyển đổi dữ liệu kiểu số (ép kiểu): Ép kiểu mở rộng: double d = 3; (mở rộng kiểu) Ép kiểu thu hẹp: int i = (int)3.0; (thu hẹp kiểu) Bài tập: kiểm tra lại biểu thức sau có đúng không? int x = 5 / 2.0; KIỂU SỐ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA KIỂU KÝ TỰ char letter = 'A'; (ASCII) char numChar = '4'; (ASCII) char letter = '\u0041'; (Unicode) char numChar = '\u0034'; (Unicode) Với ký tự đặc biệt: char tab = '\t'; 4 chữ số hệ 16 Description Escape Sequence Unicode Backslash \\ \u005C Single Quote \' \u0027 Double Quote \" \u0022 Description Escape Sequence Unicode Backspace \b \u0008 Tab \t \u0009 Linefeed \n \u000a Carriage return \r \u000d B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA Appendix B: ASCII Character Set ASCII Character Set is a subset of the Unicode from \u0000 to \u007f KIỂU KÝ TỰ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA Appendix B: ASCII Character Set ASCII Character Set is a subset of the Unicode from \u0000 to \u007f KIỂU KÝ TỰ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA KIỂU KÝ TỰ KIỂU SỐ Ví dụ: ép kiểu giữa kiểu ký tự và ký số int i = 'a'; // tương tự int i = (int)'a'; char c = 97; // tương tự char c = (char)97; ép kiểu KIỂU KÝ TỰ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA KIỂU BOOLEAN boolean a1 = true; boolean a2 = false; boolean b = (1 > 2); boolean b2 = (1 == 2); Kết quả của phép so sánh là một giá trị logic Boolean: true hoặc false Operator Name < less than <= less than or equal to > greater than >= greater than or equal to == equal to != not equal to B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA KIỂU BOOLEAN Operator Name Example ! not !b && and (1<x) && (x<100) || or a1 || a2 ^ exclusive or a1 ^ a2 &&: toán tử AND có điều kiện &: toán tử AND không có điều kiện ||: toán tử OR có điều kiện |: toán tử OR không có điều kiện Bảng chân lý của toán tử ! p !p Example true false !(1 > 2) là true, vì (1 > 2) là false. false true !(1 > 0) là false, vì (1 > 0) là true. B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA KIỂU BOOLEAN Ví dụ: cho biết giá trị của các biểu thức sau (3 > 2) && (5 >= 5) (3 > 2) && (5 > 5) (2 > 3) || (5 > 5) (3 > 2) || (5 > 5) (2 > 3) ^ (5 > 1) (3 > 2) ^ (5 > 1) p1 p2 p1&&p2 p1||p2 p1^p2 F F F F F F T F T T T F F T T T T T T F true, vì cả (3 > 2) và (5 >= 5) đều là true. false, vì (5 > 5) là false. false, vì cả (2 > 3) và (5 > 5) đều là false. true, vì (3 > 2) là true. true, vì (2 > 3) là false và (5 > 1) là true. false, vì cả (3 > 2) và (5 > 1) đều là true. Bảng chân lý của toán tử : && , || , ^ B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA Bài tập: cho biết giá trị của các biểu thức và các biến x,num sau? int x=1; (1 < x) && (x < 100) (1 < x) & (x < 100) (x > 1) & (x++ < 10); (1 > x) && ( 1 > x++); (1 == x) | (10 > x++) (1 == x) || (10 > x++) int num; ((num % 2 == 0) && (num % 3 == 0)) ((num % 2 == 0) || (num % 3 == 0)) ((num % 2 == 0) ^ (num % 3 == 0)) B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Thứ tự ưu tiên các toán hạng: TỔNG QUAN LẬP TRÌNH JAVA Ví dụ: cho biết biểu thức sau được tính như thế nào? 3 + 4 * 4 > 5 * (4 + 3) - ++i Tất nhiên phải ưu tiên trong ngoặc trước, ngoài ngoặc sau Chỉ dùng ngoặc tròn Nhiều tầng ngoặc thì thứ tự ưu tiên ngoặc từ trong ra ngoài 1. var++, var-- 2. +, - (dấu dương, âm), ++var,--var 3. (type) Casting (ép kiểu) 4. ! (Not) 5. *, /, % (nhân, chia thường, chia lấy phần dư) 6. +, - (cộng, trừ) 7. , >= (so sánh) 8. ==, !=; (đẳng thức) 9. & (AND không có điều kiện) 10.^ (Exclusive OR) 11.| (OR không có điều kiện) 12.&& (AND có điều kiện) 13.|| (OR có điều kiện) 14.=, +=, -=, *=, /=, %= (toán tử gán) Bảng thứ tự ưu tiên các toán hạng: B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các lưu ý về các toán tử: TỔNG QUAN LẬP TRÌNH JAVA Khi tính toán với 2 toán hạng có cùng mức ưu tiên, sự kết hợp toán tử sẽ xác định thứ tự các phép tính. Tất cả các toán tử nhị phân, ngoại trừ toán tử gán, là kết hợp trái (left-associative). a – b + c – d là tương đương với ((a – b) + c) – d Các toán tử gán là kết hợp phải. Do đó biểu thức a = b += c = 5 tương đương với a = (b += (c = 5)) 1/ Sự kết hợp toán tử: (Operator Associativity) B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các lưu ý về các toán tử: TỔNG QUAN LẬP TRÌNH JAVA Luật 1: bất kỳ biểu thức con nào có thể tính từ trái sang phải. Luật 2: các toán hạng được áp dụng theo thứ tự ưu tiên của chúng. Luật 3: luật kết hợp áp dụng cho 2 toán hạng cạnh nhau có cùng mức ưu tiên. 2/ Luật tính biểu thức: Ví dụ: cho biết thứ tự luật tính của biểu thức sau 3 + 4 * 4 > 5 * (4 + 3) - 1 3 + 4 * 4 > 5 * 7 - 1 3 + 16 > 5 * 7 - 1 3 + 16 > 35 - 1 19 > 35 – 1 19 > 34 false (1) Trong ngoặc trước (2) Nhân (3) Nhân (4) Cộng (5) Trừ (6) Lớn hơn B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các lưu ý về các toán tử: TỔNG QUAN LẬP TRÌNH JAVA Các quy tắc ưu tiên và kết hợp xác định thứ tự của các toán tử, nhưng không xác định thứ tự tính toán của các toán hạng nhị phân. Trong Java, các toán hạng được tính từ trái sang phải. Toán hạng bên trái của một toán tử nhị phân được tính trước bất kỳ phần nào của toán hạng bên phải. (Luật này có quyền ưu tiên hơn các luật đã nêu) Khi các toán hạng có hiệu ứng lề (side effects), thứ tự tính toán của các toán hạng rất cần quan tâm. Ví dụ 1: cho biết giá trị của x int a = 0; int x = a + (++a); Ví dụ 2: cho biết giá trị của x int a = 0; int x = ++a + a; 3/ Thứ tự tính toán toán hạng: x sẽ bằng 1 trong đoạn lệnh vì a được tính bằng 0 trước khi ++a tăng nó lên thành 1 x sẽ bằng 2 trong đoạn lệnh vì ++a tăng nó lên thành 1, rồi cộng với chính nó. B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA Kiểu char chỉ biểu diễn 1 ký tự. Để biểu diễn một chuỗi ký tự, sử dụng kiểu dữ liệu String. Ví dụ: String message = "Welcome to Java"; String là một lớp được định nghĩa trước trong thư viện Java giống như System class và JOptionPane class. Kiểu String không phải là kiểu cơ sở mà là một kiểu tham chiếu (reference type). Bất kỳ lớp Java nào cũng có thể được sử dụng như một kiểu tham chiếu thay cho một biến. KIỂU CHUỖI Tips: chỉ cần hiểu cách khai báo một biến String, cách gán một chuỗi ký tự cho một biến, và cách ghép các chuỗi. B www.sites.google.com/site/khaiphong ĐH Công nghệ Thông tin Các kiểu dữ liệu cơ sở: TỔNG QUAN LẬP TRÌNH JAVA Một số phép toán cơ bản liên quan đến chuỗi: 1. Ghép chuỗi: String message = "Welcome " + "to " + "Java"; // message = "Welcome to Java" String s = "Chuong" + 2; // s trở thành Chuong2 String s1 = "Hello" + 'B'; // s1 trở thành HelloB 2. Chuyển đổi chuỗi ký tự thành số nguyên, số thực: Để chuyển đổi một chuỗi ký tự thành một giá trị int, sử dụng phương thức tĩnh parseInt trong lớp Integer như sau: int intValue = Integer.parseInt(intString); Trong đó intString là một chuỗi số nguyên như “123”. Để chuyển đổi một chuỗi ký tự thành một giá trị double, sử dụng phương thức tĩnh parseDouble trong lớp Double như sau: double doubleValue = Double.parseDouble(doubleString); Trong đó doubleString là một chuỗi số thực như “123.45”. KIỂU CHUỖI
File đính kèm:
- Lập trình mạng bằng ngôn ngữ Java - Tổng quan lập trình Java.pdf