12/29/2015 1 Giảng viên : Trần Thị Anh Thi Email: tranthianhthi@ hui.edu.vn WebBog: http ://tranthianhthi.wordpress.com Chương 3 TỔNG QUAN LẬP TRÌNH JAVA Bộ Môn Công Nghệ Phần Mềm Khoa Công Nghệ Thông Tin Trường Đại Học Công Nghiệp Tp HCM Slide : 2 Môn Giảng :Lập Trình Hướng Đối Tượng Chương 3: Giới Thiệu Java TỔNG QUAN LẬP TRÌNH JAVA Giới thiệu ngôn ngữ lập trình java Tạo, biên dịch và thực thi java. Các kiểu dữ liệu cơ bản. Khai báo và sử dụng các biến. Các biểu thức và độ ưu tiên toán tử. Thư viện. Bộ Môn Công Nghệ Phần Mềm Khoa Công Nghệ Thông Tin Trường Đại Học Công Nghiệp Tp HCM Slide : 3 Môn Giảng :Lập Trình Hướng Đối Tượng Chương 3: Giới Thiệu Java Giới thiệu ngôn ngữ lập trình java Java là gì? Java là ngôn ngữ lập trình hướng đối tượng do Sun Microsystem đưa ra vào giữa thập niên 90. Chương trình Java: Một chương trình được tạo thành từ một hoặc nhiều lớp (class). Mỗi lớp chứa một hoặc nhiều phương thức (method). Một phương thức chứa các chương trình lệnh (program statement) Một chương trình java luôn luôn chứa một phương thức được gọi là main
26
Embed
TỔNG QUAN LẬP TRÌNH JAVA · Trường Đại Học Công Nghiệp Tp HCM Slide : 2 Môn Giảng :Lập Trình Hướng Đối Tượng Chương 3: Giới Thiệu Java TỔNG
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Lập tài liệu cho chương trình: Tác giả,version, những đặc điểm của chương trình.
Không ảnh hưởng đến hoạt động chương trình.
Có 3 dạng:
// Ghi chú đặt ở cuối dòng
/* Ghi chú trên nhiều dòng */
/** Ghi chú javadoc */
12/29/2015
3
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 7
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cách đặt tên (Identifier)
Một tên có thể được tạo từ các ký tự, các số, ký tựgạch dưới ( _ ), và dấu $.
Một tên không thể bắt đầu là số, ký tự đặc biệt.
Java phân biệt chữ thường và chữ hoa. Total,total, và TOTAL là các tên khác nhau.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 8
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Từ khóa trong java
Các từ khóa trong java:
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
false
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
true
try
void
volatile
while
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 9
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Phương thức println
System.out.println (“Hello world.");
object Tên
phương thưcCác tham số
12/29/2015
4
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 10
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Chuỗi các ký tự
Một chuỗi các ký tự hay còn gọi là hằng chuỗi, được
đặt trong cặp ngoặc kép.
Ví dụ:
“Đây là một hằng chuỗi."
“12 Nguyễn Văn Bảo, quận Gò Vấp."
Ta dùng toán tử (+) để ghép các chuỗi.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 11
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Escape Sequences
Escape Sequence
\b
\t
\n
\r
\"
\'
\\
Meaning
backspace
tab
newline
carriage return
double quote
single quote
backslash
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 12
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Công cụ soạn thảo
Notepad
Jbuilder
Eclipse
EditPlus
Jcreator…
12/29/2015
5
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 13
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Biên dịch và thực thi java
1. Chương trình nguồn được viết bằng ngôn ngữ Java
(*.java).
2. Trình biên dịch Java biên dịch chương trình nguồn
sang bytecode (*. class)
3. Các file .class được nạp vào bộ nhớ và thực thi bởi
máy ảo Java (JVM)
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 14
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Biên dịch và thực thi java
Java source
code
Machine
code
Java
bytecode
Bytecode
interpreter
Bytecode
compiler
Java
compiler
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 15
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
CÁC BƯỚC CƠ BẢN KHI VIẾT
CHƯƠNG TRÌNH
errors
errors
Edit and
save program
Compile program
Execute program and
evaluate results
12/29/2015
6
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 16
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Các kiểu dữ liệu cơ bản
Có 8 kiểu dữ liệu cơ bản trong java.
4 kiểu biểu diễn số nguyên:
byte, short, int, long
2 kiểu biểu diễn số thực:
float, double
1 biễu diễn các ký tự:
char
Và 1 biểu diễn cho giá trị luận lý (true, false):
boolean
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 17
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Khai báo và sử dụng các biến
Biến là một giá trị có thể thay đổi khi chương trình thực
thi.
Khi biến được tạo sẽ xuất hiện một vùng nhớ để lưu trữ
giá trị của biến.
Một biến phải được khai báo trước khi sử dụng (tên biến
và kiểu dữ liệu)
int total;
int count, temp, result;
Kiểu dữ liệu Tên biến
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 18
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Khởi tạo biến
Một biến được khởi tạo giá trị khi khai báo biến.
int sum = 0;
int base = 32, max = 149;
12/29/2015
7
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 19
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Phép gán
Phép gán làm thay đổi giá trị của một biến. Toán tửgán (=).
total = 55;
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 20
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Hằng
Một hằng tương tự như biến như giá trị của nó luôn
luôn không đổi.
Trình biên dịch sẽ phát sinh lỗi nếu ta cố tình thay đổi
giá trị của hằng.
Trong Java, ta dùng final để khai báo hằng.
final int MIN_HEIGHT = 69;
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 21
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Các biểu thức
Một biểu thức là một sự kết hợp giữa các toán tử và các
toán hạng.
Các toán tử số học:
• Nếu trong biểu thức có chứa số thực thì kết quả
trả về số thực.
Cộng
Trừ
Nhân
Chia
Số Dư
+
-
*
/
%
12/29/2015
8
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 22
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Chia và số dư
Nếu các toán hạng trong phép chia (/) là các số
nguyên, thì kết quả là số nguyên.
• Phép chia lấy dư (%):
14 / 3 equals
8 / 12 equals
4
0
14 % 3 equals
8 % 12 equals
2
8
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 23
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Độ ưu tiên các toán tử
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 24
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Độ ưu tiên các toán tử
Thứ tự thực hiện của biểu thức sau?
a + b + c + d + e
1 432
a + b * c - d / e
3 241
a / (b + c) - d % e
2 341
a / (b * (c + (d - e)))
4 123
12/29/2015
9
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 25
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Phép gán
Phép gán có độ ưu tiên thấp hơn độ ưu tiên của các
toán tử số học.
Thực hiện vế phải của phép gán
Kết quả được lưu trữ vào biến bên vế trái.
answer = sum / 4 + MAX * lowest;
14 3 2
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 26
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Phép gán
Bên phải và bên trái của phép gán chứa cùng một
tên biến.
Tăng giá trị biến count lên 1
Kết quả ghi lại vào biến count
count = count + 1;
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 27
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Toán tử tăng / giảm
Toán tử tăng (++)
Toán tử giảm (--)
Câu lệnh
count++;
tương đương với
count = count + 1;
12/29/2015
10
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 28
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Các phép gán
Có nhiều phép gán trong java:
Operator
+=
-=
*=
/=
%=
Example
x += y
x -= y
x *= y
x /= y
x %= y
Equivalent To
x = x + y
x = x - y
x = x * y
x = x / y
x = x % y
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 29
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Ép kiểu dữ liệu
Đôi khi ta cần chuyển dữ liệu từ kiểu dữ liệu này sang kiểu
dữ liệu khác.
Khi thực hiện ép kiểu, cần làm thận trọng tránh bị mất mát
thông tin.
Widening conversions: An toàn (ví dụ short sang int)
Narrowing conversions: Có thể bị mất thông tin (ví dụ intsang short)
Trong java, có 3 cách ép kiểu dữ liệu:
assignment conversion
promotion
casting
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 30
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Ép kiểu dữ liệu
Assignment conversion
Ví dụ:
float money;
int dollars ;
money = dollars;
12/29/2015
11
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 31
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Ép kiểu dữ liệu
Promotion
Ví dụ:
float sum
int count
result = sum / count;
• Giá trị của count được tự động chuyển sang float để thực
hiện tính toán.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 32
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Casting
Casting
Ví dụ:
int total, count;
result = (float) total / count;
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 33
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
package
Khi ta muốn dùng một class trong một package, ta phảighi đầy đủ đường dẫn chứa chứng.
java.util.Scanner
Hoặc ta có thể import lớp cần dùng, và sau đó chỉ sử dụngtên lớp.
import java.util.Scanner;
Để import tất cả các lớp trong một gói, ta dùng ký hiệuđại diện *
import java.util.*;
12/29/2015
12
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 34
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp scanner
Đọc dữ liệu từ bàn phím.
Tạo đối tượng để đọc từ bàn phím:
Scanner scan = new Scanner (System.in);
Dùng các phương thức của Scanner chúng ta có thể nhậpdữ liệu từ bàn phím, như:
Nhập một dòng ký tự:
answer = scan.nextLine();
Nhập một số nguyên:
int a=scan.nextInt();
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 35
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp Random
Lớp Random là một phần của gói java.util
Dùng để phát sinh các số ngẫu nhiên
Tạo đối tượng:
Random rd=new Random();
Phát sinh số ngẫu nhiên có miền giá trị từ 0->n-1
int a=rd.nextInt(n);
Phát sinh số ngẫu nhiên có miền giá trị từ a -> b
int t = rd.nextInt(b-a+1) +a;
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 36
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp Math
Là một phần của gói java.lang
Chứa các phương thức có chức năng tính toán về toánhọc.
Như: Lũy thừa (pow)
Căn (sqrt)
Trị tuyệt đối (abs)
…
Các phương thức trong lớp Math là những phương thứctĩnh (static methods). Vì vậy, ta gọi trực tiếp thông quatên lớp mà không cần tạo đối tượng.
value = Math.sqrt(delta);
12/29/2015
13
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 37
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Định dạng kết quả xuất ra màn
hình
Lớp NumberFormat cho phép ta định dạng giá trị
theo kiểu tiền tệ hoặc phần trăm…
Lớp DecimalFormat định dạng giá trị theo mẫu
định dạng cho trước .
Cả 2 nằm trong gói java.text
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 38
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 1: Viết chương trình nhập vào tên của mình và xuất
ra màn hình “Hello + Tên”.
Bài 2: Viết chương trình nhập vào 2 số nguyên sau đó
tính các giá trị của các tổng, hiệu, thương, tích của 2 số
nguyên đó.
Bài 3: Viết chương trình xuất ra số ngẫu nhiên có miền
giá trị:
a. 25 to 50
b. –10 to 15
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 39
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 4: Viết chương trình nhập vào tổng số giây. Xuất ra
giờ: phút: giây.
Bài 5: Viết chương trình nhập vào bán kính của hình
tròn. Tính diện tích và chu vi của hình tròn đó.
Chu vi hình tròn C = 2 π r
Diện tích hình tròn A = π r2, với r là bán kính
12/29/2015
14
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 40
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lập trình java
CẤU TRÚC ĐIỀU KHIỂN
VÀ CÁC VÒNG LẶP
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 41
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc điều khiển
Một câu điều kiện (conditional statement) đôi khi
được gọi là câu lựa chọn (selection statement). Bởi vì,
nó cho phép ta chọn câu lệnh sẽ được thực thi kế tiếp.
Các câu điều kiện trong Java:
Câu lệnh if
Câu lệnh if-else
Câu lệnh switch
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 42
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc điều kiện if
Cú pháp:
if ( điều_kiện )
câu_lệnh;
if là một từ khóa
trong Java
Điều_kiện phải là biểu thức luận lý.
Tức phải trả về giá trị true / false.
Nếu điều_kiện là true, thì câu_lệnh được thực hiện.
Nếu điều_kiện là false, thì câu_lệnh được bỏ qua.
12/29/2015
15
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 43
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc điều kiện if
Điều_kiện
Câu_lệnh
truefalse
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 44
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Các biểu thức luận lý
Một điều kiện thường sử dụng các toán tử bằng(equality operators) hoặc các toán tử quan hệ(relational operators), kết quả của biểu thức điều kiệntrả về true / false:
== bằng
!= không bằng
< nhỏ hơn
> lớn hơn
<= nhỏ hơn hoặc bằng
>= lớn hơn hoặc bằng
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 45
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Các toán tử luận lý
Biểu thức luận lý có thể sử dụng các toán tử luận lý
(logical operators) như:
! : NOT
&& : AND
|| : OR
12/29/2015
16
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 46
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
BẢNG CHÂN TRỊ
NOT
AND ??
OR ??
a !a
true false
false true
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 47
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc điều kiện if … else
Cú pháp:
if ( điều_kiện )
câu_lệnh1;
else
câu_lệnh2;
• Nếu điều_kiện là true, câu_lệnh1 được
thực thi; Nếu điều_kiện là false,
câu_lệnh2 được thực thi.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 48
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc điều kiện if … else
Điều_kiện
Câu_lệnh 1
true false
Câu_lệnh 2
12/29/2015
17
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 49
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Khối lệnh
Khối lệnh (block statement): một hay nhiều lệnh
được bao quanh bởi cặp dấu {} gọi là một khối lệnh.
Ví dụ:
if (total > MAX)
{
System.out.println ("Error!!");
errorCount++;
}
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 50
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Toán tử điều kiện
Cú pháp:
điều_kiện? biểu_thức1:biểu_thức2
Nếu điều_kiện là true, biểu_thức1 được thực
thi; Nếu là false, biểu_thức2 được thực thi.
Ví dụ: In ra số lớn hơn giữa 2 số nguyên.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 51
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc switch … case
Cú pháp:
switch ( biểu_thức )
{
case giá_tri1:
danh_sách_lênh1
case giá_tri2:
danh_sách_lênh2
case giá_tri3:
danh_sách_lênh3
case ...
}
switch
vàcase
là các từ
khóa
java
Nếu biểu_thức
trùng giá_tri2,
điều khiển nhảy tới đây.
12/29/2015
18
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 52
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc switch … case
Thường một lệnh break được dùng ở cuối danh sách
lệnh của mỗi case.
Lệnh break để kết thúc switch.
Nếu lệnh break không được dùng, thì luồng điểu
khiển (flow of control) sẽ vào case kế tiếp.
Một cấu trúc switch có thể có một case default
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 53
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc switch … case
Kết quả của biểu_thức trong switch phải là
kiểu số nguyên (byte, short, int, long) hoặc
char.
Không thể là boolean hoặc số thực (float,
double)
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 54
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
So sánh dữ liệu
Các số thực:
Rất hiếm khi ta dùng (==) để so sánh 2 số thực
(float or double)
Người ta chỉ có thể chấp nhận hai số thực là bằng nhau
ở một sai số nào đó.
Để kiểm tra 2 số thực có bằng nhau, ta có thể sử dụng
kỹ thuật sau:
if (Math.abs(f1 - f2) < TOLERANCE)
System.out.println (“Ước lượng bằng nhau!");
12/29/2015
19
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 55
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
So sánh các ký tự
Các ký tự Giá trị Unicode
0 – 9 48 – 57
A – Z 65 – 90
a – z 97 – 122
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 56
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
So sánh chuỗi
Chuỗi các ký tự trong Java là một đối tượng.
Phương thức equals dùng để xác định hai chuỗi có
các ký tự là bằng nhau và theo cùng một thứ tự.
Phương thức equals trả về kết quả là một boolean
if (chuỗi_1.equals(chuỗi_2))
System.out.println (“giống nhau");
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 57
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
So sánh chuỗi
Trong lớp String còn có phương thức compareTo
dùng để xác định một chuỗi có đúng trước chuỗi khác.
chuỗi_1.compareTo(chuỗi_2):
Trả về 0 nếu chuỗi_1 và chuỗi_2 là bằng nhau
(có cùng các ký tự và thứ tự)
Trả về <0 nếu chuỗi_1 đến trước chuỗi_2.
Trả về >0 nếu chuỗi_1 đến sau chuỗi_2.
12/29/2015
20
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 58
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp while Cú pháp lệnh while :
while ( điều_kiện )
câu_lệnh;
• Nếu điều_kiện là true, thì câu_lệnh được
thực thi.
• Câu_lệnh được thực thi cho đến khi nào
điều_kiện là false
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 59
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp while
Câu_lệnh
true false
Điều_kiện
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 60
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp do
Cú pháp:
do
{
câu_lệnh;
}
while ( điều_kiện );
• Câu_lệnh được thực thi như một lần khởi tạo,
và sau đó điều_kiện được xét.
• Câu_lệnh được thực hiện lặp lại cho đến khi
điều_kiện là false.
12/29/2015
21
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 61
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp do
true
Điều_kiện
Câu_lệnh
false
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 62
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp do
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 63
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
So sánh giữa while và do
Câu_lệnh
true false
Điều_kiện
Vòng lặp while
true
Điều _kiện
Câu_lệnh
false
Vòng lặp do
12/29/2015
22
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 64
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp for
Cú pháp:
for ( khởi_tạo; điều_kiện; điều_khiển_lặp )
câu_lệnh;
Khởi_tạo
được thực thi một lần
trước khi vòng lặp bắt đầu
Câu_lệnh
được thực thi cho đến khiđiều_kiện là false
Điều_khiển_lặp được thực
thi sau mỗi lần lặp
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 65
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Vòng lặp for
Câu_lệnh
true
Điều_kiện
false
Điều_khiển_lặp
Khởi_tạo
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 66
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Tương đương giữa for và while
for ( khởi_tạo; điều_kiện; điều_khiển_lặp )
câu_lệnh;
khởi_tạo
while (điều_kiện)
{câu_lệnh;
điều_khiển_lặp;
}
12/29/2015
23
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 67
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Cấu trúc lệnh nhảy (jump)
Lệnh break
Lệnh break dùng để thoát khỏi một cấu trúc điều khiểnmà không chờ đến biểu thức điều kiện được định trị.
Không sử dụng lệnh break bên ngoài các cấu trúc lặpnhư while, do...while, for hay cấu trúc switch.
Lệnh continue
Lệnh continue dùng để kết thúc vòng lặp hiện tại và bắtđầu vòng lặp tiếp theo.
Lệnh continue chỉ được dùng trong thân các cấu trúclặp như for, while, do...while.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 68
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp bao kiểu dữ liệu cơ sở
(Wrapper Class)
Trong gói java.lang có chứa các lớp wrapper
tương ứng cho từng kiểu dữ liệu cơ sở.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 69
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Wrapper Class
Trong các lớp wrapper còn chứa các phương thức tĩnh để thaotác trên từng kiểu dữ liệu.
Ví dụ trong lớp Integer có chứa một phương thức đểchuyển từ một chuỗi số nguyên thành giá trị số nguyên.
num = Integer.parseInt(str);
Hay chuyển một ký tự của chuỗi word thành ký tự hoa:
ch=Character.toUpperCase(word.charAt(0))
Ngoài ra, các lớp wrapper còn chứa các hằng số.
Ví dụ trong lớp Integer chứa hằng MIN_VALUE vàMAX_VALUE là giá trị nhỏ nhất và lớn nhất của số int.
12/29/2015
24
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 70
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp StringTokenizer class
Một chuỗi là một danh sách các ký tự.
Mỗi phần tử trong chuỗi ta gọi là một token.
Ký tự dùng để phân cách các token trong chuỗi ta gọi
là delimiter.
Ví dụ:
“The quick brown fox jumped over the lazy dog”
www.csc.villanova.edu/academics/courses
“75.43 190.49 69.58 140.77”
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 71
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Lớp StringTokenizer
StringTokenizer(String str) : Tạo một đối tượng
StringTokenizer mới dựa trên chuỗi str.
StringTokenizer(String str, String delimiter) : Tạo
một đối tượng StringTokenizer mới dựa trên chuỗi str
và tập ký tự phân cách delimiter.
int countTokens() : trả về số token có trong chuỗi str.
boolean hasMoreTokens() : trả về true nếu token vẫn
còn để được xử lý trong chuỗi.
String nextToken(): Trả về token kế tiếp trong chuỗi.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 72
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 1: Giải phương trình bậc nhất.
Bài 2: Nhập điểm của sinh viên. Xuất ra xếp loại
tương ứng.
Bài 3: Nhập 3 số nguyên từ bàn phím. In ra số nhỏ
nhất.
Bài 4: Nhập vào một số nguyên. Kiểm tra số vừa
nhập là số chẵn hay lẻ.
12/29/2015
25
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 73
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 5: Nhập vào 2 số nguyên và 1 phép toán.
Nếu phép toán là ‘+’, ‘-‘, ‘*’ thì in ra kết quả là tổng,
hiệu, tích của 2 số.
Nếu phép toán là ‘/’ thì kiểm tra xem số thứ 2 có khác
không hay không? Nếu khác không thì in ra thương
của chúng, ngược lại thì in ra thông báo “Không thể
chia cho 0!!”.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 74
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 6: Nhập vào một tháng trong năm. In ra số ngày
của tháng đó.
Tháng có 31 ngày: 1, 3, 5, 7, 8, 10, 12
Tháng có 30 ngày: 4, 6, 9, 11
Tháng có 28 hoặc 29 ngày : 2
Các trường hợp khác thì in ra câu thông báo “Tháng
không hợp lệ!“.
Bộ Môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin
Trường Đại Học Công Nghiệp Tp HCM
Slide : 75
Môn Giảng :Lập Trình Hướng Đối Tượng
Chương 3: Giới Thiệu Java
Bài tập
Bài 7: Viết chương trình tính tổng các số nguyên từ
1-> N. N được nhập từ bàn phím.
Bài 8: Viết chương trình nhập vào số lượng, đơn giá,
thuế của một sản phẩm A, sau đó tính thành tiền chưa
thuế, thuế phải đóng, tổng số tiền phải trả (phải định
dạng ở dạng tiền tệ). Xuất ra thông tin trên ra màn