Lập trình Java - Nguyễn Hữu Thể - Java cơ bản
Bé ph¸t triÓn øng dông java gåm:
javac: tr×nh biªn dÞch ng«n ng÷ java thµnh m· byte code
java (m¸y ¶o java - Java Virtual Machine): Th«ng dÞch m·
bytecode cña c¸c chư¬ng tr×nh kiÓu application thµnh m· thùc
thi cña m¸y ®Ých.
appletviewer: Bé th«ng dÞch thùc thi applet.
javadoc: T¹o tµi liÖu tù ®éng.
jdb: Gë rèi.
rmic: T¹o stub cho øng dông kiÓu RMI.
rmiregistry: Phôc vô tªn (Name Server) trong hÖ thèng RMI
i tạo Java hỗ trợ khởi tạo các giá trị mặc định cho các biến. 15 Chuyển đổi kiểu dữ liệu Dùng để chuyển từ một kiểu dữ liệu này sang kiểu dữ liệu khác Có 2 dạng ép kiểu: Ép kiểu ngầm định Ép kiểu tường minh 16 Chuyển đổi kiểu dữ liệu (2) 17 Ép kiểu ngầm định Khi một kiểu dữ liệu được gán cho 1 biến của 1 kiểu khác tự động chuyển kiểu Điều kiện: Hai kiểu phải tương thích Kiểu đích phải lớn hơn kiểu nguồn 18 Ép kiểu tường minh Khi cần chuyển sang kiểu có độ chính xác cao hơn 19 Định dạng nhập xuất Mã định dạng: bất kì một đầu ra được hiển thị trên màn hình cần phải được định dạng 20 Định dạng nhập xuất (2) Hàm printf() trong Java được sử dụng để định dạng kiểu dữ liệu ở console Ví dụ: public static void main(String[] args) { int i = 10; System.out.printf("gia tri cua i la %d", i); } 21 Lớp Scanner Cho phép người dùng đọc giá trị của một vài kiểu Một số phương thức của Scanner: public static void main(String[] args) { Scanner scaner = new Scanner(System.in); } Đối tượng InputStream 22 Dãy Escape 23 Toán tử luận lý Các biểu thức có kiểu trả về là boolean, có thể kết hợp lại với nhau bằng các toán tử luận lý như: AND (& hoặc &&) OR (| hoặc ||) XOR (^) NOT (!) 24 25 Toán tử 26 Toán tử 27 Toán tử 28 Toán tử 29 Các toán tử làm việc với bit Phép toán trên bit: & , | , ^ , > ,>>>, ~ int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ c = a | b; /* 61 = 0011 1101 */ c = a ^ b; /* 49 = 0011 0001 */ c = ~a; /*-61 = 1100 0011 */ c = a << 2; /* 240 = 1111 0000 */ c = a >> 2; /* 15 = 1111 */ c = a >>> 2; /* 15 = 0000 1111 */ Biểu thức & toán tử Phép toán trên kiểu chuỗi String: Java dùng toán tử + để nối hai chuỗi lại với nhau Độ ưu tiên của các toán tử System.out.println(name + " is a " + color); 30 Tính kết hợp của các phép toán 31 Từ khóa Từ khóa Ý nghĩa abstract Dùng để khai báo lớp, hàm trừu tượng. boolean Kiểu dữ liệu logic break Được sử dụng để kết thúc vòng lặp hoặc cấu trúc switch. byte Kiểu dữ liệu số nguyên. case Được sử dụng trong lệnh switch. char Kiểu dữ liệu kí tự. catch Được sử dụng trong xử lý ngoại lệ. class Dùng để khai báo lớp. const Khai báo biến theo sau là biến hằng continue Được dùng trong vòng lặp để bắt đầu một vòng lặp mới. default Được sử dụng trong lệnh switch. do Được sử dụng trong vòng lặp điều kiện sau. 32 Từ khóa (2) Từ khóa Ý nghĩa double Kiểu dữ liệu số thực. else Khả năng lựa chọn thứ 2 trong câu lệnh If. extends Chỉ rằng một lớp được kế thừa từ một lớp khác. false Giá trị logic. final Dùng để khai báo hằng số, phương thức không thể ghi đè, hoặc lớp không thể kế thừa. finally Phần cuối của khối xử lý ngoại lệ. float Kiểu số thực. for Câu lệnh lặp. goto Nhảy tới dòng lệnh bất kì đã được đặt nhãn if Câu lệnh lựa chọn. implements Chỉ rằng một lớp triển khai từ một giao diện. import Khai báo sử dụng thư viện. 33 Từ khóa (3) Từ khóa Ý nghĩa instance of Kiểm tra một đối tượng có phải là một thể hiện của một lớp hay không. int Kiểu số nguyên. interface sử dụng để khai báo giao diện. long Kiểu số nguyên. native Khai báo phương thức được viết bằng ngôn ngữ C++. new Tạo một đối tượng mới. null Một đối tượng không tồn tại. package Dùng để khai báo một gói. private Đặc tả truy xuất. public Đặc tả truy xuất. protected Đặc tả truy xuất. return Trả giá trị về short Kiểu số nguyên. 34 Từ khóa (4) Từ khóa Ý nghĩa static Dùng để khai báo biến, thuộc tính tĩnh. super Truy xuất đến lớp cha. switch Lệnh lựa chọn. synchronized Một phương thức độc quyền truy xuất trên một đối tượng. this Ám chỉ chính lớp đó. throw Ném ra ngoại lệ. throws Khai báo phương thức ném ra ngoại lệ. true Giá trị logic. try Sử dụng để bắt ngoại lệ. void Dùng để khai báo một phương thức không trả về giá trị. while Dùng trong cấu trúc lặp. 35 36 java - øng dông kiÓu application (2) VÝ dô øng dông HelloWorld: §Þnh nghÜa trong líp HelloWorld Chøa trong tËp tin HelloWorld.java Chó gi¶i: System.out.print() : in ra mµn h×nh 37 vÝ dô (1) In ra mµn h×nh: Sö dông phư¬ng thøc System.out.print(arg1 + arg2+ ...+argn); arg1, arg2, argn: c¸c tham sè cã kiÓu tïy ý. 38 vÝ dô (2) §äc ký tù tõ bµn phÝm: Sö dông phư¬ng thøc int System.in.read(); Gi¸ trÞ tr¶ vÒ lµ thø tù trong b¶ng m· ascii cña c¸c ký tù nhËn tõ bµn phÝm. 39 java - cÊu tróc ®iÒu khiÓn LÖnh if - else PhÐp to¸n ? LÖnh switch While Do - while For Break Continue Return 40 LÖnh if - else if ( condition ) { Task for the true condition; } else { Task for the false condition; } 41 PhÐp to¸n ? PhÐp to¸n ?:(condition) ? Operation1 : Operation2; if ( condition == true ) { return value of Operation1; } else { return value of Operation2 ;} 42 LÖnh switch switch ( variable ) { case value1 : { Task 1; break; } case value2 : { Task 2; break; } . . . default: Task n; } 43 LÖnh switch 44 while while (condition == true){ The condition is true, so we have to do this task; } 45 do - while do { Do this task until the condition gets false; } while (condition ==true) ; 46 for for (khëi t¹o; ®iÒu kiÖn; bưíc t¨ng/gi¶m){ The condition is true, so we do this task; operation2; } 47 LÖnh break Vßng lÆp sÏ kÕt thóc khi gÆp lÖnh break; 48 LÖnh continue C¸c lÖnh sau lÖnh continue sÏ bÞ bá qua, mét chu kú lÆp míi b¾t ®Çu. 49 §æi chuçi thµnh sè 50 Truyền đối số qua dòng lệnh Đối số của chương trình C¸c ®èi sè ®a vµo chư¬ng tr×nh c¸ch nhau kho¶ng tr¾ng trªn dòng lÖnh. C¸c ®èi sè chøa trong mét m¶ng kiÓu chuçi (String) : args. Sè lưîng ®èi sè chØ ra bëi thuéc tÝnh length cña m¶ng. Try-catch-finally Sử dụng khối try, catch, finally để bắt giữ các ngoại lệ Khối lệnh có thể ném ngoại lệ Khối lệnh sẽ thực hiện nếu ngoại lệ xảy ra Khối lệnh sẽ thực hiện bất chấp ngoại lệ xảy ra hay không 51 Chuỗi (String) Java hỗ trợ Unicode mỗi kí tự dài 16 bit Ví dụ hằng chuỗi System.out.println(“Hello world”); Ghép chuỗi: Dùng các toán tử + và += để ghép chuỗi. Ví dụ: double distance = 45.5; System.out.println("Distance = "+ distance +" miles."); Distance = 45.5 miles. Chuỗi Khai báo và sử dụng kí tự char có độ dài 2 bytes và chứa các số nguyên không dấu. Hằng kí tự được biểu diễn trong dấu nháy đơn (’) Có thể nhập các kí tự đơn bằng dãy escape sequence \uxxx chỉ định thứ tự theo thập lục phân. char c = '\u0a76'; System.out.println("Char = "+ c); String - Constructor public String() ; public String(String original); public String(char value[]); public String(char value[], int offset, int count); public String(int[] codePoints, int offset, int count); public String(byte bytes[], int offset, int length, String charsetName); public String(byte bytes[], int offset, int length, Charset charset); (1.6) public String(byte bytes[], String charsetName); public String(byte bytes[], Charset charset); (1.6) public String(byte bytes[], int offset, int length); public String(byte bytes[]) public String(StringBuffer buffer); public String(StringBuilder builder); public String(byte ascii[], int hibyte, int offset, int count); public String(byte ascii[], int hibyte); String Ví dụ: String s = new String(); Chú ý: • Kí tự trong Java là kí tự 16bit, không phải ASCII 8 bit • Các encoding (charset): các chế độ mã hóa kí tự nền được sử dụng trong hệ thống để chuyển đổi kí tự ASCII thành Unicode. – VD: UTF-8, UTF-16, US-ASCII, ISO-8859-1, … Chiều dài =0 Các phương thức chuỗi String Demo: Phương thức kiểm tra lớp String • length(), charAt(), getChars(..), getBytes(…), hashCode() Phương thức so sánh lớp String • equals(…), equalsIgnoreCase(…), compareTo(…), compareToIgnoreCase (…), regionMatches(…), startsWith(…), endWith(…) Phương thức lập chỉ mục lớp String • indexOf(…), lastIndexOf(…) Phương thức chuyển đổi lớp String • substring(…), concat(…), replace(…), toLowerCase(…), toUpperCase(…), trim(), toCharArray(…), intern() Các phương thức chuỗi Demo Tính dung lượng và chiều dài lớp StringBuffer: • length(), capacity(), ensureCapacity(…), setLength(…) Phương thức char của StringBuffer • charAt(…), getChars(…), setCharAt(…) Nối thêm lớp StringBuffer • append(…) Xóa, thay thế • delete(…), replace(…) Chuỗi con • substring(…) Chèn lớp • insert(…) Khác • reverse(), toString(), readObject(…) Lớp Character Useful Methods in the Character Class Method Description boolean isLetter(char ch) boolean isDigit(char ch) Determines whether the specified char value is a letter or a digit, respectively. boolean isWhiteSpace(char ch) Determines whether the specified char value is white space according to the Java platform. boolean isUpperCase(char ch) boolean isLowerCase(char ch) Determines whether the specified char value is upper- or lowercase, respectively. char toUpperCase(char ch) char toLowerCase(char ch) Returns the upper- or lowercase form of the specified char value. toString(char ch) Returns a String object representing the specified character value. int digit(char ch, int radix) Returns the numeric value of the character in the specified radix. 58 Ví dụ Các kí số Character Character rất hữu ích khi: chuyển đổi kí tự thành số nguyên trong 1 cơ số. int digit = 12; char c = Character.forDigit(digit, 16); System.out.println(digit + " = " + c); char c = 'F'; int digit = Character.digit(c, 16); System.out.println(c + " = "+ digit);
File đính kèm:
- Lập trình Java - Nguyễn Hữu Thể - Java cơ bản.pdf