PowerPoint Template 11 Trường Cao đẳng Kinh tế Kĩ thuật TP HCM Khoa Công nghệ thông tin Nguyễn Thị Kim Nga KỸ THUẬT LẬP TRÌNH CĂN BẢN Số tiết 75 Mã môn MH2012101 Kiểm tra thường xuyên 2 cột Kiểm tra đ[.]
Trang 1Nguyễn Thị Kim Nga
KỸ THUẬT LẬP TRÌNH CĂN BẢN
-Số tiết: 75 Mã môn: MH2012101
-Kiểm tra thường xuyên: 2 cột.
-Kiểm tra định kỳ: 2 cột.
Trang 2Làm quen với Java
Biến và kiểu dữ liệu
Vòng lặp và mảng
Chuỗi và biểu thức chính qui
6 Hàm và lớp
Trang 3• Lập trình Java, Thái Thị Ngọc Lý, Lưu hành nội bộ, 2017
• Tư duy trong Java, Ngô Trung Việt, Khoa học và kỹ thuật, 2001
• Java - Lập trình cơ sở dữ liệu, Nguyễn Tiến, Nguyễn Văn Tâm, Nguyễn Văn Hoài, Thống kê, 2001
• Java - Những bài thực hành cơ bản, VN-GUIDE ( tổng hợp, biên dịch), Thống kê, 2000
• https://www.w3schools.com/java/default.asp , W3School, W3C, 2021
Trang 4• Java là ngôn ngữ lập trình huớng đối tượng (tựa
C++) do Sun Microsystem đưa ra vào giữa thập niên 90
• Chương trình viết bằng ngôn ngữ l ập trình j ava
có thể chạy trên bất kỳ hệ thống nào có cài máy ảo
j ava (Java Virtual Machine)
• Đầu thập ni ên 90, Sun Mi crosystemtậphợp các nhà nghi ên cứu thànhl ập nên nhóm đặt tên l à
Green Team Nhóm Green Team có trách nhiệm
xâydựng công nghệmới cho ngành đi ện tử ti êu
dùng Để giải quyếtvấn đề này nhóm nghi êncứu phát tri ển đã xâydựngmột ngôn ngữl ập trì nhmới
đặt tên l à Oak tơngtự như C++ nhưng loại bỏmộtsố
tí nhnăng nguy hiểm của C++ và có khảnăng chạy trên nhiềunền phầncứng khác nhau
1.1 Giới thiệu Java
Bài 1 : Làm quen với Java
Trang 5• Cùng l úc đó worl d wi de webbắt đầu phát tri ển
và Sun đã thấy đợc ti ềmnăngcủa ngôn ngữ Oak nên
đã đầutưcải ti ến và phát tri ển Sau đó không l âu ngôn ngữmới với têngọi l à Java ra đời và đợc giới
này l ànơi rấtnổi ti ếngvới nhiều khuvờn trồng cafe, đó chí nh l à l ý do chúng ta thờng thấy biểutợng l y
café trong nhiềusản phẩm phầnmềm, côngcụl ập trì nh Javacủa Suncũng nhưmộtsố hãng phầnmềm khác đưa
1.1 Giới thiệu Java
Trang 6=>Java là gì?
Java là một Ngôn ngữ lập trình và là một Platform
Ngôn ngữ lập trình: Java là một ngôn ngữ lập trình có tính bảo mật cao, hướng đối tượng, bậc cao và mạnh mẽ
Platform: Bất cứ môi trường phần cứng hoặc phần mền nào
mà trong đó một chương trình chạy, thì được biết đến như là một Platform Với môi trường runtime riêng cho mình là JRE và API, Java được gọi là Platform
1.1 Giới thiệu Java
Bài 1 : Làm quen với Java
Trang 71.1 Giới thiệu Java
Các đặc trưng của Java
Trang 81.1 Giới thiệu Java
Bài 1 : Làm quen với Java
RobotGame App
Trang 91.1 Giới thiệu Java
Trang 101 0
1 0
Bài 1 : Làm quen với Java
Cấu trúc chương trình java + package : Một package (gói) mô tả không gian tên có chứa các lớp của Java, sử dụng ký tự thường và
dấu chấm để định nghĩa tên, có thể xem package như
là một thư mục, còn class chính là các file trực thuộc thư mục.
+ import : Từ khóa được sử dụng trong Java nhằm để xác định các class hoặc các package được sử dụng trong lớp này.
+ class : Từ khóa nhằm để định nghĩa lớp của Java
Nó đứng trước khai báo tên lớp của Java Từ khóa public, xác định phạm vi truy cập của lớp.
+ variables: Biến hay còn gọi là trường, một số tài liệu gọi là thuộc tính trực thuộc lớp Chứa thông tin liên quan tới các đối tượng là thể hiện của lớp.
+ methods : Phương thức hay còn gọi là hàm chứa các hành động thực thi của đối tượng Nội dung phương thức là các đoạn mã thực thi.
+ constructors : Phương thức khởi tạo (Hay hàm khởi tạo) của đối tượng Hình dạng của đối tượng được thể hiện ra sao sẽ phụ thuộc vào phương thức này.
Trang 111.2 Giới thiệu NetBeans
Là một chương trình IDE mã nguồn mở miễn phí, download tại link sau: http://www.netbeans.org/index.html.
Trang 121 2
1 2
1.3 Các lệnh nhập và xuất
Chương 1 : Làm quen với Java
Java I/O (Input/Output) được sử dụng để xử lý đầu vào và đầu ra trong java.
Java sử dụng khái niệm stream để làm cho hoạt động I/O nhanh hơn Gói java.io chứa tất cả các lớp cần thiết cho hoạt động input và output.
Trang 131.3 Các lệnh nhập và xuất
Khái niệm về stream
Một stream là một dãy dữ liệu Trong java, một stream bao gồm các byte Nó được gọi là stream (dòng chảy) vì nó giống như một dòng nước chảy liên tục
Trong java, 3 stream được tạo cho chúng ta một cách tự động Tất cả các stream này được gắn với console
1) System.out: output stream (lệnh xuất)
2) System.in: input stream (lệnh nhập)
3) System.err: error stream (lệnh bị lỗi)
Trang 141 4
1 4
Trang 15- Exception (ngoại lệ) là một tình trạng bất thường Trong java, ngoại lệ là một sự kiện làm gián đoạn luồng bình thường của chương trình Nó là một đối tượng được ném ra tại runtime.
- Exception Handling (xử lý ngoại lệ) là một cơ chế xử lý các lỗi runtime như ClassNotFound, IO, SQL, Remote…
- Lợi thế cốt lõi của việc xử lý ngoại lệ là duy trì luồng bình
thường của ứng dụng Ngoại lệ thường làm gián đoạn luồng bình thường của ứng dụng đó là lý do tại sao chúng ta sử
dụng xử lý ngoại lệ
1.4 Xử lý ngoại lệ
Trang 161 6
1 6
Bài 1 : Làm quen với Java
- Giả sử có 10 câu lệnh trong chương trình của bạn và xảy ra trường hợp ngoại lệ ở câu lệnh 5, phần còn lại của chương trình sẽ không được thực thi, nghĩa là câu lệnh 6 đến 10 sẽ không chạy
- Nếu chúng ta thực hiện xử lý ngoại
lệ, phần còn lại của câu lệnh sẽ được thực hiện
Trang 181 8
1 8
- Trong Java, luồng được định nghĩa là một chuỗi dữ liệu Có 3 kiểu luồng: luồng chuẩn đầu vào, luồng chuẩn đầu ra, luồng chuẩn lỗi
- Luồng chuẩn đầu vào: Đây là luồng nhập tiêu chuẩn được sử
dụng để đọc các ký tự từ bàn phím hoặc bất kỳ thiết bị nhập tiêu chuẩn nào khác.
- Luồng chuẩn đầu ra: Đây là luồng đầu ra tiêu chuẩn được sử
dụng để đưa ra kết quả của một chương trình trên thiết bị như
màn hình máy tính.
- Luồng chuẩn lỗi: Đây là luồng chứa lỗi tiêu chuẩn được sử dụng
để đưa ra tất cả dữ liệu lỗi mà chương trình có thể gây ra, và được
in ra trên màn hình máy tính hoặc thiết bị đầu ra tiêu chuẩn.
- Trong Java, luồng nhập xuất hay luồng đầu vào đầu ra là một
chuỗi các dữ liệu được đọc từ nguồn và được ghi tới đích Một
luồng đầu vào được sử dụng để đọc dữ liệu từ nguồn Và, một
luồng đầu ra được sử dụng để ghi dữ liệu tới đích.
1.5 Luồng nhập xuất
Bài 1 : Làm quen với Java
Trang 19- Luồng chuẩn đầu vào (InputStream) và luồng chuẩn đầu ra
(OutputStream) được sử dụng luồng byte và luồng ký tự để khai báo
- Luồng byte được sử dụng để đọc và ghi một byte (8 bit)
1.5 Luồng nhập xuất
Luồng byte
Trang 202 0
2 0
1.5 Luồng nhập xuất
Bài 1 : Làm quen với Java
Danh sách các lớp luồng byte
Trang 211.5 Luồng nhập xuất
Luồng ký tự
- Luồng ký tự được sử dụng để đọc và ghi một ký tự dữ liệu
- Tất cả các lớp luồng ký tự đều bắt nguồn từ các lớp trừu tượng cơ
sở là Reader và Writer
Trang 222 2
2 2
1.5 Luồng nhập xuất
Bài 1 : Làm quen với Java
Danh sách các lớp của luồng ký tự.
Trang 23ký tự là "Xin chao"
-System.out là một luồng đầu ra
Trang 242 4
2 4
2.1 Biến và hằng số
2.1.1 Biến
Biến là đại lượng thay đổi; mỗi biến có 1 tên và địa chỉ vùng nhớ dành riêng cho nó
Khai báo biến :
< Kiểu dữ liệu > < Danh sách các biến >;
Ví dụ:
1 float x; /* khai báo 1 biến x có kiểu số thực */
2 int I, j ; /* khai báo 2 biến I, j có kiểu số nguyên */
Chương 2: Biến và kiểu dữ liệu
Trang 252.1 Biến và hằng số
2.1.2 Hằng
Hằng là đại lượng không thay đổi.
Khai báo hằng : # define < tên hằng > < giá trị>
Ví dụ:
1 # define MAX 100
2 # define pi 3.141593
* Một số hằng đặc biệt được viết theo qui ước như sau :
' \ " ' dấu nháy đơn' \" ' " dấu nháy kép' \\ ' \ dấu chéo ngược'\n ' \n ký tự xuống dòng' \0 ' \0 ký tự rỗng ( null)
Trang 262 6
2 6
- Kiểu float : biểu diễn các số thực độ chính xác định
- Kiểu double : biễu diễn các số thực độ chính xác kép
Chương 2: Biến và kiểu dữ liệu
Trang 275 float 3.4e *10-38 3.4e* 1038 4 bytes
6 double 1.7e * 10-308 1.7e *10308 8 bytes
2.2 Các kiểu dữ liệu (tt)
Trang 282 8
2 8
Trang 303 0
3 0
Phép toán tăng toán hạng
Trang 323 2
3 2
- Biểu thức điều kiện
< Biểu thức 1> ? <Biểu thức 2> : <Biểu thức 3> ;
Giá trị của biểu thức điều kiện bằng:
+ Biểu thức 2 nếu biểu thức 1 Đúng
+ Biểu thức 3 nếu biểu thức 1 Sai
Chương 2: Biến và kiểu dữ liệu
2.4 Biểu thức (tt)
Trang 333.1 If - else
Mệnh đề if trong java được sử dụng để kiểm tra giá trị
dạng boolean của điều kiện Mệnh đề này trả về giá trị
True hoặc False Có các kiểu của mệnh đề if-else trong java như sau:
Mệnh đề if Mệnh đề if-else Mệnh đề if-else-if
Trang 343 4
3 4
Chương 3: Cấu trúc điều khiển
3.1 If - else
Mệnh đề if
Mệnh đề if được sử dụng để kiểm tra giá trị dạng boolean của điều kiện Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True
Cú pháp:
if (condition)
{
// khối lệnh này thực thi
// nếu condition = true
}
Trang 363 6
3 6
Chương 3: Cấu trúc điều khiển
3.1 If - else
Mệnh đề if-else
Mệnh đề if-else cũng kiểm tra giá trị dạng boolean của điều kiện Nếu giá trị điều kiện là True thì chỉ có khối lệnh sau if sẽ được thực hiện, nếu là False thì chỉ có khối lệnh sau else được thực hiện
Cú pháp:
if (condition)
{
// khối lệnh này được thực thi
// nếu condition = true
} else
{
// khối lệnh này được thực thi
// nếu condition = false
}
Trang 373.1 If - else
Ví dụ
public class Test {
public static void main(String[] args)
{
int number = 15;
if (number % 2 == 0)
{ System.out.println("Số " + number + " là số chẵn.");
} else
{ System.out.println("Số " + number + " là số lẻ.");
}
}
}
Kết quả: Số 15 là số lẻ
Trang 383 8
3 8
Chương 3: Cấu trúc điều khiển
3.1 If - else
Mệnh đề if-else-if
Mệnh đề if-else-if cũng kiểm tra giá trị dạng boolean của điều kiện Nếu giá trị điều kiện if là True thì chỉ có khối lệnh sau if sẽ được thực hiện Nếu giá trị điều kiện if else nào là True thì chỉ có khối lệnh sau else if đó sẽ được thực hiện Nếu tất cả điều kiện của if và else if là False thì chỉ có khối lệnh sau else sẽ được thực hiện.
Cú pháp:
if (condition1) { // khối lệnh này được thực thi // nếu condition1 là true
} else if (condition2) { // khối lệnh này được thực thi // nếu condition2 là true
}
else { // khối lệnh này được thực thi // nếu tất cả những điều kiện trên là false }
Trang 39switch (<biểu thức nguyên>)
Trang 404 0
4 0
Giải thích
Bài 1: Câu lệnh điều khiển
Ban đầu kiểm tra biểu thức
- Nếu biểu thức = giá trị 1 thì thực hiện Lệnh 1
- Nếu biểu thức = giá trị 2 thì thực hiện Lệnh 2
Trang 424 2
4 2
while hoặc do while
Trang 444 4
4 4
4.1 Vòng lặp
Chương 4: Vòng lặp và mảng
Ví dụ
public class ForExample {
public static void main(String[] args)
{
for (int i = 1; i <= 10; i++)
{ System.out.println(i);
Vòng lặp for
Trang 45Vòng lặp while
Trong java được sử dụng để lặp một phần của chương trình một vài lần Nếu số lần lặp không được xác định trước thì vòng lặp lặp while được khuyến khích sử dụng trong trường hợp này.
Cú pháp:
while(condition) {
// Khối lệnh được lặp lại cho đến khi condition = False
}
Trang 464 6
4 6
Vòng lặp while
Trang 47Vòng lặp do-while
Trong java được sử dụng để lặp một phần của chương trình một vài lần Tương tự như vòng lặp while, ngoại trừ do-while thực hiện lệnh ít nhất một lần ngay cả khi điều kiện là False.
Trang 484 8
4 8
4.1 Vòng lặp
Chương 4: Vòng lặp và mảng
Ví dụ: tính tổng của 5 số tự nhiên đầu tiên
public class DoWhileExample1 {
public static void main(String[] args) {
Vòng lặp do-while
Trang 494.2 Mảng
4.2.1 Khái niệm
- Mảng (array) là một tập hợp các phần tử có cùng kiểu được lưu trữ gần nhau trong bộ nhớ.
- Mảng trong java là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau Mảng là một cấu trúc dữ liệu nơi lưu trữ các phần tử giống nhau Với mảng trong java
Trang 505 0
5 0
Trang 51System.out.println(cars[0]);
}
}
Kết quả: Honda
Trang 525 2
5 2
// thay đổi phần tử đầu tiên của mảng cars
cars[0] = "Morning";
// hiển thị phần tử đầu tiên của mảng cars
System.out.println("Phần tử đầu tiên: " + cars[0]);
}
}
Kết quả: Phần tử đầu tiên: Morning
Trang 53System.out.println("Độ dài của mảng cars là: " +
cars.length);
}
}
Kết quả: 4
Trang 545 4
5 4
for (int i = 0; i < cars.length; i++)
{ System.out.println(cars[i]);
}
}
}
Kết quả: HondaBMWFordMazda
Trang 554.2 Mảng
VD7: Sắp xếp mảng
import java.util.Arrays;
public class DuyetArray2 {
public static void main(String[] args) {
String[] cars = { "Honda", "BMW", "Ford",
Trang 565 6
5 6
Trang 57public class TestArray3
{ System.out.print(arr[i][j] + " ");
Trang 585 8
5 8
Ví dụ 2: cộng 2 ma trận (mảng đa chiều)
public class CongMaTran {
public static void main(String[] args) {
// tao hai ma tran
int a[][] = { { 1, 3, 4 }, { 3, 4, 5 } };
int b[][] = { { 1, 3, 4 }, { 3, 4, 5 } };
// tao ma tran khac de luu giu ket qua phep cong hai
ma tran
int c[][] = new int[2][3];
// cong va in tong hai ma tran
for (int i = 0; i < 2; i++) {
Trang 59Lớp ArrayList trong java là một lớp kế thừa lớp AbstractList và triển khai của List Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với List
ArrayList được sử dụng như một mảng động để lưu trữ các phần tử
Ưu điểm:
Lớp ArrayList trong java có thể chứa các phần tử trùng lặp
Lớp ArrayList duy trì thứ tự của phần tử được thêm vào
Lớp ArrayList là không đồng bộ (non-synchronized)
Lớp ArrayList cho phép truy cập ngẫu nhiên vì nó lưu dữ liệu theo chỉ mục
Lớp ArrayList trong java, thao tác chậm vì cần nhiều sự dịch chuyển
Trang 606 0
6 0
Trang 626 2
6 2
Trang 63// thêm các phần tử vào list
list.add("Java");
list.add("C++");
list.add("PHP");
list.add("Java");
// hiển thị các phần tử của list
System.out.println("Các phần tử có trong list là:
");
System.out.println(list);
Kết quả:
Các phần tử có trong list là:
[Java, C++, PHP, Java]
Trang 646 4
6 4
4.3 ArrayList
Vd4: Duyệt các phần tử của ArrayList - sử dụng vòng lặp for
Kết quả:
JavaC++
PHPJava
import java.util.ArrayList;
public class DuyetArrayList2 {
public static void main(String[] args)
// sử dụng vòng lặp for - hiển thị các phần tử của list
System.out.println("Các phần tử có trong list là: ");
for (int i = 0; i < list.size(); i++) {
Trang 65Kết quả:Java
ArrayList<String> list = new ArrayList<String>();
// thêm các phần tử vào list
Trang 666 6
6 6
ArrayList<String> list = new ArrayList<String>();
// thêm các phần tử vào list
[Java, C++, PHP, Python]
Trang 67System.out.println("Số phần tử list ban đầu : " + list);
System.out.println("Các phần tử clist ban đầu: " +
list.size());
list.clear(); hoặc list.remove();
System.out.println("\nSố phần tử list sau khi clear: " + list);
System.out.println("Các phần tử list sau khi clear: " +
list.size());
Số phần tử list ban đầu : [Java, C++, PHP, Python] Các phần tử list ban đầu: 4
Số phần tử list sau khi clear: []
Các phần tử list sau khi clear: 0
Trang 686 8
6 8
Chương 5: Chuỗi và biểu thức chính qui
String s = new String(ch); //convert mảng char thành chuỗi
String s = “hello"; //Tạo chuỗi bằng string literal
String s = new String(“hello"); //Tạo chuỗi bằng từ khóa new
5.1 Chuỗi
Trang 695.1 Chuỗi
Nối chuỗi trong java
Trong java, việc nối chuỗi để tạo thành một chuỗi mới là sự kết hợp của nhiều chuỗi
Có 2 cách để nối chuỗi: Sử dụng toán tử + và sử dụng phương thức concat()
public class TestStringConcatenation1
Vd1: Nối chuỗi bằng toán tử +
Output: Hello Java !