Lập trình hướng đối tượng với Java - Chương 2: Java cơ bản
Java có hai loại kiểu dữ liệu chính: kiểu dữ liệu đơn nguyên và kiểu dữ liệu tham chiếu.
Các kiểu dữ liệu đơn nguyên
Các kiểu dữ liệu cơ sở
Nhiều kiểu tương tự như C/C++ (int, double, char, )
Các biến lưu giữ các kiểu dữ liệu đơn nguyên luôn luôn chứa giá trị thực, không bao giờ là một tham chiếu.
Các kiểu dữ liệu tham chiếu
Các mảng và kiểu dữ liệu người dùng định nghĩa (thí dụ, các lớp, các giao tiếp, )
Chỉ có thể được truy cập thông qua các biến tham chiếu.
Java Object-Oriented Programming Giảng viên : Nguyễn Đức Hiển Email : ndhien@udn.vn Website : Thời lượng Lý thuyết : 2 tín chỉ (30 tiết) Thực hành + thảo luận : 1 tín chỉ Chương 2 Java cơ bản Nội dung Kiểu dữ liệu Java Toán tử Cấu trúc điều khiển Mảng Kiểu chuổi (String) Các kiểu dữ liệu Java có hai loại kiểu dữ liệu chính: kiểu dữ liệu đơn nguyên và kiểu dữ liệu tham chiếu. Các kiểu dữ liệu đơn nguyên Các kiểu dữ liệu cơ sở Nhiều kiểu tương tự như C/C++ (int, double, char, …) Các biến lưu giữ các kiểu dữ liệu đơn nguyên luôn luôn chứa giá trị thực, không bao giờ là một tham chiếu. Các kiểu dữ liệu tham chiếu Các mảng và kiểu dữ liệu người dùng định nghĩa (thí dụ, các lớp, các giao tiếp,…) Chỉ có thể được truy cập thông qua các biến tham chiếu. Các kiểu dữ liệu đơn nguyên Kiểu số nguyên byte: 8 bits (-128 đến +127) short: 16 bits (-32768 đến +32767) int: 32 bits long: 64 bits Kiểu ký tự char: 16 bits, (theo chuẩn unicode, không phải ASCII!) Kiểu số thực float: 4 bytes (-3.4 x E38 đến +3.4 x E38) double: 8 bytes (-1.7 x 10308 đến 1.7 x 10308) Kiểu lôgic boolean (true hoặc false) Không giống C/C++, không thể chuyển thành kiểu int. Các toán tử Số học +, -, *, /, %, ++, -- Các toán tử trên bit &, |, ^, ~, >, … Phép gán = , +=, -=, ... So sánh , >=, ==, != Toán tử Logic && (&) , || (|) , ^ , ! Cách thực hiện như C++, ngoại trừ đối với kiểu String có sự hỗ trợ đặc biệt. Chuyển kiểu Thứ tự chuyển kiểu: byte short int long float double Các ví dụ: Các cấu trúc điều khiển Cấu trúc rẽ nhanh: if/else if/else Cấu trúc lựa chọn: switch Cấu trúc lăp while Cấu trúc lặp for Các cấu trúc điều khiển Các cấu trúc điều khiển Java cũng hỗ trợ cho các từ khóa continue và break Chú ý: câu lệnh switch yêu cầu biến điều khiển là char, byte, short hoặc int. Kiểu dữ liệu tham chiếu Sự khác nhau chính giữa kiểu dữ liệu đơn nguyên và kiểu tham chiếu là cách chúng được biểu diễn. Các biến kiểu đơn nguyên giữ giá trị thực của biến Các biến kiểu tham chiếu giữ giá trị tham chiếu tới đối tượng. Ví dụ Khai báo biến: int primitive = 5; String reference = “Hello”; Sự biểu diễn bộ nhớ: Nhập/xuất cơ bản Tạo đối tượng nhập: DataInputStream dis = new DataInputStream(System.in); Cú pháp nhập ký tự: char ch = (char) dis.read(); Cú pháp nhập chuổi: String st = dis.readLine(); Cú pháp nhập số: int n = Integer.parseInt(dis.readLine()); float f = Float.parseFloat(dis.readLine()); double d=Double.parseDouble(dis.readLine()); Kiểu mảng Trong Java, mảng là kiểu dữ liệu tham chiếu Bạn có thể định nghĩa một mảng với bất kỳ kiểu dữ liệu nào (kiểu đơn nguyên hay kiểu tham chiếu) Java tự động kiểm tra giới hạn mảng ở thời gian chạy giúp cho việc truy cập chiều dài của một mảng Khai báo biến mảng Cách khai báo: int myNumbers[]; String myStrings[]; Điều này chỉ tạo ra một biến tham chiếu (chưa tạo ra các phần tử mảng). Tạo các phần tử mảng Cú pháp: myNumbers = new int[10]; myStrings = new String[10]; Để tạo ra đối tượng dữ liệu tham chiếu sử dụng toán tử new. Các đối tượng String có thể được tạo ra từ các hằng chuổi Các phần tử Mảng có thể cũng được tạo ra sử dụng các hằng số, hằng chuổi,… myNumbers = {1, 2, 3, 4, 5}; Lưu ý trong ví dụ trên, myStrings là một tham chiếu tới một mảng các tham chiếu. Truy cập đến phần tử Mảng Giống như trong C/C++ myNumbers[0] = 5; myStrings[4] = “foo”; Mảng có một trường chiều dài đặc biệt (length) có thể truy cập để xác định kích thước của một mảng. Ví dụ: for ( int i = 0; i < myNumbers.length; i++) myNumbers[i] = i; Một số bài tập đơn giản Viết chương trình nhập một mảng các ký tự. Sau đó nhập một ký tự rồi cho biết ký tự đó có trong mảng không ? Viết chương trình giải: ax2 + bx + c = 0 Viết chương trình thực hiện các thao tác trên mảng: nhập, xuất, sắp xếp,… Tính tổng: s = 1 + 3! + 5! + (2*n+1)! Nhập số x, sau đó kiểm tra x có phải là số nguyên tố không ? Kiểu chuổi (String) Trong Java, String là một kiểu dữ liệu tham chiếu String là một trong số các lớp có sẵn trong ngôn ngữ Java Tuy nhiên, chúng không làm việc chính xác như tất cả các lớp khác. Sự hỗ trợ bổ sung được xây dựng sẵn cho String như các toán tử chuổi và hằng chuổi. Tạo chuổi Như được đề cập, tạo ra đối tượng tham chiếu trong Java cần sử dụng toán tử new. Chuỗi có thể được tạo: String myString = new String(“foo”); Tuy nhiên, hằng chuổi cũng có thể được sử dụng: String myString = “foo”; Các toán tử chuổi Toán tử + chứa hỗ trợ đặc biệt cho kiểu dữ liệu String. myString = “foo” + “bar”; Và toán tử += myString = “foo”; myString += “bar”; So sánh chuổi Toán tử == dùng để so sánh dữ liệu tham chiếu của chuổi (có cùng vị trí trong bộ nhớ không). Ví dụ: String string1 = “foo”; String string2 = string1; if(string1 == string2) System.out.println(“Yes”); Kết quả là true nếu cả string1 lẫn string2 chứa một tham chiếu tới cùng vị trí trong bộ nhớ. So sánh chuổi Lớp String chứa các phương thức cho phép so sánh hai chuổi hơn là hai tham chiếu. Ví dụ: Sử dụng các phương thức String Một số phương thức thường dùng: charAt( ) startsWith() endsWith( ) indexOf( ) toUpperCase( ) toLowerCase( ) trim( ) equals( ) … Chi tiết xem Java API: Tóm tắt Các thành phần cơ bản của Java Các lớp bao bọc String Thanks for listenning!!!
File đính kèm:
- Lập trình hướng đối tượng với Java - Chương 2_Java cơ bản.ppt