Java Cơ bản

 Kiểu dữ liệu Java  Toán tử  Cấu trúc điều khiển  Mảng  Kiểu chuổi (String)

Nội dung môn học

 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

 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 kiểu dữ liệu đơn nguyên

 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

Các toán tử

kiểu String có sự hỗ trợ đặc biệt.

 Thứ tự chuyển kiểu:

Chuyển kiểu

◦ byte  short  int  long  float 

double  Các ví dụ:

 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

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

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.

 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

Kiểu dữ liệu tham chiếu

của biến

 Các biến kiểu tham chiếu giữ giá trị tham

chiếu tới đối tượng.

 Khai báo biến: int primitive = 5; String reference = “Hello”;

 Sự biểu diễn bộ nhớ:

Ví dụ

 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

Nhập/xuất cơ bản

d=Double.parseDouble(dis.readLine());

 Trong Java, String là một kiểu dữ liệu

Kiểu chuổi (String)

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 ra đối tượng tham chiếu trong Java

Tạo chuổi

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”;

 Toán tử + chứa hỗ trợ đặc biệt cho kiểu

Các toán tử chuổi

dữ liệu String. ◦ myString = “foo” + “bar”;

 Và toán tử +=

◦ myString = “foo”; ◦ myString += “bar”;

 Toán tử == dùng để so sánh dữ liệu tham

So sánh chuổi

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ụ:

No

Yes

 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:

Các phương thức String

http://java.sun.com/j2se/1.4.2/docs/api/index.htm l

 Các thành phần cơ bản của Java  Các lớp bao bọc  String

Tóm tắt

Bai tap