... 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, viễn thông
1
Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn ...
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
•
Ngoài ra còn một số thư viện khác như
JSP, JavaMail, Java TAPI…
•
19 95: Version JDK 1. 0
•
19 98: Version JDK 1. 2 ... dụng Java
•
Application: Ứng dụng độc lập
•
Applet: Ứng dụng chạy trên Web
•
Thư viện lớp Java
•
Bộ JDK bao gồm rất nhiều lớp chuẩn đã
được xây dựng sẵn.
•
Lập trình viên thường sử dụng các lớp...
... c.getCircum());
• }
•
}
2
Bài 1. Tổng quan lậptrình Java
•
Giới thiệu ngôn ngữ Java
•
Kiến trúc của Java
•
Nội dung một chương trình Java cơ bản
•
Các kiểu dữ liệu cơbản & toán tử
•
Các cấu ... Không trùng với các từ khoá
•
Ví dụ: a _12 34_d, 1awas, _asdc, a sas,
$erd, %ats…
•
Chú ý: Java phân biệt chữ hoa chữ thường
11
Một chương trình Java cơ bản
•
Thay đổi cách hiển thị
public class ... số thư viện khác như
JSP, JavaMail, Java TAPI…
• 19 95: Version JDK 1. 0
•
19 98: Version JDK 1. 2 (Java 2
nd
Platform)
•
2004: Version JDK 1. 5
18
Các toán tử
= > < ! ~
?: == <= >= !=
&&...
...
18 -08-2 013 – http://timvieclam.ws/
1
Bài 1: Lậptrình Adroi cơbản
Yêu cầu kiến thức cho lậptrình Android:
Để lậptrình android, mình nghĩ mọi người chỉ cần kiến thức java căn bản ... Android (tuy nhiên 1 số kỹ thuật cơbản cho lậptrình game 2D
như Sprite, double buffering, Tile thì vẫn ko hề phí phạm chút nào )
Cài đặt Android để lập trình:
Để lậptrìnhAndroid thì mỗi ...
thực hiện quá trình khởi tạo. Các phương thức khác có cần viết lại hay không tùy vào
yêu cầu lập trình.
XML trong Android:
Không giống như lậptrình java thông thường, lậptrìnhandroid ngoài...
... removeItem = lastNode.data;
if ( firstNode == lastNode )
firstNode = lastNode = null;
else
{
ListNode current = firstNode;
while ( current.nextNode != lastNode )
current = current.nextNode;
lastNode = current;
current.nextNode = null;
}
}
return removeItem;
}
32
Collection
•
Collection là đối tượng có khả năng chứa các
đối tượng khác.
•
Các thao tác thông thường trên collection
•
Thêm/Xoá đối tượng vào/khỏi collection
•
Kiểm tra một đối tượng có ở trong collection không
•
Lấy một đối tượng từ collection
•
Duyệt các đối tượng trong collection
•
Xoá toàn bộ collection
42
Duyệt collection
•
Iterator cho phép duyệt tuần tự một collection.
•
Các phương thức của Iterator:
•
boolean hasNext();
•
Object next();
•
void remove();
•
Ví dụ:
Iterator it = c.iterator();
while ( it.hasNext() ) {
Point p = (Point) it.next();
System.out.println( p.toString() );
}
18
Cài đặt Stack
public class Stack
{
private LinkedList stackList;
public Stack()
{
stackList = new LinkedList();
}
public void push( int value )
{
stackList.insertAtFront( value );
}
public int pop() { return stackList.removeFromFront(); }
public boolean isEmpty() { return stackList.isEmpty(); }
public void print() { stackList.print(); }
}
15
Mô tả removeFromBack
5
5
11 7
7
12
12
firstNode lastNode
(a)
firstNode lastNode
(b)
removeItem
current
11
13
Mô tả insertAtBack
12 7 11
firstNode lastNode
(a)
5
new ListNode
12 11
firstNode ... 11
firstNode lastNode
(b)
5
new ListNode
7
1
Lập trình Java cơ bản
Cao Đức Thông Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
50
Ví dụ 1: TreeSet
// This program sorts a set of names
import java.util.*;
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet names = new TreeSet();
names.add(new String("Minh Tuan"));
names.add(new String("Hai Nam"));
names.add(new String("Anh Ngoc"));
names.add(new String("Trung Kien"));
names.add(new String("Quynh Chi"));
names.add(new String("Thu Hang"));
System.out.println(names);
}
}
31
Bài tập tại lớp
•
Bài 1: Dùng Stack để viết chương trình in ra
dạng nhị phân của một số nguyên dương cho
trước.
•
Bài 2: Cài đặt phương thức search trong lớp
Tree để tìm một phần tử có giá trị cho trước.
7
Cài đặt Linked List
// Dinh nghia mot node trong linked list ... Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
50
Ví dụ 1: TreeSet
// This program sorts a set of names
import java.util.*;
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet names = new TreeSet();
names.add(new String("Minh Tuan"));
names.add(new String("Hai Nam"));
names.add(new String("Anh Ngoc"));
names.add(new String("Trung Kien"));
names.add(new String("Quynh Chi"));
names.add(new String("Thu Hang"));
System.out.println(names);
}
}
31
Bài tập tại lớp
•
Bài 1: Dùng Stack để viết chương trình in ra
dạng nhị phân của một số nguyên dương cho
trước.
•
Bài 2: Cài đặt phương thức search trong lớp
Tree để tìm một phần tử có giá trị cho trước.
7
Cài đặt Linked List
// Dinh nghia mot node trong linked list ...
... điều
khiển sẽ được trả lại cho chương trình.
24
Bài tập tại lớp
•
Bài 1: Cài đặt xử lý các ngoại lệ cho
chương trình tính thương 2 số bằng
giao diện GUI.
• Bài 2: Cài đặt xử lý lỗi bằng cách dùng ... methodeX() {
Point[ ] pts = new Point [10 ];
for(int i = 0; i < pts.length; i++) {
pts[i].x = i;
pts[i].y = i +1;
}
}
}
32
Bài tập
1. Viết chương trình cho phép tính giá trị của
biểu thức:
...
checked).
31
Chú ý khi sử dụng ngoại lệ
•
Không nên sử dụng ngoại lệ thay cho các
luồng điều khiển trong chương trình.
• Ví dụ: Kiểm tra delta trong chương trình giải
phương trình bậc 2.
•
Nên...
...
chương trình
Object A
Object C
Object B
Object D
3
Các phương pháp lập trình
•
Step-by-Step Programming
• Lậptrình từng bước
•
Machine Language, Assembly Language
11 010 111 0 011 110 1
10 1000 011 1 011 101
011 011 1 011 0 010 10
10 0 010 010 010 1 011
... Language
11 010 111 0 011 110 1
10 1000 011 1 011 101
011 011 1 011 0 010 10
10 0 010 010 010 1 011
MOV BX, CS
SUB BX, 10 h
JNE label1
LOOP label2
39
Bài tập
6. Xây dựng lớp TestRect: Sinh ngẫu nhiên
10 hình chữ nhật và tính giao ... Garbage Collector.
10 . Java không hỗ trợ đối số mặc định.
11 . Java chỉ hỗ trợ kế thừa đơn, tất cả mọi lớp đều mặc
định kế thừa từ lớp Object.
12 . Java không có template.
13 . Java không có từ...
... tập tại lớp
•
Bài 1: Cài đặt xử lý các ngoại lệ cho chương
trình tính thương 2 số bằng giao diện GUI.
•
Bài 2: Cài đặt xử lý lỗi bằng cách dùng
ngoại lệ cho ví dụ ở phần đầu bài.
26
Ngoại lệ ... khiến
lập trình viên khó theo dõi được thuật toán
chính của chương trình.
⇒
Khi một lỗi xảy ra tại hàm A, tất cả các lời
gọi hàm lồng nhau đến A đều phải xử lý lỗi
mà A trả về.
24
Bài tập ... {
Point[ ] pts = new Point [10 ];
for(int i = 0; i < pts.length; i++) {
pts[i].x = i;
pts[i].y = i +1;
}
}
}
15
Khối finally
•
Khi một ngoại lệ xảy ra, chương trình dừng
lại, một số công...
... bước
•
Machine Language, Assembly Language
11 010 111 0 011 110 1
10 1000 011 1 011 101
011 011 1 011 0 010 10
10 0 010 010 010 1 011
MOV BX, CS
SUB BX, 10 h
JNE label1
LOOP label2
12
// Dat lai thoi gian
time.setTime( ... vào 10 thí sinh
In ra thông tin về các thí sinh có tổng điểm lớn
hơn 15
3
Các phương pháp lập trình
•
Step-by-Step Programming
•
Lập trình từng bước
•
Machine Language, Assembly Language
11 010 111 0 011 110 1
10 1000 011 1 011 101
011 011 1 011 0 010 10
10 0 010 010 010 1 011
... new.
7. Java không có tiền xử lý (preprocessor)
1
Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
37
Bài tập
1. Cài đặt lại các nội dung lý thuyết đã học.
2....
... 2 013 http://timvieclam.ws. All rights reserved.
Mr_ThinhVn
18 -08-2 013 – http://timvieclam.ws/
1
Bài 6: Tự học lậptrìnhAndroid - Android SQLite Database
0. Giới thiệu SQLite Database ... CSDL:
1. Tạo 1 CSDL ( thông thường chỉ cần làm 1 lần )
2. Mở CSDL đó
3. Thêm giá trị vào trong table
4. Truy vấn.
5. Đóng CSDL
1. Tạo cơ sở dữ liệu.
Đầu tiên các bạn add 1 class DBAdapter ... dụng cơ sở dữ liệu là
SQLite).
Trong Android , cơ sở dữ liệu mà bạn tạo cho 1 ứng dụng thì chỉ ứng dụng đó có
quyền truy cập và sử dụng, các ứng dụng khác thì không. Khi đã được tạo, cơ sở...
...
1
Bài 2: LậptrìnhAndroidcơ bản.
Trong bài1 mình đã giới thiệu sơ lược về các thành phần cơbản của Android cũng
như việc sử dụng XML để lậptrình ứng dụng Android. Trong bài này ... nhất của Android API mà ứng dụng cần để chạy. (Android 1. 0
là level 1, 1.1 là level 2, 1. 5 level 3, 1. 6 level 4 và 2.0 là level 5).
Hãy xem thử file AndroidManifest.xml của chương trình TooDo ... xmlns :android= "http://schemas .android. com/apk/res /android& quot;
package="at.exam"
android: versionCode=" ;1& quot;
android: versionName=" ;1. 0">
<application android: icon="@drawable/icon"...
... với PHP chúng ta có nhiều cách để thể hiện.
Cách 1 : Cú pháp chính:
Cách 2: Cú pháp ngắn gọn
PHP cơbản - Bài 1: Tổng
quan về lậptrình PHP
d) Kiểu dữ liệu trong PHP
Các kiểu dữ ... Nhưng đối với 1lậptrình viên có kinh nghiệm
thì việc sử dụng cách 1 vẫn là lựa chon tối ưu.
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"
Để chú thích 1 đoạn dữ liệu ...
Ở bài trước chúng ta đã tìm hiểu về cách thức cấu hình và cài đặt PHP. Tiếp
theo chúng ta sẽ nghiên cứu về cấu trúc cơbản trong PHP. Về tổng quan
PHP có cú pháp khá tương đồng với 1 số...
... bước
•
Machine Language, Assembly Language
11 010 111 0 011 110 1
10 1000 011 1 011 101
011 011 1 011 0 010 10
10 0 010 010 010 1 011
MOV BX, CS
SUB BX, 10 h
JNE label1
LOOP label2
10
Lớp Time
•
Dữ liệu
•
Mỗi dữ liệu ... Time1", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
} // Ket thuc ham main
} // Ket thuc lop TimeTest
Lớp TimeTest
3
Các phương pháp lập trình
•
Step-by-Step Programming
•
Lập trình ... Garbage Collector.
10 . Java không hỗ trợ đối số mặc định.
11 . Java chỉ hỗ trợ kế thừa đơn, tất cả mọi lớp đều mặc
định kế thừa từ lớp Object.
12 . Java không có template.
13 . Java không có từ...