... lastNode
(b)
5
new ListNode
7
1
Lập trìnhJava 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);
}
}
...
... ném ra. Chương trình
dừng lại ngay lập tức, toàn bộ phn
mó phớa sau s khụng c thc thi.
ã
Java h trợ cách thức để xử lý ngoại lệ
(exception handling) tuỳ theo nhu cầu
của chương trình.
30
Nộm ... methodeX()
Exception in thread "main" java. lang.NullPointerException
at MyArray.methodeX(MyArray .java: 14)
at MyArray.main(MyArray .java: 7)
Giải thích: Hệ thống đã tung ra một exception ... Tìm hiểu lại lớp Candidate đã học (dữ liệu
gồm mã thí sinh, tên và điểm thi 3 môn).
Điều gì sẽ xảy ra khi tạo một đối tượng
thuộc lớp Candidate với dữ liệu đưa vào
không hợp lệ ? Cài đặt lớp...
...
(extends) từ một lớp.
1
Lập trìnhJava cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
23
Ví dụ về kế thừa trong Java
// File InheritanceTest .java
public class InheritanceTest
{
... Time .java. Nú cha
cỏc nh ngha v thi gian.
ã
Lp TimeTest nm trong file TimeTest .java.
Nó dùng để kiểm tra lớp Time. Lp TimeTest
cha hm main.
ã Khi chy ch cn gừ:
ã
javac TimeTest .java
ã
java ... 36
Java vs C++
8. Java không có con trỏ.
9. Java không có huỷ tử (destructor), nó chỉ có phương
thức finalize() được gọi bởi Garbage Collector.
10. Java không hỗ trợ đối số mặc định.
11. Java...
... dụng.
5
Kin trỳc ca Java
ã
Java Platform
ã
Java Virtual Machine (Java VM)
ã
Java Application Programming Interface (Java API)
Hardware-Platform
Java VM
Java API
myProgram .java
Java Platform
Mã nguồn
... cú ni dung ng (web applet)
ã
Hin nay, Java c s dng 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ìnhJava cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, ... ca 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, son
ti liu v cỏc th vin chun
ã
Ngoi ra còn một số thư viện khác như
JSP, JavaMail,...
... điểm của Java
✦
Java is simple
✦
Java is object-oriented
✦
Java is distributed
✦
Java is interpreted
✦
Java is robust
✦
Java is secure
✦
Java is architecture-neutral
✦
Java is portable
✦
Java s ... như ĐTDĐ.
Bài giảng sử dụng J2SE để giới thiệu lậptrình Java.
10
Một chương trìnhJava đơn giản
Ví dụ 1.1
// Chương trình in dòng: Welcome to Java!
package ch01;
public class Welcome {
public ... "Welcome to Java! "
✦
Bạn có thể gọi phương thức println với các tham số khác
nhau để in ra những message khác nhau.
9
Bắt đầu với lậptrình Java
✦
Một chương trìnhJava đơn giản
✦
Biên...
... (integer);
double bankinh
char a;
Nội dung của chương 2
Giới thiệu lậptrình qua một ví dụ
Các tên, biến và hằng
Các kiểu dữ liệu cơ sở
–
byte, short, int, long, float, double, char, boolean
Biểu ... dữ liệu kiểu số (Ép kiểu)
Xét các câu lệnh sau đây:
byte i = 100;
long k = i*3+4;
double d = i*3.1+k/2;
int x = k; //(sai, int < long)
long k = x; //(đúng, long > int)
Giới thiệu lậptrình ... from \u0000 to \u007f
Biểu thức gán và Câu lệnh gán
Trước Java 2, tất cả các biểu thức có thể được sử
dụng như câu lệnh. Kể từ Java 2, chỉ những loại biểu
thức sau có thể là câu lệnh:
variable...
... để chạy các chương trìnhJava và
xem tài liệu
5
Tổ chức của khóa học
✦
Phần I: Cơ bản về lậptrình Java
–
Chương 1: Giới thiệu về Java
–
Chương 2: Các toán tử và các kiểu dữ liệu cơ sở
–
Chương ... chương trình Java
–
Các kiểu dữ liệu cơ sở
–
Luồng điều khiển Java - Java control flow
–
Phương thức - Methods
–
Mảng - Arrays
–
Lập trình hướng đối tượng (Object-oriented programming)
–
Các lớp Java ... - Khoa CNTT - Trường ĐHNN I
Lập trình Java
11
Phần mềm cần thiết
–
Java SDK 5 (gồm cả JRE)
◆
http:/ /java. sun.com/j2se/1.5.0/download.html
◆
[Optional] Download the Java documentation
–
JCreator...
... "main" java. lang.ArithmeticException: / by zero
at MyDivision.C(MyDivision .java: 14)
at MyDivision.B(MyDivision .java: 11)
at MyDivision.A(MyDivision .java: 8)
at MyDivision.main(MyDivision .java: 4)
Giải ...
ném ra. Chương trình dừng lại ngay lập tức,
toàn bộ phn mó phớa sau s khụng c
thc thi.
ã
Java h trợ cách thức để xử lý ngoại lệ
(exception handling) tuỳ theo nhu cầu của
chương trình.
21
Hai ... 4
Xử lý lỗi và ngoại lệ
⇒
Mã lệnh và mã xử lý lỗi nằm xen kẽ 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...
... System.out.println(tong);
5
Kin trỳc ca Java
ã
Java Platform
ã
Java Virtual Machine (Java VM)
ã
Java Application Programming Interface (Java API)
Hardware-Platform
Java VM
Java API
myProgram .java
Java Platform
Mã nguồn
... …
}
Hello .java
Biên dịch
Thông dịch
Hello.class
(bytecode)
javac Hello .java
java Hello
01001011
6
Kin trỳc ca Java
ã
Java Development Kit JDK
ã B cụng cụ phát triển Java (jdk) gồm
trình ... thông dịch, trợ giúp, soạn
tài liệu và các thư viện chun
ã
Ngoi ra cũn mt s th vin khỏc nh
JSP, JavaMail, Java TAPI
ã 1995: Version JDK 1.0
ã
1998: Version JDK 1.2 (Java 2
nd
Platform)
ã
2004:...
... logic trong Java chỉ nhận giá trị boolean.
6. Trong Java, mọi biến không thuộc kiểu nguyên thuỷ đều
phải tạo ra bằng từ khoá new.
7. Java không có tiền xử lý (preprocessor)
1
Lập trìnhJava cơ ... file TimeTest .java.
Nó dùng để kiểm tra lớp Time. Lớp TimeTest
cha hm main.
ã
Khi chy ch cn gừ:
ã
javac TimeTest .java
ã
java TimeTest
ã
Java sẽ tự động tìm và dịch file Time .java
26
a hỡnh ... && second < 60 ) ? second : 0 );
}
13
ã
javac TimeTest .java
ã
java TimeTest
Chy TimeTest
36
Java vs C++
8. Java không có con trỏ.
9. Java không có huỷ tử (destructor), nó chỉ có phương...
... for details.
import java. awt.*;
import java. awt.event.*;
import java. awt.font.*;
import java. awt.geom.*;
import java. awt.image.BufferedImage;
import java. io.*;
import java. util.Random;
... is completely in the interior of the Shape.
Java 2D Graphics
p
age 7
ã java. awt.color
ã java. awt.font
ã java. awt.geom
ã java. awt.print
ã java. awt.image.renderable
ã com.sun.image.codec.jpeg ... http:/ /java. sun.com/products/jfc/tsc/.
[2]
This is only true if you're using Swing in Java 2. Although it is possible to use Swing in JDK 1.1, the 2D API runs only in Java 2 (JDK 1.2).
Java...
...
init( ).
Phả hệ của Applet
java. lang.Object
|
+ java. awt.Component
|
+ java. awt.Container
|
+ java. awt.Panel
|
+ java. applet.Applet
Xem Applet từ trình duyệt Web
Bạn cũng có thể ... các máy client.
LẬP TRÌNH JAVA
Chương 11: Applet, Ảnh, Âm thanh
Phạm Quang Dũng
BM KHMT - Khoa CNTT - Trường ĐHNN I
Applet đơn giản nhất có thể
TrivialApplet .java
import java. applet.Applet;
public ...
chương trình Java.
Một applet thường được nhúng vào trong một trang
Web và có thể chạy từ một trình duyệt.
Bạn cần đoạn mã HTML đặc biệt trong trang Web
để "nói" cho trình duyệt...
... constructor:
JScrollBar()
JScrollBar(int orientation)
JScrollBar(int orientation, int value,
int extent, int min, int max)
LẬPTRÌNH JAVA
Chương 10: Tạo giao diện người sử dụng
Phạm Quang Dũng
BM KHMT - Khoa CNTT - Trường ĐHNN ... icon])
JScrollPane
Scroll pane là một thành phần tự động
hỗ trợ cuộn cửa sổ mà không cần lập
trình.
Using Scroll Pane:
ScrollMap
ScrollMap
JScrollBar
✦
ScrollBar là một điều khiển cho ...
SubFrame".equals(actionCommand))
{
subFrame.setVisible(true);
}
}
}
Sử dụng Text Area
Chương trình hiển thị 1 ảnh và 1 title trong
1 label, hiển thị văn bản trong text area.
DescriptionPanel
-jlblImage
-jlblTitle
-jtaTextDescription
+setImageIcon
+setTitle
+setTextDescription
+getMinimumSize
1
1
TextAreaDemo
JPanel
-char...
... ý: Chạy chương trình cần JDK 1.3 hoặc cao hơn
LẬPTRÌNH JAVA
Chương 9: Bắt đầu với lậptrình GUI
Phạm Quang Dũng
BM KHMT - Khoa CNTT - Trường ĐHNN I
Ví dụ 9.4: Panel
Chương trình tạo một giao ... khoảng trống ngang và dọc giữa các
thành phần được xác định.
Tạo Frame
MyFrame
MyFrame
import javax .swing. *;
public class MyFrame {
public static void main(String[] args) {
JFrame frame = new ... JComponent.
Các lớp GUI component (Swing) :
–
JButton
–
JLabel
–
JTextField
–
JTextArea
–
JComboBox
–
JList
–
JRadioButton
–
JMenu
–
…
Layout Managers
Các layout manager của Java cung cấp cơ chế
để...
... toString()
Lậptrình dùng chung
✦
Đa hình thái cho phép các phương thức được sử dụng
chung cho một dải rộng các tham số đối tượng →
generic programming.
✦
Trong lậptrình hướng đối tượng, nên lậptrình ... động, lậptrình dùng chung
✦
Ép kiểu đối tượng và toán tử instanceof
✦
Dữ liệu và phương thức protected
✦
Các Abstract class và Interface
Lớp Object
✦
Mọi lớp trong Java được thừa kế từ lớp
java. lang.Object
✦
Nếu ... liệu là public final static
và phương thức là public abstract
public interface T1{
public static final int k=1;
public abstract void p();
}
public interface T1{
int k=1;
void p();
}
LẬP TRÌNH...