1. Trang chủ
  2. » Giáo án - Bài giảng

Cac Lop Tien Ich Trong Java

56 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

Thông tin cơ bản

Tiêu đề Các Lớp Tiện Ích Trong Java
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Bài Giảng
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 56
Dung lượng 1,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Một kiểu có thể là bất biến hoặc có thể thay đổi  Đối tượng của kiểu bất biến không thay đổi giá. trị sau khi chúng được tạo ra[r]

Trang 1

LẬP TRÌNH JAVA

Bài 7 : Các lớp tiện ích

Trang 2

Mục tiêu

 Kết thúc bài học bạn có thể nắm được:

 Sử dụng các lớp wrapper nguyên thủy

 Làm việc với các xâu ( String )

 Giải thích sự khác biệt giữa các lớp String

StringBuffer

 Trình bày được về các lớp tiện ích khác như

Math, System

Trang 3

Nội dung

 7.1 Các lớp bao (Wrapper class)

 7.2 Xâu (String và StringBuffer)

 7.3 Lớp System

 7.4 Mảng

Trang 4

7.1 Các lớp bao

 Các kiểu dữ liệu nguyên thủy không có các

phương thức liên quan đến nó.

 Mỗi kiểu dữ liệu nguyên thủy có một lớp tương ứng gọi là lớp bao:

 Các lớp bao sẽ “gói” dữ liệu nguyên thủy và cung cấp các phương thức thích hợp cho dữ liệu đó.

 Mỗi đối tượng của lớp bao đơn giản là lưu trữ một biến đơn và đưa ra các phương thức để xử lý nó.

 Các lớp bao là một phần của Java API

Trang 5

7.1 Các lớp bao

Trang 6

7.1 Các lớp bao

Chuyển đổi kiểu dữ liệu

 Sử dụng toString() để chuyển các giá trị số thành xâu.

 Sử dụng parse<type>() và valueOf() để chuyển xâu thành các giá trị số

 Sử dụng các phương thức chuyển đổi rõ ràng

để chuyển giữa các kiểu dữ liệu số

Trang 7

7.1 Các lớp bao

Chuyển đổi kiểu dữ liệu

Trang 9

System.out.println(d); // 2.147483647E9

Trang 10

7.1 Các lớp bao

Ví dụ

double number = Double.parseDouble("42.76");

String hex = Integer.toHexString(42);

double value = new Integer("1234").doubleValue();

String input = "test 1-2-3";

Trang 11

Nội dung

 7.1 Các lớp bao (Wrapper class)

 7.2 Xâu (String và StringBuffer)

 7.3 Lớp System

 7.4 Mảng

Trang 12

String c = new String();

String d = new String("Another String"); String e = String.valueOf(1.23);

String f = null;

Trang 13

7.2 Xâu

 Ghép xâu:

 Toán tử + có thể nối các String:

String a = "This" + " is a " + "String";

//a = “This is a String”

 Các kiểu dữ liệu cơ bản sử dụng trong lời gọi

println() được chuyển đổi tự động sang kiểu Strings

System.out.println("answer = " + 1 + 2 + 3);

System.out.println("answer = " + (1+2+3));

 Hai câu lệnh trên có in ra cùng một kết quả?

Trang 14

7.2 Xâu

 Các phương thức của xâu:

String name = "Joe Smith";

"Joe Smith ".trim(); // "Joe Smith"

"Joe Smith".indexOf('e'); // 2

"Joe Smith".substring(5); // "mith"

"Joe Smith".substring(2,5); // "e S"

Trang 15

String s1 = new String (“Hello”);

String s2 = new String (“Hello”);

(s1==s2) trả về false

Hello s1

s2

Hello

Trang 16

 Kiểm tra tính tương đương

oneString.equalsIgnoreCase(anotherStri ng)

 Kiểm tra KHÔNG xét đến ký tự hoa, thường

 Trả về true hoặc false String name = "Joe";

if ("Joe".equals(name))

name += " Smith"; boolean same = "Joe".equalsIgnoreCase("joe");

Trang 17

Indices

message.charAt(0) message.length() is 15 message.charAt(14)

Trang 19

7.2 Xâu

 Tìm ký tự và chuỗi con:

 Sử dụng các phương thức sau:

 public int indexOf(int ch)

 public int lastIndexOf(int ch)

 public int indexOf(int ch, int fromIndex)

 public int lastIndexOf(int ch, int endIndex)

 public int indexOf(String str)

 public int lastIndexOf(String str)

 public int indexOf(String ch, int fromIndex)

 public int lastIndexOf(String str, int

endIndex)

Trang 20

7.2 Xâu

 Tìm ký tự và chuỗi con:

 Ví dụ:

"Welcome to Java!".indexOf('W') returns 0

"Welcome to Java!".indexOf('x') returns -1

"Welcome to Java!".indexOf('o', 5) returns 9

"Welcome to Java!".indexOf("come") returns 3

"Welcome to Java!".indexOf("Java", 5) returns 11

"Welcome to Java!".indexOf("java", 5) returns -1

Trang 21

7.2 Xâu

 Chuyển đổi ký tự và số thành chuỗi:

char[] chars = "Java".toCharArray();

String str = new String(new char[]

{'J','a','v','a'});

 Lớp String cung cấp một số phương thức static

valueOf để chuyển đổi một ký tự, mảng ký tự, và các giá trị số thành chuỗi.

 Những phương thức này có cùng tên valueOf với tham số khác nhau có kiểu char, char[], double,

long, int, và float.

String str = String.valueOf(5.44);

String str = String.valueOf(new char[]

{'J','a','v','a'});

Trang 22

7.2 Xâu

 Kiểu bất biến và kiểu biến đổi

 Một kiểu có thể là bất biến hoặc có thể thay đổi

 Đối tượng của kiểu bất biến không thay đổi giá trị sau khi chúng được tạo ra

 Ngược lại, đối tượng của kiểu biến đổi có thể thay đổi giá trị sau khi chúng được tạo ra.

 String là kiểu bất biến, StringBuffer là kiểu biến đổi.

Trang 23

7.2 Xâu

String:

 Các xâu của lớp String được thiết kế để

không thay đổi giá trị.

 Khi các xâu được ghép nối với nhau một đối tượng mới được tạo ra để lưu trữ kết quả

  Ghép nối xâu thông thường rất tốn kém

về bộ nhớ.

Trang 25

 Dự đoán các ký tự trong xâu có thể thay đổi

 Khi xử lý các xâu một cách linh động, ví dụ như đọc dữ liệu text từ một tệp tin.

 Cung cấp các cơ chế hiệu quả hơn cho việc xây dựng, ghép nối các xâu

Trang 27

7.2 Xâu

 public StringBuffer()

Xây dựng một string buffer rỗng có dung lượng = 16

 public StringBuffer(int length)

Xây dựng một string buffer rỗng có dung lượng = length

 public StringBuffer(String str)

Xây dựng một string buffer với nội dung là chuỗi str Dung lượng khởi tạo bằng 16 + str.length()

Trang 28

String output = buffer.toString() ;

System.out.println(output); // "This is a String."

Trang 29

 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()

Trang 31

Nội dung

 7.1 Các lớp bao (Wrapper class)

 7.2 Xâu (String và StringBuffer)

 7.3 Lớp System

 7.4 Mảng

Trang 32

7.3 Lớp System

 Không cần/được khởi tạo đối tượng

 Lớp System là lớp final, các phương thức

khởi tạo được khai báo là private.

 Tất cả các thuộc tính và phương thức của

System đều được khai báo là static.

Trang 33

7.3 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 ra (I/O) chuẩn

 Các luồng InputStream in, PrintStream out và err là các thuộc tính của lớp System.

 Có thể thiết lập lại nhờ các hàm setIn(), setOut() và setErr()

con với hiệu năng cao.

Trang 34

7.3 Lớp System

hiện tại theo millisecond

Virtual Machine

 Các phương thức liên quan đến thuộc tính

của hệ thống: Lấy các thông tin thuộc tính

như phiên bản của Java Runtime

Environment version, thư mục cài đặt

Java,

Trang 35

7.3 Lớp System

import java.util.Properties;

public class PropertiesTest {

public static void main(String[] args) {

}

Trang 36

7.3 Lớp System

Trang 37

7.3 Lớp System

 Các tham số dòng lệnh

 Có thể truyền chuỗi cho phương thức main từ dòng lệnh khi chạy chương trình

 Khi phương thức main được gọi, trình biên dịch Java tạo 1

mảng chứa các tham số dòng lệnh và truyền tham chiếu mảng cho args

class TestMain { public static void main(String[] args) {

}}

Trang 38

7.3 Lớp System

 Các tham số dòng lệnh

 Các chuỗi được truyền cho chương trình chính được chứa

trong args - là một mảng các chuỗi Các phần tử: args[0],

args[1], , args[n], tương ứng với arg0, arg1, , argn trong dòng lệnh

 args.length là số chuỗi được truyền

Trang 41

Nội dung

 7.1 Các lớp bao (Wrapper class)

 7.2 Xâu (String và StringBuffer)

 7.3 Lớp System

 7.4 Mảng

Trang 42

boolean bit[] = new boolean[6];

reference Array or Object variableName

Trang 43

tùy thuộc vào kiểu dữ liệu.

 Luôn bắt đầu từ phần tử có chỉ số 0

 Mỗi khi mảng được tạo, kích thước của nó được ấn định, không thể thay đổi.

Trang 44

7.4 Mảng

Tên của mảng (tất

cả các thành phần trong mảng có cùng tên, c)

Chỉ số (truy nhập đến các thành phần của mảng thông qua chỉ số)

c[ 0 ] c[ 1 ] c[ 2 ] c[ 3 ] c[ 4 ] c[ 5 ] c[ 6 ] c[ 7 ] c[ 8 ] c[ 9 ] c[ 10 ] c[ 11 ]

-45 6 0 72 1543 -89 0 62 -3 1 6453 78

c.length

c.length: cho biết độ dài của mảng c

Trang 46

7.4 Mảng

 Khởi tạo mảng:

double[] myList = {1.9, 2.9, 3.4, 3.5};

Câu lệnh trên tương đương với các câu lệnh sau:

double[] myList = new double[4];

myList[0] = 1.9;

myList[1] = 2.9;

myList[2] = 3.4;

myList[3] = 3.5;

Trang 47

7.4 Mảng

 Ví dụ:

int array[]; // khai báo

array = new int[10]; // tạo mảng

int array[] = {32,27,64,18,95,14,90,70,60,37};

Trang 48

7.4 Mảng

 Ví dụ:

int MAX = 5;

boolean bit[] = new boolean[MAX];

float[] value = new float[2*3];

Trang 49

Datatype identifier[]

= {value1,value2…valueN}; char ch [] = {‘A’,’B’,’C’,’D’};

khai báo mảng ch và

lưu 4 chữ cái kiểu ký tự

Trang 50

7.4 Mảng

 Truyền mảng cho phương thức:

 Java sử dụng truyền tham trị để truyền các tham số cho

phương thức Có nhiều sự khác nhau quan trọng khi truyền tham trị của biến có kiểu dữ liệu cơ sở và biến mảng

 Với tham số kiểu dữ liệu cơ sở, giá trị thực được truyền Thay đổi giá trị của tham số cục bộ trong phương thức không làm thay đổi giá trị của biến bên ngoài phương thức

 Với tham số kiểu mảng, giá trị của tham số chứa một tham

chiếu tới mảng; tham chiếu này được truyền cho phương thức Bất kỳ sự thay đổi nào xuất hiện trong thân phương thức sẽ làm thay đổi mảng gốc được truyền

Trang 52

7.4 Mảng

 Copy mảng :

Contents

of list1 list1

Trang 53

7.4 Mảng

 Copy mảng :

int[] sourceArray = {2, 3, 1, 5, 10};

int[] targetArray = new int[sourceArray.length];

for (int i = 0; i < sourceArrays.length; i++)

targetArray[i] = sourceArray[i];

Trang 55

7.4 Mảng

 Mảng nhiều chiều:

 Bảng với các dòng và cột

 Thường sử dụng mảng hai chiều

 Ví dụ khai báo mảng hai chiều b[2][2]

int b[][] = { { 1, 2 }, { 3, 4 } };

 1 và 2 được khởi tạo cho b[0][0] và b[0][1]

 3 và 4 được khởi tạo cho b[1][0] và b[1][1]

int b[3][4];

Trang 56

Tên mảng Chỉ số cột

Ngày đăng: 21/05/2021, 17:49

TỪ KHÓA LIÊN QUAN

w