930 likes | 1.14k Views
Chapter 3. CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ JAVA. Nội dung. Các thành phần Biến, hằng, toán tử, kiểu dữ liệu Cấu trúc điều khiển Xử lý Ngoại lệ Truyền tham số và các lời gọi hàm Cấu trúc mảng Một số lớp cơ bản: Lớp String và StringBuffer Math. Basics of the Java Language. Java
E N D
Chapter 3 CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ JAVA
Nội dung • Các thành phần • Biến, hằng, toán tử, kiểu dữ liệu • Cấu trúc điều khiển • Xử lý Ngoại lệ • Truyền tham số và các lời gọi hàm • Cấu trúc mảng • Một số lớp cơ bản: • Lớp String và • StringBuffer • Math
Basics of the Java Language • Java • Basic Components
Comment: 3 types • /* Here is comment which extends across two lines */ • /* * This comment has especial meaning for the javadoc unitily.It will be part of documenttation automaticlly generated By the javadoc program */ • // this comment extends to the end of this line of text
Command line and block // A program to display the message // "Hello World!" on standard output public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } // end of class HelloWorld
Data Type • Xác định loại dữ liệu được lưu trữ trong biến • Xác định những tác vụ có thể thực hiện trên dữ liệu • Có 2 loại kiểu dữ liệu trong Java: • Primitive data types (kiểu cơ bản/nguyên thủy) • Reference data types (kiểu tham chiếu)
Các kiểu dữ liệu tham chiếu • Một biến thuộc kiểu dữ liệu tham chiếu chỉ chứa tham khảo đến giá trị thực sự được biểu diễn bởi biến đó.
Hằng ký tự • Dãy ký tự đặc biệt dùng để biểu diễn các ký tự không thể nhập trực tiếp vào một chuỗi.
2. Variables • Variables must be declared before using, • Syntax datatype identifier [=value][, identifier[=value]...]; • Three components of a declaration are: • Data type • Name • Initial value to be assigned (optional) • Ex: int numberOfStudents; String name; int x=10; boolean isFinished; char firstInitial, middleInitial, lastInitial;
Example class DynVar { public static void main(String [] args) { double 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); } }
Scope variable • Biến cục bộ có thời gian tồn tại giới hạn và quan hệ chỉ trong phần nhỏ của mã. class ScopeVar { public static void main(String [] args) { intnum = 10; if ( num == 10) { // 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); } }
Variables • JAVA có 4 loại biến : • Biến thành phần: là các thành phần của lớp và được khởi tạo giá trị khi một đối tượng của lớp được tạo ra • Biến tĩnh: là các thành viên của lớp, đại diện cho cả lớp • Biến tham chiếu: được sử dụng để xử lý các đối tượng. • Biến cục bộ: được khai báo trong các phương thức và các khối, khai báo trước khi dùng
Khởi tạo giá trị • Giá trị mặc định • Chuyển đổi kiểu
Chuyển đổi kiểu dữ liệu: 3 dạng • Dữ liệu cơ bản Cú pháp: (NewType) Value; Ex: float f= (float) 100.15D (double->float) • Các đối tượng: thành 1 đối tượng của một lớp khác. • Với điều kiện các đối tượng muốn đổi kiểu phải thuộc các lớp thừa kế nhau. • Cú pháp : (NewClass) Object ; • Dữ liệu cơ bản sang đối tượng và ngược lại: • Trong gói java.lang có sẵn những lớp đặc biệt tương ứng với từng kiểu nguyên thủy: lớp Integer, Float,.. Tạo đối tượng,ex: int Intobj = new Integer (32); • Khi muốn lấy lại giá trị ban đầu ta dùng phương thức có sẵn trong lớp tương đương. Như intValue() cho kiểu int...
Ép kiểu • Một kiểu dữ liệu chuyển sang một kiểu dữ liệu khác • Hai loại ép kiểu • Implicit casting (ngầm định) • Explicit casting (tường minh)
Ép kiểu ngầm định • Chuyển kiểu tự động • Điều kiện • Kiểu đích phải lớn hơn kiểu nguồn • Mở rộng kiểu • Các kiểu phải tương thích với nhau inta= 100; double b =a + 2.5f;
Ép kiểu tường minh • Chuyển kiểu có độ chính xác cao hơn sang kiểu có độ chính xác thấp hơn • Thu hẹp kiểu • Ex, float sang int float a=21.2345f; int b = (int)a + 5;
3. Operators • Arithmetic Operators • Assignment operators • Relational Operators and Conditional Operators • Logical Operators
Toán tử một ngôi • “++”, “--” : có thể dùng: • trước (prefix) hoặc • sau (postfix) toán hạng
Toán tử quan hệ • Kiểm tra mối quan hệ giữa hai toán hạng. • Luôn trả về một giá trị luận lý (true hay false)
Toán tử điều kiện • “&&”, “||” : làm việc trên hai toán hạng luận lý • “ ? : ” : toán tử điều kiện chấp nhận 3 toán hạng
Toán tử trên bit • Làm việc trên dạng biểu diễn nhị phân của dữ liệu
4. Classes in Java • Class declaration Syntax class Customer { var_datatype variablename; : met_datatype methodname(parameter_list) : }
Input/ Output • Input: System.in (ko cho nhập “ “) • Scanner nhap = new Scanner(System.in); • int x = nhap.nextInt(); • String e= nhap.next(); • Input: Luồng ký tự: BufferedReader (cho “ ”) BufferedReader in = new BufferedReader (new InputStreamReader (System.in)); String name = in.readLine (); int hours = Integer.parseInt (in.readLine()); Double rate = Double.parseDouble (in.readLine()); • Output: System.out • System.out.println (“Hello”);
Express • Có các loại biểu thức như biểu thức logic, biểu thức số học, biểu thức gán • Ví dụ : a <= 10; • Biểu thức gán: Variable1= Variable2=...=Value; • Biểu thức điều kiện : Expression ? Expression_true : Expression_false;
5. Control Flow • All application development environments provide a decision making process called control flow statements that direct the application execution. • Flow control enables a developer to create an application that can examine the existing conditions, and decide a suitable course of action. • Loops or iteration are an important programming construct that can be used to repeatedly execute a set of actions. • Jump statements allow the program to execute in a non-linear fashion.
Control Flow Structures in Java • Decision-making • if-else statement • switch-case statement • Loops • while loop • do-while loop • for loop
if-else statement if (condition) { action1; } else { action2; }
Example: checkNum class CheckNum { publicstaticvoid main(String [] args) { intnum = 10; if (num % 2 == 0) System.out.print(num + " is an even number"); else System.out.print(num + " is an odd number"); } }
switch – case statement switch(integer expression) { case integer expression: statement(s) break; ... default: statement(s) break; } Expression : Biểu thức điều kiện phụ thuộc vào kiểu dữ liệu cơ bản (byte, int ...)
Example class SwitchDemo { public static void main(String[] args) { int day = 4; String str; switch (day) { case 0: str = "Sunday"; break; case 1: str = "Monday"; break; case 2: str = "Tuesday"; break; case 3: str = "Wednesday"; break; case 4: str = "Thursday"; break; case 5: str = "Friday"; break; case 6: str = "Saturday"; break; default: str = "Invalid day"; } System.out.println(str); } }
while Loop • while loops are used for situations when a loop has to be executed as long as certain condition is True. • The number of times a loop is to be executed is not pre-determined, but depends on the condition. • The syntax is: while (condition) { action statements; . . }
do – while Loop • The do-while loop executes certain statements till the specified condition is True. • These loops are similar to the while loops, except that a do-while loop executes at least once, even if the specified condition is False. The syntax is: do { action statements; . . } while (condition);
for Loop Syntax: for (initialization statements; condition; increment / decrement statements) { action statements; . . }
Jump Statements • Three jump statements are: • break • continue • return • The three uses of break statements are: • It terminates a statement sequence in a switch statement. • It can be used to exit a loop. • It is another form of goto.
ERROR !! Ngoại lệ là gì? • Nếu gặp phải một lỗi khi thực thi chương trình, một ngoại lệ sẽ xảy ra • Khi một ngoại lệ xảy ra, chương trình kết thúc đột ngột, điều khiển được trả về cho OS • Trình xử lý ngoại lệ được thực hiện để xác định lỗi và bẫy nó 5/ 0 = Ví dụ:
Trình xử lý ngoại lệ – Ví dụ • Một đoạn mã giả ………… IF B IS ZERO GO TO ERROR C = A/B PRINT C GO TO EXIT ERROR: DISPLAY “DIVISION BY ZERO” EXIT: END Block xử lý lỗi