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

Bài giảng Lập trình hướng đối tượng JAVA

151 494 1

Đ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

Định dạng
Số trang 151
Dung lượng 4,04 MB

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

Nội dung

 Bạn phải có thể thiết kế, viết, gỡ lỗi và chạy các chương trình JAVA với độ phức tạp “nào đó”  Giải thích một ít về các chi tiết về cú pháp chúng ta xem các ví dụ về lập trình nê

Trang 1

LOGO

Phạm Văn Nam Mobile: 0904 38 81 82 Email: nampv@ntu.edu.vn

Tổng quan về lập trình Java

Giới thiệu ngôn ngữ Java

Các kiểu dữ liệu cơ sở

Các cấu trúc điều khiển

Kiểu mảng và kiểu chuỗi

Trang 2

 Để học:

 JAVA là gì?

 Lập trình hướng đối tượng với JAVA như thế nào?

 Những tài nguyên lập trình nào mà JAVA cung cấp để

hỗ trợ cho lập trình “hiện đại”?

 Lập trình mạng với JAVA như thế nào?

 Bạn phải có thể thiết kế, viết, gỡ lỗi và chạy các

chương trình JAVA với độ phức tạp “nào đó”

 Giải thích một ít về các chi tiết về cú pháp

chúng ta xem các ví dụ

về lập trình

nên rõ ràng hơn khi ta học nhiều hơn

Trang 3

Giới thiệu ngôn ngữ Java

 Ra đời tại Sun Microsystems bởi James Gosling

 1991: Version đầu tiên với tên “Oak”

 1995: Tên chính thức là Java

 Dùng để phát triển ứng dụng cho các thiết bị điện tử

“thông minh”

 Tạo các trang web có nội dung động (web applet)

 Hiện nay, Java được sử dụng để phát triển nhiều loại

ứng dụng khác nhau: cơ sở dữ liệu, mạng, Internet,

các hệ thống phân tán trên mạng TCP/IP

 Nó là miễn phí và có nguồn tư liệu rất tốt

Trang 4

Ta cần những gì để phát triển các chương trình Java

thương mại nổi tiếng như:

 Java Virtual Machine (Java VM)

 Java Application Programming Interface (Java API)

Hardware-Platform Java VM Java API

myProgram.java

Java Platform

Mã nguồn

Trang 5

Kiến trúc của Java

 Java Development Kit – JDK

 Bộ công cụ phát triển Java (JDK) gồm trình biên dịch,

thông dịch, trợ giúp, soạn tài liệu… và các thư viện

chuẩn

 Lập trình viên thường sử dụng các lớp chuẩn để phát

triển ứng dụng

 Ngoài ra còn một số thư viện khác như JSP,

JavaMail, Java TAPI…

¿Java Virtual Machine là gì?

 Là một hệ điều hành mà nó chạy trên một hệ điều

hành khác (Ví dụ: Windows, Linux, MacOS)

 Có một JVM khác nhau cho mỗi loại máy nhưng

tất cả chúng hoạt động giống nhau hoàn toàn

 Chúng có thể hiểu mã Java đã biên dịch và thông

dịch nó sang các chỉ thị của ngôn ngữ máy

Hardware Operating System

Java Code Java Virtual M achines

Trang 6

¿Ta có thể viết và thực thi những chương trình

Java gì trên một JVM ?

 Stand-alone

 Một chương trình tự trị (đa phần các chương trình mà ta

sẽ xem xét ở đây)

 Chúng được biên dịch với trình biên dịch Java và chạy

với máy ảo Java (JVM)

 Applets

 Chương trình mà mã của nó được tải xuống trong một

trang web và được thực thi bên trong trình duyệt web

 Trình duyệt web phải có một máy ảo Java trong nó để

có thể thực thi các chương trình loại này

 Web server phải có thể chạy được java servlet với máy

ảo Java (ví dụ như TOMCAT)

 EjBeans (J2EE)

 Các bản/mảnh code (được gọi là beans) chúng được

thực thi bên trong một máy chủ ứng dụng được kết hợp

với một web server Nó rất giống với servlet nhưng được

quản lý theo một cách khác

 Máy chủ ứng dụng cung cấp các chức năng nâng cao

hiệu năng của máy chủ

¿Ta có thể viết và thực thi những chương trình

Java gì trên một JVM ?

Trang 7

Viết và chạy một ứng dụng Java độc lập

Hello.class (bytecode)

javac Hello.java

java Hello

01001011

Trang 8

Điều gì làm cho Java có tính đa nền?

Java compiler (riêng biệt cho mỗi nền)

javac P1.java

Java interpreter (riêng biệt cho mỗi nền) còn được

gọi là Java Virtual Machine hay máy ảo Java

java P1

Program’s output

Trang 9

Chỉ dẫn thực hành

 Trong Windows: Nháy phải trên My

Computer, chọn Properties, chọn Advanced,

chọn Enviroment Variables, chọn biến PATH

và edit, thêm vào đường dẫn tới thư mục bin

của bộ JDK đã được cài đặt trên máy

 Trong chế độ Console: Gõ lệnh

set Path=%Path%;đường dẫn tới bin

17

Một chương trình Java cơ bản

1 // Tên file : Hello.java

2 /* Tác giả : Tên Tác Giả */

3

4 public class Hello

5 {

6 // Phương thức main, điểm bắt đầu của chương trình

7 public static void main( String args[ ] )

bỏ qua những dòng có dấu chú thích

Điểm bắt đầu và kết thúc của lớp

Phương thức main() sẽ được gọi đầu tiên Mỗi CT thực thi phải có một phương thức main()

Hiển thị dãy ký tự ra màn hình

Trang 10

Một chương trình Java cơ bản

 Vào chế độ Console của Windows

Gõ câu lệnh javac Hello.java

Nếu không có thông báo lỗi, file Hello.class sẽ

Viết chương trình cho phép máy tính thiết lập

đoạn hội thoại như sau với người sử dụng

computer > Hello, input a number: 1234

computer > My number is 1235

computer > So I win this time

Số được gõ bởi người sử dụng ( màu xanh )

Nó có thể là một số nguyên n nào đó, và máy

tính sẽ luôn trả lời với số n + 1

Trang 11

My First Java Program

public class Programm1 {

public static void main(String args[]) {

Console con = new Console() ;

con print(”Helo, input a number : ");

con print(" My number is ");

con print( yourNumber+1 );

con println(”So I win this time !");

đưa vào máy tính và để viết các thông điệp Câu lệnh này

tạo một đối tượng mới thuộc lớp Console Định danh cho

đối tượng đó sẽ là con

con.print(“ ”); thực thi phương thức in/viết lên đối

tượng con, nó sẽ in chuỗi được đặt trong cặp dấu nháy

kép

int yourNumber; khai báo một biến nguyên

yourNumber =con.readInt(); thực hiện phương thức

readInt nó sẽ đợi cho đến khi user nhập vào một số

nguyên từ bàn phím và lưu giữ nó trong biếnyourNumber

con.println(“ ”); giống như print nhưng nó sẽ thêm vào

một dấu kết thúc dòng

Trang 12

Giải thích (tiếp)

Console không phải là một lớp thuộc về một

phần của ngôn ngữ Java !!!

Nó được phát triển cho bài giảng này để

nhập/xuất dữ liệu thuận tiện hơn

Để dùng nó, ta cần phải làm cho nó được nhìn

thấy bởi chương trình mà ta đang biên dịch

Có ít nhất 3 phương pháp khác nhau:

Đặt tất cả các files mà chúng cài đặt lớp Console vào

trong cùng thư mục với chương trình của bạn

( Console.class, ConsoleCanvas.class,

Message.class, FatalError.class )

Tạo một jar file với 4 class files và sử dụng nó trong

quá trình biên dịch và thực thi

Tạo một package và import nó

Câu lệnh để tạo các jar files

jar cf tenjarfile.jar lop1.class lop2.class

jar cf Console.jar Console.class ConsoleCanvas.class

Message.class FatalError.class

Để biên dịch các chương trình có sử dụng các

lớp được chứa trong jar file

javac -classpath Jar1.jar;Jar2.jar;…

ProgramJava.java

javac -classpath Console.jar Programm1.java

Để thi hành các chương trình có sử dụng các

lớp được chứa trong jar file

java -classpath Jar1.jar;Jar2.jar… ; ProgramJava

java -classpath Console.jar ; Programm1

Trang 13

Ví dụ

Viết chương trình cho phép máy tính thiết lập

đoạn hội thoại như sau với user:

comp > Hello, what is your name ? Leandro

comp > Which year were you born ? 1975

comp > Leandro , you are at least 32 years

public class Programm2 {

public static void main(String args[]) {

Console = new Console();

c print(”Hello, what is your name ?");

String name readString();

c print(”Which year were you born ? ");

int born readInt();

int age = 2007- born ;

c println( name +", you are at least "+

age +" years old ");

}

}

Trang 14

Bài tập

Viết chương trình cho phép máy tính thiết lập

đoạn hội thoại sau với user

comp > Which year were you born ? 1963

comp > which month were you born ? 4

comp > which day were you born ? 5

comp > you have lived almost xxx days

Máy tính sẽ tính số ngày mà user đã sống tính

cho đến ngày 30 - 12 - 2007 Giả sử rằng một

năm luôn có 365 ngày và một tháng có 30 ngày

27

Bài tập

Viết chương trình cho phép máy tính thiết lập

đoạn hội thoại sau với user

comp > Which year were you born ? 1983

comp > which month were you born ? 4

comp > which day were you born ? 5

comp > Which year is this year ? 2007

comp > which month is this month ? 1

comp > which year is today ? 26

comp > you have lived about xxx days

Máy tính sẽ tính số ngày mà user đã sống cho

đến ngày hiện tại (được nhập vào) với các giả

thiết như bài tập trước

Trang 15

Ví dụ

Chương trình đọc 2 số vào từ bàn phím Số đầu tiên là số

tiền mà khách hàng phải trả tại một hiệu sách Số thứ hai

là tổng số tiền mà khách hàng đưa để trả tiền sách Máy

tính đáp lại nếu tổng số tiền không đủ, nếu vừa đủ hoặc

khách hàng sẽ nhận tiền thừa hoàn lại Trong trường hợp

khách hàng nhận lại tiền thừa, máy tính phải thông báo

chính xác số tờ giấy bạc với các mệnh giá 5000, 1000,

500, 100, 50, 10, 5 và 1 yen

Enter the value to pay:3561

Enter the value given by the customer :10000

Tên gọi và quy tắc đặt tên

Định danh (identifiers) được sử dụng để đặt tên

cho các thực thể lập trình như biến, hằng,

phương thức, lớp, và gói Quy tắc đặt tên:

 Một định danh là một chuỗi của các ký tự bao gồm các

chữ cái, số, dấu gạch dưới (_), và dấu tiền tệ (vd:$)

 Một định danh phải bắt đầu bằng một chữ cái, một dấu

gạch dưới (_) hoặc một dấu tiền tệ (vd:$)

 Một định danh không được trùng với một từ khoá

 Không có khoảng trắng giữa tên

 Độ dài của một định danh là không bị giới hạn

 Sau ký tự đầu có thể dùng ký tự, số, dấu tiền tệ, dấu

gạch dưới

Ví dụ: a_1234_d, 1awas, _asdc, a sas, $erd, %ats…

Chú ý: Java phân biệt chữ hoa chữ thường

Trang 16

Các quy ước đặt tên

 Nên chọn các tên có tính mô tả với ý nghĩa rõ

ràng cho các biến, hằng, lớp, và các phương

thức trong chương trình Một số quy ước:

 Dùng chữ thường cho tên biến và phương thức Nếu

một tên bao gồm nhiều từ thì nối chúng lại thành một

với từ đầu tiên được viết thường và viết hoa ký tự

đầu tiên của mỗi từ kế tiếp Ví dụ: các tên biến như

radius, area, showInputDialog

 Viết hoa ký tự đầu tiên của mỗi từ trong một tên lớp;

ví dụ: các tên lớp như ComputeArea, Math,

JOptionPane

 Viết hoa tất cả mọi ký tự trong một hằng, và sử dụng

dấu gạch dưới giữa các từ; ví dụ: các hằng như PI,

MAX_VALUE

31

Khai báo biến

Một biến là tên của một vùng bộ nhớ dùng để lưu trữ các

giá trị của chương trình Mỗi biến gắn liền với một kiểu

dữ liệu và một định danh duy nhất gọi là tên biến

int i; //khai báo

int j = 1; //khai báo và khởi tạo

double PI = 3.14159;

char c = ‘a’;

String myName = new String(“Nelson”); String yName = “Nelson”;

Một khai báo biến có thể xuất hiện ở bất kỳ đâu trong

chương trình nhưng một biến phải luôn được khai báo

trước khi nó có thể được gán một giá trị Một biến được

khai báo trong một phương thức phải được gán một giá

trị trước khi nó có thể được sử dụng

Trang 17

Các kiểu dữ liệu trong Java

 Java có hai kiểu dữ liệu:

 Kiểu dữ liệu nguyên thủy/cơ sở: là các kiểu

dữ liệu đã được định nghĩa trong ngôn ngữ

như số nguyên, số thực, ký tự, logic

 Kiểu dữ liệu tham chiếu/dẫn xuất: do người

dùng tự định nghĩa như kiểu mảng, kiểu lớp,

kiểu giao tiếp (interface)

 int x; long y,z; Console con = new Console();

 Person ps; String s = new String(“hello”);

Kiểu Kích thước Khoảng giá trị

float 32 bits -3.4e38…3.4e38

double 64 bits -1.7e308…1.7e308

Trang 18

Các kiểu dữ liệu cơ sở (tt.)

 Kiểu boolean : Nhận giá trị true hoặc false

 Kiểu char (2 bytes) : Kiểu ký tự theo chuẩn

Trang 20

Toán tử tăng giảm

Toán tử Tên Mô tả

++var Tăng trước Biểu thức ( ++var ) tăng var lên 1 và tính toán với giá

trị mới trong var sau khi tăng

var++ Tăng sau Biểu thức ( var++ ) tính toán với giá trị gốc trong var

và tăng var lên 1

var Giảm trước Biểu thức ( ––var ) giảm var xuống 1 và tính toán với

giá trị mới trong var sau khi giảm

var Giảm sau Biểu thức ( var–– ) tính toán với giá trị gốc trong var

và giảm var xuống 1

&& AND (biểu thức logic)

Trang 21

Toán tử ép kiểu

kiểu nhỏ sang kiểu lớn (không mất mát

thông tin)

lớn sang kiểu nhỏ (có thể mất mát thông

<điều kiện> ? <biểu thức 1> : <biểu thức 2>

 Nếu <điều kiện> đúng thì có giá trị hay thực hiện

<biểu thức 1> , còn ngược lại là <biểu thức 2>

 <điều kiện> : là một biểu thức logic

 <biểu thức> : là giá trị, biểu thức hay hành động

Trang 22

Các ví dụ về tính toán

 Nhập vào bán kính của một hình tròn,

tính diện tích và chu vi của nó

 Nhập vào năm số, cho biết số lớn nhất

và tính giá trị trung bình của chúng

 Giải phương trình bậc hai ax2 + bx + c =

0 , với a, b, c nhập từ bàn phím

Programm5.java

Programm6.java Programm4.java

43

Các ví dụ về tính toán (tt.)

 Trong trường hợp (Math.pow(b,2)-(4*a*c)) < 0 thì

sao? Ta phải chuyển nó thành số dương và đưa ra

nghiệm ảo

 Ta có thể có một phiên bản tốt hơn của chương trình

giúp trả lại tiền thừa cho khách

Programm7.java

Programm8.java

Trang 23

Lưu ý đối với các phép toán số học (1)

 Nếu hai toán hạng kiểu long thì kết quả là

kiểu long Một trong hai toán hạng không

phải kiểu long sẽ được chuyển thành kiểu

long trước khi thực hiện phép toán

 Nếu hai toán hạng đều không phải kiểu long

thì phép tính sẽ thực hiện với kiểu int

 Các toán hạng kiểu byte hay short sẽ được

chuyển sang kiểu int trước khi thực hiện phép

toán

 Trong Java không thể chuyển biến kiểu int

kiểu boolean như trong ngôn ngữ C/C++

45

Lưu ý đối với các phép toán số học (2)

 Nếu mỗi toán hạng đều có dấu chấm động thì

phép toán chuyển thành phép toán dấu chấm

động

 Nếu có một toán hạng là double thì các toán hạng

còn lại sẽ được chuyển thành kiểu double trước

khi thực hiện phép toán

 Biến kiểu floatdouble có thể ép chuyển sang

kiểu dữ liệu khác trừ kiểu boolean

NoticeOnArithmeticOperation.java

Trang 24

Bài tập

Viết chương trình tính tiền điện thoại:

— Tiền thuê bao hàng tháng là 27000 đ

 Có thể viết nhiều lệnh sau ifelse bằng cách nhóm

chúng vào trong cặp dấu ngoặc nhọn { }

Trang 25

Cấu trúc điều khiển (tt.)

Câu lệnh switch: cho phép chọn từ nhiều lựa chọn dựa vào

một tập các giá trị cố định của một biến hoặc biểu thức đã

String result; // The generated insult which will be returned

int which = (int)(Math.random() * 4); // Should result in 0 to 3

Trang 26

Cấu trúc điều khiển (tt.)

Trang 27

Cấu trúc điều khiển (tt.)

Trang 28

Về khuôn thức

public class ProgrammX {

- public static void main(String args[]) {

- int a = 0, b=0, sum = 0, num;

- Console c = new Console();

 Giá trị của các biến a, b và sum trong chương trình

ProgrammX.java sẽ là gì nếu các số sau được nhập vào:

5, 7, 3, 8, 10, 2, 3, -1

 Sửa đổi chương trình trên để có thể tính và in ra:

• Số lượng số được nhập vào (không tính -1)

• Giá trị trung bình của các số bé hơn 50 được nhập

Trang 29

 Khai báo mảng (sử dụng kiểu dữ liệu là integer )

int[ ] a; int a[ ]; //các phần tử vẫn chưa tồn tại!

a = new int[10];

bây giờ ta có 10 biến integer:

a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]

int i=0;

while (i < 10) {

a[i] = i; i=i+1;

}

gán a[0] = 0; a[1] = 1; a[8] = 8; a[9] = 9;

trường hợp này)

Trang 30

Mảng trong Java (tt.)

sau sẽ bị báo lỗi: int arrInt[10];

phần tử của mảng khi nó được khai báo:

int arrInt[] = {1, 2, 3};

char arrChar[] = {‘a’, ‘b’, ‘c’};

String arrString[] = {“ABC”, “EFG”};

59

Lưu giữ và sử dụng nhiều giá trị cùng kiểu

Thống kê về một dãy các số được nhập vào từ bàn phím

Tất cả các số đều là số nguyên dương từ 1 đến 10 Kết thúc

nhập khi gặp số 0 Sau đó máy tính sẽ cho biết % của số 1

đã được nhập, % của số 2, vv…

Enter a number: 3 The % of 1s was 10%

Enter a number: 6 The % of 2s was 0%

Enter a number: 9 The % of 3s was 30%

Enter a number: 5 The % of 4s was 0%

Enter a number: 3 The % of 5s was 20%

Enter a number: 7 The % of 6s was 10%

Enter a number: 9 The % of 7s was 10%

Enter a number: 5 The % of 8s was 0%

Enter a number: 1 The % of 9s was 20%

Enter a number: 3 The % of 10s was 0%

Enter a number: 0 Programm11.java

Trang 31

Tham số của một chương trình

 Đến giờ thì ta có thể hiểu phần nào về String args[] là gì ở phần đầu

của phương thức main Nó là một dãy của các String Giá trị của các

String này, cũng như số phần tử của dãy sẽ được định rõ khi chương

trình được gọi

public class Program12 {

public static void main(String args[]) {

}

 Chương trình trên sẽ hiển thị tất cả các tham số được truyền cho

chương trình khi nó được gọi

 Ta sẽ dùng đầu ra chuẩn thay vì một đối tượng thuộc lớp Console.

61

Bài tập

Viết chương trình nhập vào từ bàn phím 20 số nguyên

và thực hiện các công việc sau:

• Tính giá trị trung bình của các phần tử trong dãy

• In ra màn hình các phần tử có giá trị bé hơn giá trị

trung bình của các phần tử trong dãy

• Sắp xếp dãy theo chiều tăng dần và in dãy sau khi sắp

xếp ra màn hình

Trang 32

Kiểu của giá trị mà phương

thức sẽ trả về (void trong trường

hợp nó không trả về giá trị nào)

Các tham số của phương thức

Tên của phương thức (đặt bởi người lập trình)

Các câu lệnh được đặt trong

cặp dấu ngoặc nhọn {}

return là bắt buộc nếu trả về khác void

Trang 33

Bài tập

Viết một phương thức tĩnh có dạng như sau:

static int mcd( int x, int y) {…}

nó trả về ước số chung lớn nhất của hai số Sau đó sử

dụng nó với chương trình dưới đây

public static void main(String args[]) {

Console c = new Console();

c.print(“type in the first number : “);

trình theo một cách tốt hơn (hy vọng thế!)

trình là các đối tượng (objects)

phương thức

Phương thức thay đổi giá trị của các biến đối tượng

Phương thức trả về giá trị của các biến đối tượng

Trang 34

Một lớp mà ta đã biết: lớp Console

Tạo các đối tượng qua các phương thức khởi tạo khác nhau:

Console c = new Console();

Console c = new Console(30,15);

Console c = new Console(“Hello”);

Các phương thức trả lại một giá trị:

Cách 1: Sử dụng một file Circle.java duy nhất

public class Circle

{

private int radius;

public Circle(int r) { radius = r; }

public double getArea() { return Math.PI*radius*radius; }

public double getCircum() { return 2*Math.PI*radius; }

public static void main(String[] args)

Trang 35

Ví dụ về lớp Circle

Cách 2: Sử dụng một file với 2 lớp riêng biệt

public class TestCircle

private int radius;

public Circle(int r) { radius = r; }

public double getArea() { return Math.PI*radius*radius; }

public double getCircum() { return 2*Math.PI*radius; }

private int radius;

public Circle(int r) { radius = r; }

public double getArea() { return Math.PI*radius*radius; }

public double getCircum() { return 2*Math.PI*radius; }

}

Trang 36

Một lớp đã biết khác: lớp String

 Một lớp được định nghĩa chính bởi các phương thức

mà ta có thể áp dụng cho một đối tượng của lớp đó

 Có một loại phương thức đặc biệt gọi là phương thức

khởi tạo (constructor), nó tạo ra một đối tượng mới của

lớp đó

Ví dụ:

String myName; //đối tượng vẫn chưa tồn tại

myName = new String(“Nelson Baloian”);

Trang 37

Ví dụ

Ví dụ 1: in xâu với các ký tự đảo ngược

String linea = c.readLine();

for(int i = linea.length()-1; i >=0 ; i )

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

valor = valor*10 + (x.charAt(i)- ‘0’);

return valor;

}

Các ký tự cũng có một giá trị nguyên tương ứng với biểu diễn Unicode

Bài tập: Viết chương trình để test các ví dụ trên

73

Đọc các xâu con

Có 2 phương thức khác nhau :

String substring(int) String substring(int, int)

String sub = myName.substring(7);

- sub sẽ chứa xâu “Baloian”

String sub = myName.substring(3, 6);

- sub sẽ chứa xâu “son”

Trang 38

Tìm các xâu con

int indexOf(String) : trả về vị trí xuất hiện đầu tiên của

xâu hoặc -1 nếu không tìm thấy

String s = new String(“Hello, Nelson, Hello”);

int i = s.indexOf(“ello”);

- i sẽ nhận giá trị 1

int i = s1.indexOf(s2, k) : tìm chỉ số của lần xuất hiện đầu tiên

của xâu s2 trong xâu s1 bắt đầu từ chỉ số k

int i = s1.lastIndexOf(s2) : tìm chỉ số lần xuất hiện cuối cùng

của xâu s2 trong xâu s1

int i = s1.lastIndexOf(s2, k) :tìm chỉ số lần xuất hiện cuối cùng

của xâu s2 trong xâu s1 từ chỉ số k trở về sau

Tương tự nhưng sử dụng indexOf(String, int)

Nhập xâu X, mẫu tìm Y và xâu thay thế Z

In ra xâu X sau khi thay thế tất cả các mẫu Y bởi Z

Trình diễn 2 phương thức khác nhau để xét xem 2

2 xâu có bằng nhau hay không

Bài tập: Viết một phương thức để đếm số từ của một xâu (từ là một tập

hợp các ký tự không chứa khoảng trắng) Đọc vào 10 xâu từ bàn phím

và đếm xem có bao nhiêu từ trong 10 xâu đó

Trang 39

So sánh các chuỗi

boolean equals(Object obj): so sánh xâu đó với đối tượng được

chỉ rõ

boolean onnajides = s1.equals(s2);

int compareTo(String st2):thực hiện so sánh hai xâu và trả lại

kết quả dựa vào kết quả đối sánh

int i = s1.compareTo(s2);

- i sẽ nhận một trong những giá trị dưới đây tùy thuộc vào s1 và s2

0 nếu s1 bằng s2, > 0 nếu s1>s2, < 0 nếu s1<s2

Các ký tự được so sánh dựa trên các giá trị mã Unicode Hai

xâu được so sánh theo thứ tự từ điển bằng cách so sánh hai

ký tự tương ứng của hai xâu đó

77

Các phương thức khác của lớp String

Để biết nhiều hơn về lớp String hoặc các lớp khác của Java,

bạn nên tham khảo ở URL sau (hoặc đọc java-doc)

http://java.sun.com/j2se/1.6.0/docs/api/

Nên tham khảo lớp StringBuffer, nó có nhiều phương thức

để thay đổi đối tượng Trong trường hợp lớp String, nó chỉ có

các phương thức trả về một xâu mới, nhưng không sửa đổi

xâu gốc

Ví dụ:

StringBuffer sb = new StringBuffer("Truong");

sb.append(" Dai hoc Thuy San"); //sb : "Truong Dai hoc Thuy San"

sb.delete(7,11); //sb : "Truong hoc Thuy San"

sb.replace(11,19,"Nha Trang"); //sb : "Truong hoc Nha Trang"

sb.insert(7,"Dai "); //sb : "Truong Dai hoc Nha Trang"

Trang 40

Hướng đối tượng trong Java

Giới thiệu Lớp (Class)

Đặc điểm hướng đối tượng trong Java

Lớp trừu tượng & Giao diện

79

Giới thiệu

Programming - OOP): hướng tiếp cận mạnh

mẽ và hiệu quả

 Định nghĩa một lớp (Class)

 Tạo một đối tượng (Object)

 Sự khởi tạo (Construction) & hủy bỏ (Destruction)

 Tính thừa kế (Inheritance)

 Tính đa hình (Polymorphism)

 Lớp trừu tượng (Abstract) và giao diện (Interface)

Ngày đăng: 10/04/2015, 10:25

HÌNH ẢNH LIÊN QUAN

Hình  để từ đó có thể đọc các giá trị mà người sử dụng - Bài giảng Lập trình hướng đối tượng JAVA
nh để từ đó có thể đọc các giá trị mà người sử dụng (Trang 11)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w