...Chuong 06 - Cac lop tien ich.pdf

11 101 0
...Chuong 06 - Cac lop tien ich.pdf

Đ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

...Chuong 06 - Cac lop tien ich.pdf tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các l...

Bộ môn Công nghệ phần mềm KHOA CễNG NGH THễNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA Chương 06 Các lớp tiện ích Nguyễn Thị Thu Trang trangntt-fit@mail.hut.edu.vn Mục tiêu học Sử dụng lớp wrapper nguyên thủy Làm việc với xâu (String) Giải thích khác biệt lớp String StringBuffer Trình bày lớp tiện ích khác Math, System Department of Software Engineering Nội dung Các lớp bao (Wrapper class) Xâu (String StringBuffer) Lớp Math Lớp System Department of Software Engineering 1 Các lớp bao (Wrapper class) Các kiểu liệu ngun thủy khơng có Mỗi kiểu liệu nguyên thủy có lớp tương ứng gọi lớp bao: „ „ „ Các lớp bao “gói” liệu nguyên thủy cung cấp phương thức thích hợp cho liệu Mỗi đối tượng lớp bao đơn giản lưu trữ biến đơn đưa phương thức để xử lý Các lớp bao phần Java API Department of Software Engineering Các lớp bao (2) Department of Software Engineering 1.1 Chuyển đổi kiểu liệu Sử dụng để chuyển Sử dụng chuyển để Sử dụng phương thức chuyển đổi rõ ràng để chuyển kiểu liệu số Department of Software Engineering 1.1 Chuyển đổi kiểu liệu (2) Department of Software Engineering 1.2 Các số Boolean „ „ Float Boolean FALSE Boolean TRUE „ „ Byte „ „ „ byte MIN_VALUE byte MAX_VALUE „ „ Integer Character „ „ „ „ „ int MAX_RADIX char MAX_VALUE int MIN_RADIX char MIN_VALUE Unicode classification constants Double „ „ „ „ „ float MAX_VALUE float MIN_VALUE float NaN float NEGATIVE_INFINITY float POSITIVE_INFINITY „ „ int MIN_VALUE int MAX_VALUE Long „ „ long MIN_VALUE long MAX_VALUE Short double MAX_VALUE double MIN_VALUE double NaN double NEGATIVE_INFINITY double POSITIVE_INFINITY „ „ short MIN_VALUE short MAX_VALUE Department of Software Engineering Ví dụ float f = System.out.println(f); int i = (new Float(f)) String s = (new Integer(i)) System.out.println(s); double d = (new Integer(Integer.MAX_VALUE)) System.out.println(d); Department of Software Engineering Ví dụ double number = Double.parseDouble("42.76"); String hex = double value = String input = "test 1-2-3"; int output = 0; for (int index = 0; index < input.length(); index++) { char c = input.charAt(index); if ( ) output = output * 10 + ; } System.out.println(output); Department of Software Engineering Nội dung Các lớp bao (Wrapper class) Xâu (String StringBuffer) Lớp Math Lớp System Department of Software Engineering 2.1 Xâu (String) Kiểu String lớp kiểu liệu Một String tạo thành từ dãy ký tự nằm dấu nháy kép: String a = "A String"; String b = ""; Đối tượng String khởi tạo theo nhiều cách: Department of Software Engineering 2.1 Xâu (2) Ghép xâu: „ Tốn tử + nối String: String a = "This" + " is a " + "String"; //a = “This is a String” „ Các kiểu liệu sử dụng lời gọi println() chuyển đổi tự động sang kiểu Strings System.out.println("answer = " + + + 3); System.out.println("answer = " + (1+2+3)); Hai câu lệnh có in kết quả? Department of Software Engineering 2.1 Xâu (3) String đối tượng; đối tượng đáp ứng thơng điệp „ „ Sử dụng tốn tử (.) để gửi thông điệp String lớp với phương thức xác định Các phương thức xâu: String name = "Joe Smith"; name.toLowerCase(); name.toUpperCase(); "Joe Smith ".trim(); "Joe Smith".indexOf('e'); "Joe Smith".length(); "Joe Smith".charAt(5); "Joe Smith".substring(5); "Joe Smith".substring(2,5); Department of Software Engineering 2.1 Xâu (4) So sánh hai xâu: „ Một xâu so sánh xem có tương đương với xâu khác oneString.equals(anotherString) „ Kiểm tra tính tương đương Trả true false oneString.equalsIgnoreCase(anotherString) „ Kiểm tra có xét đến ký tự hoa, thường Trả true false So sánh oneString == anotherString gây nhập nhằng „ String name = "Joe"; if ("Joe".equals(name)) name += " Smith"; boolean same = "Joe".equalsIgnoreCase("joe"); Department of Software Engineering 2.1 Xâu (5) So sánh hai xâu: String s1 = “Hello”; String s2 = “Hello”; (s1==s2) trả true String s1 = new String (“Hello”); String s2 = new String (“Hello”); (s1==s2) trả false Department of Software Engineering 2.2 StringBuffer Kiểu bất biến kiểu biến đổi „ „ „ Một kiểu bất biến thay đổi Đối tượng kiểu bất biến Ngược lại, đối tượng kiểu biến đổi thay đổi giá trị sau chúng tạo String kiểu bất biến, StringBuffer kiểu biến đổi Department of Software Engineering 2.2 StringBuffer (2) String: „ „ „ Các xâu lớp String thiết kế để không thay đổi giá trị Khi xâu ghép nối với đối tượng tạo để lưu trữ kết Ỉ Ghép nối xâu thông thường tốn nhớ Department of Software Engineering 2.2 StringBuffer (3) Department of Software Engineering 2.2 StringBuffer (4) StringBuffer: „ Cung cấp đối tượng xâu thay đổi giá trị Ỉ Sử dụng StringBuffer khi: Khi xử lý xâu cách linh động, ví dụ „ Cung cấp chế hiệu cho việc xây dựng, ghép nối xâu: Việc ghép xâu “đắt” Việc ghép nối xâu thường trình biên dịch chuyển sang thực thi lớp StringBuffer Department of Software Engineering 2.2 StringBuffer (5) Tính biến đổi: Department of Software Engineering 2.2 StringBuffer (6) Nếu tạo xâu thơng qua vịng lặp sử dụng StringBuffer StringBuffer buffer = new StringBuffer(15); buffer.append("This is ") ; buffer.append("String") ; buffer.insert(7," a") ; buffer.append('.'); System.out.println(buffer.length()); System.out.println(buffer.capacity()); String output = buffer.toString() ; System.out.println(output); Department of Software Engineering 2.3 Một số phương thức Lớp String: „ Constructor: String() String(byte[] bytes) String(byte[] bytes, int offset, int length) String(char[] value) String(char[] value, int offset, int length) String(String original) String(StringBuffer buffer) „ Một số phương thức: char charAt(int index) boolean equals(Object anObject) int indexOf(String str) int length() boolean matches(String regex) String substring(int beginIndex, intendIndex) String toUpperCase() String trim() Department of Software Engineering 2.3 Một số phương thức (2) Lớp StringBuffer: „ Constructors: StringBuffer() StringBuffer(int length) StringBuffer(String str) „ Một số phương thức: StringBuffer append(…) StringBuffer insert(…) StringBuffer delete(int start, int end) int length() StringBuffer reverse() String substring(int start, int end) String toString() Department of Software Engineering Nội dung Các lớp bao (Wrapper class) Xâu (String StringBuffer) Lớp Math Lớp System Department of Software Engineering Lớp Math java.lang.Math cung cấp thành phần static: „ Các toán học: Math.E Math.PI „ Các hàm toán học: max, abs, floor, ceil… sqrt, pow, log, exp… cos, sin, tan, acos, asin, atan… random Department of Software Engineering Lớp Math (2) Hầu hết hàm nhận tham số kiểu double giá trị trả có kiểu double „ Ví dụ : exp(2*sqrt(pi)) Department of Software Engineering Nội dung Các lớp bao (Wrapper class) Xâu (String StringBuffer) Lớp Math Lớp System Department of Software Engineering Lớp System java.lang.System chứa nhiều hàm tiện ích hữu dụng „ Kiểm soát vào (I/O) chuẩn Các luồng InputStream in, PrintStreams out err Có thể thiết lập lại nhờ hàm setIn(), setOut() setErr() „ arraycopy(): Sao chép mảng tập với hiệu cao Department of Software Engineering Lớp System (2) currentTimeMillis(): Trả thời gian theo millisecond exit(): gc(): Yêu cầu thu gom rác hoạt động Các phương thức liên quan đến thuộc tính hệ thống: Lấy thơng tin thuộc tính phiên Java Runtime Environment version, thư mục cài đặt Java, Department of Software Engineering 10 Lớp System (3) import java.util.Properties; public class PropertiesTest { public static void main(String[] args) { System.out.println( System.getProperty("path.separator")); System.out.println( System.getProperty("file.separator")); System.out.println( System.getProperty("java.class.path")); System.out.println( System.getProperty("os.name")); System.out.println( System.getProperty("os.version")); System.out.println(System.getProperty("user.dir")); System.out.println(System.getProperty("user.home")); System.out.println(System.getProperty("user.name")); } } Department of Software Engineering Lớp System (4) Department of Software Engineering Department of Software Engineering 11 ... double number = Double.parseDouble("42.76"); String hex = double value = String input = "test 1-2 -3 "; int output = 0; for (int index = 0; index < input.length(); index++) { char c = input.charAt(index);

Ngày đăng: 05/11/2017, 01:52

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan