1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hướng đối tượng: Chương 2 - ĐH Bách Khoa Hà Nội

15 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài giảng Lập trình hướng đối tượng: Chương 2 Cú pháp Java cơ bản với mục tiêu chính là nêu được các quy ước đặt tên trong các chương trình Java, tạo ra các định danh hợp lệ; Mô tả các kiểu dữ liệu cơ bản trong Java và cách sử dụng; Các toán tử; Giải thích về phạm vi của biến; Sử dụng các câu lệnh điều khiển, cấu trúc điều kiện, cấu trúc lặp và rẽ nhánh; Khai báo, khởi tạo các biến và mảng trong Java.

8/31/17 Mục tiêu học n Bộ môn Công nghệ Phần mềm Viện CNTT & TT Trường Đại học Bách Khoa Hà Nội n LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 02 Cú pháp Java n n n n Nêu quy ước đặt tên chương trình Java, tạo định danh hợp lệ Mơ tả kiểu liệu Java cách sử dụng Các tốn tử Giải thích phạm vi biến Sử dụng câu lệnh điều khiển, cấu trúc điều kiện, cấu trúc lặp rẽ nhánh Khai báo, khởi tạo biến mảng Java Nội dung Nội dung Định danh Các kiểu liệu Toán tử Cấu trúc điều khiển Mảng Định danh Các kiểu liệu Toán tử Cấu trúc điều khiển Mảng 8/31/17 Định danh n Định danh: n n Định danh (2) n Xâu ký tự thể tên biến, phương thức, lớp nhãn Quy ước với định danh (naming convention): n n Quy định với định danh: n n n n n n Các ký tự chữ số, chữ cái, '$' ‘_’ Tên không phép: n n n Yourname, yourname, YourName yourName định danh khác n theexample Lớp (Class): viết hoa chữ từ ghép lại n Bắt đầu chữ số Trùng với từ khóa Chứa dấu cách Phân biệt chữ hoa chữ thường n Bắt đầu chữ Gói (package): tất sử dụng chữ thường TheExample Phương thức/thuộc tính (method/field): Bắt đầu chữ thường, viết hoa chữ từ lại n theExample Hằng (constants): Tất viết hoa n THE_EXAMPLE Định danh (3) n Nội dung Literals null true false n Từ khóa (keyword) abstract assert boolean break byte case catch char class continue default double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while n Định danh Các kiểu liệu Toán tử Cấu trúc điều khiển Mảng Từ dành riêng (reserved for future use) byvalue cast const future generic goto inner operator outer rest var volatile 8/31/17 Các kiểu liệu n 2.1 Kiểu liệu nguyên thủy Trong Java kiểu liệu chia thành hai loại: n Kiểu liệu nguyên thủy (primitive) n n n n n n n Số nguyên (integer) Số thực (float) Ký tự (char) Giá trị logic (boolean) n Kiểu liệu tham chiếu (reference) n n Mọi biến phải khai báo kiểu liệu n Mảng (array) Đối tượng (object) Các kiểu liệu chứa giá trị đơn Kích thước định dạng phải phù hợp với kiểu Java phân loại thành kiểu liệu nguyên thủy 10 a Số nguyên n n b Số thực Số nguyên có dấu Khởi tạo với giá trị n 11 Khởi tạo với giá trị 0.0 12 8/31/17 c Ký tự n n Ký tự Unicode không dấu, đặt hai dấu nháy đơn cách gán giá trị: n n n d Giá trị logic n Giá trị boolean xác định rõ ràng Java n n Sử dụng chữ số hệ 16: char uni ='\u05D0'; Sử dụng ký tự: char a = ‘A’; n Một giá trị int sử dụng thay cho giá trị boolean Có thể lưu trữ giá trị true false Biến boolean khởi tạo false Giá trị mặc định giá trị zero (\u0000) 13 14 2.2 Giá trị (literal) n n a Số nguyên Literal giá trị kiểu liệu nguyên thủy xâu ký tự Gồm loại: n n n n n integer floating point boolean character string n Hệ số (Octals) bắt đầu với chữ số n n Literals integer………… floating point…7.0f boolean……….true character……….'A' string………… "A" Hệ số 16 (Hexadecimals) bắt đầu với ký tự x n n 26L Ký tự hoa, thường cho giá trị n 15 0x1A = 0001 1010(2) = 16 + + = 26(10) Kết thúc ký tự “L” thể kiểu liệu long n n 032 = 011 010(2) = 16 + + = 26(10) 0x1a , 0x1A , 0X1a , 0X1A có giá trị 26 hệ decimal 16 8/31/17 b Số thực n float kết thúc ký tự f (hoặc F) n n n 7.1D n n 7.1e2 n true false Ký tự: n Một giá trị thực mà khơng có ký tự kết thúc kèm có kiểu double n boolean: n e (hoặc E) sử dụng dạng biểu diễn khoa học: n n n 7.1f double kết thúc ký tự d (hoặc D) n n c boolean, ký tự xâu ký tự Được đặt dấu nháy đơn Ví dụ: ‘a’, ‘A’ '\uffff‘ Xâu ký tự: n n Được đặt hai dấu nháy kép Ví dụ: “Hello world”, “Xin chao ban”,… 7.1 giống 7.1d 17 18 d Escape sequence n Các ký tự điều khiển nhấn phím n n n n n n 2.3 Chuyển đổi kiểu liệu (Casting) \b \f \n \r \t n backspace form feed newline return (về đầu dòng) tab n n Hiển thị ký tự đặc biệt xâu n n n Java ngôn ngữ định kiểu chặt n \" quotation mark \’ apostrophe \\ backslash 19 Gán sai kiểu giá trị cho biến dẫn đến lỗi biên dịch ngoại lệ JVM JVM ngầm định chuyển từ kiểu liệu hẹp sang kiểu rộng Để chuyển sang kiểu liệu hẹp hơn, cần phải định kiểu rõ ràng int a, b; short c; a = b + c; int d; short e; e = (short)d; double f; long g; f = g; g = f; //error 20 8/31/17 Ví dụ - chuyển đổi kiểu 2.3 Chuyển đổi kiểu liệu (2) n Chuyển đổi kiểu thực tự động không xảy mát thông tin n n byte short int long float double Ép kiểu trực tiếp (explicit cast) yêu cầu có “nguy cơ” giảm độ xác 21 long p = (long) 12345.56; // p == 12345 int g = p; // không hợp lệ dù kiểu int //có thể lưu giá trị 12345 char c = ‘t’; int j = c; short k = c; short k = (short) c; float f = 12.35; float f = 0.0; float f = 0; long l = 999999999999; short k = 99999999; Ví dụ - chuyển đổi kiểu (2) n n n n n n 22 Ví dụ - chuyển đổi kiểu (3) long l = 9999999999999L; int i = (int) l; System.out.println(i); //1316134911 n n n long l = 99999999999999L; int i = (int) l; System.out.println(i); //276447231 n n n 23 int i = 99999999; short j = (short) i; System.out.println(j); //-7937 int i = 9999999; short j = (short) i; System.out.println(j); //-27009 24 8/31/17 2.4 Khai báo khởi tạo biến n Chú thích Các biến đơn (biến khơng phải mảng) cần phải khởi tạo trước sử dụng biểu thức n n n Java hỗ trợ ba kiểu thích sau: n Có thể kết hợp khai báo khởi tạo lúc Sử dụng = để gán (bao gồm khởi tạo) n n Ví dụ: n n n n n n n int i, j; // Khai i = 0; int k =i+1; float x=1.0f, y=2.0f; System.out.println(i); System.out.println(k); System.out.println(j); n báo biến // Chú thích dịng // Khơng xuống dịng /* Chú thích đoạn */ /** Javadoc * thích dạng Javadoc */ // In // In // Lỗi biên dịch 27 28 Câu lệnh n n n Nội dung Các câu lệnh kết thúc dấu; Nhiều lệnh viết dịng Một câu lệnh viết nhều dịng n Ví dụ: System.out.println( “This is part of the same line”); Định danh Các kiểu liệu Toán tử Cấu trúc điều khiển Mảng a=0; b=1; c=2; 29 30 8/31/17 Toán tử (Operators) n n Toán tử (2) Kết hợp giá trị đơn biểu thức thành biểu thức mới, phức tạp trả giá trị Java cung cấp nhiều dạng toán tử sau: n n n n n Toán Toán Toán Toán Toán tử tử tử tử tử n Toán tử số học n n Toán tử bit n số học bit, toán tử quan hệ logic gán n n AND: &, OR: |, XOR: ^, NOT: ~ Dịch bit: Toán tử quan hệ n n +, -, *, /, % ==, !=, >, =, >, >> (unsigned shift) Relational < > = instanceof Equality == != Bitwise AND & Bitwise exclusive OR ^ Bitwise inclusive OR | Logical AND && Logical OR || Conditional (ternary) ?: Assignment = *= /= %= += -= >>= >= &= ^= |= 36 4.1 Lệnh if - else Định danh Các kiểu liệu Toán tử Cấu trúc điều khiển Mảng n Cú pháp if (dieu_kien){ cac_cau_lenh; } else { cac_cau_lenh; } n n 37 Biểu thức điều kiện nhận giá trị boolean Mệnh đề else tùy chọn 38 8/31/17 Ví dụ - Kiểm tra số chẵn – lẽ 4.2 Lệnh switch - case class CheckNumber { public static void main(String args[]) { int num =10; if (num %2 == 0) System.out.println (num+ “la so chan”); else System.out.println (num + “la so le”); } } n Kiểm tra biến đơn với nhiều giá trị khác thực trường hợp tương ứng n n break: Thoát khỏi lệnh switch-case default kiểm sốt giá trị nằm ngồi giá trị case: [true] case a [false] case b case a action(s) break case b action(s) break case z action(s) break [true] [false] [true] case z [false] default action(s) 39 Ví dụ - Lệnh switch - case (1) Ví dụ - Lệnh switch - case (2) public class Test { public static void main(String args[]) { int i = 2; switch (day) case 0: case 1: rule = break; case 2: case 3: case 4: case 5: case 6: rule = break; default: rule = } switch (i) { case 1: System.out.println("1"); case 2: System.out.println("2"); case 3: System.out.println("3"); } } } 40 41 { “weekend”; “weekday”; “error”; if (day == || day == 1) { rule = “weekend”; } else if (day > && day = 1){ fact *=a; a ; } System.out.println(“The Factorial of is “+fact); } } n Cú pháp: n n n n n for (start_expr; test_expr; increment_expr){ // code to execute repeatedly } biểu thức vằng mặt Có thể khai báo biến câu lệnh for n n n n Ví dụ: n n n 46 Thường sử dụng để khai báo biến đếm Thường khai báo biểu thức “start” Phạm vi biến giới hạn vòng lặp for (int index = 0; index < 10; index++) { System.out.println(index); } 47 11 8/31/17 Ví dụ - vòng lặp for 4.5 Các lệnh thay đổi cấu trúc điều khiển class ForDemo { public static void main(String args[]) { int i=1, sum=0; for (i=1;i

Ngày đăng: 20/06/2021, 09:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN