... và Java, JavaScript đợc thiết kế độc lập với hệ điều hành. Nó có thể chạy
trên bất kỳ hệ điều hành nào có trình duyệt hỗ trợ JavaScript. Ngoài ra JavaScript giống
Java ở khía cạnh an ninh: JavaScript ... đổi tên thành JavaScript để tận dụng
tính đại chúng của ngôn ngữ lậptrình Java. Mặc dù có những điểm tơng đồng giữa Java và
JavaScript, nhng chúng vẫn là hai ngôn ngữ riêng biệt.
JavaScript là ... một dòng text
Trong hầu hết các ngôn ngữ lập trình, một trong những khả năng cơ sở là hiển thị ra màn
hình một dòng text. Trong JavaScript, ngời lậptrình cũng có thể điều khiển việc xuất ra
màn...
... 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);
}
}
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 ...
... ra. Chương trình
dừng lại ngay lập tức, toàn bộ phần
mã phía sau sẽ không được thực 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 ... 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 thiết kế và sử dụng ngoại lệ một
cách thống ... người dùng nhập lại.
5
Xử lý lỗi và ngoại lệ
• Trong Java, việc xử lý lỗi có thể được cài đặt
trong một nhánh độc lập với nhánh chính của
chương trình.
• Lỗi được coi như những trường hợp ngoại...
...
(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
{
... nhật.
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 ... các thực thể
• Dễ phát triển, mở rộng
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...
... dụng.
5
Kiến trúc của 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
3
Giới ... dụng Java
•
Hai loại ứng 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 ... tmtuan@ifi.edu.vn
6
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
•
Ngoài...
... đ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 ... ra. Chương trình dừng lại ngay lập tức,
toàn bộ phần mã phía sau sẽ không được
thực 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 ... tập
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...
...
5
Kiến trúc của 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
27
Ví ... 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ìnhJava cơ bản
•
Các kiểu dữ liệu cơ bản & toán tử
•
Các cấu trúc điều khiển
•
Nhập dữ liệu từ ... …
}
Hello .java
Biên dịch
Thông dịch
Hello.class
(bytecode)
javac Hello .java
java Hello
01001011
6
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...
... 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ơ bản
Cao ... file TimeTest .java.
Nó dùng để kiểm tra lớp Time. Lớp TimeTest
chứa hàm main.
•
Khi chạy chỉ cần 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
Chạy 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 ... book describes the 2D API in the Java 2 platform. The Java 2 platform used to be known as the
Java Development Kit (JDK) 1.2. In this book I use the terms " ;Java 2" and "JDK 1.2"...
... thức
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ẬP TRÌ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 phép ...
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...