NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HỒ CHÍ MINH KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ CƠ SỞ LẬP TRÌNH BÁO CÁO BÀI TẬP NHÓM Đề tài Tìm hiểu về ngôn ngữ lập trình Ja[.]
Trang 1NGÂN HÀNG NHÀ NƯỚC VIỆT NAM - BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HỒ CHÍ MINH
KHOA: HỆ THỐNG THÔNG TIN QUẢN LÝ
CƠ SỞ LẬP TRÌNH BÁO CÁO BÀI TẬP NHÓM
Đề tài: Tìm hiểu về ngôn ngữ lập trình Java
Thành viên và nhiệm vụ của nhóm:
030237210066 Lưu Thị Thu Hà -Tổng quan về ngôn ngữ lập trình Java
-Viết chương trình số 3
030237210181 Phan Thị Anh Thư
-Mảng một chiều trong Java -Viết chương trình số 4 -Tổng hợp lý thuyết
030237210182 Võ Huỳnh Anh Thư
-Tìm hiểu kiểu dữ liệu, hằng, biến trong Java
-Viết chương trình số 1, 2 -Tổng hợp code
030237210137 Trần Cao Bảo Nhiên -Chương trình con Java
Trang 2MỤC LỤC
I TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA 3
1 Giới thiệu về ngôn ngữ lập trình Java 3
1.1 Java là gì ? 3
1.2 Lịch sử phát triển của ngôn ngữ lập trình Java 3
2 Đặc điểm của ngôn ngữ lập trình Java 4
3 Mức độ phổ biến của ngôn ngữ lập trình Java 5
4 Ứng dụng của ngôn ngữ lập trình Java 5
II KIỂU DỮ LIỆU, HẰNG, BIẾN, BIỂU THỨC 5
1 Kiểu dữ liệu: 5
2 Khai báo biến: 6
3 Khai báo hằng: 6
4 Khai báo biểu thức: 6
III CHƯƠNG TRÌNH CON TRONG JAVA 6
IV MẢNG MỘT CHIỀU TRONG JAVA 7
V CÁC CHƯƠNG TRÌNH MẢNG 1 CHIỀU 11
Chương trình 1: 11
Chương trình 2: 12
Chương trình 3: 13
Chương trình 4: 14
Trang 3I TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA
1 Giới thiệu về ngôn ngữ lập trình Java
1.1 Java là gì ?
Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm
1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng
1.2 Lịch sử phát triển của ngôn ngữ lập trình Java
Java được khởi đầu bởi James Gosling và các cộng sự của công ty Sun MicroSystem năm 1991
Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng như tivi, máy giặt, lò nướng,…và có tên là Oak tương tự như C++ nhưng loại
bỏ một số tính năng nguy hiểm của C++ và có khả năng chạy trên nhiều nền phần cứng khác nhau Cùng lúc đó world wide web bắt đầu phát triển và Sun đã thấy được tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến và phát triển Sau đó không lâu ngôn ngữ mới với tên gọi là Java (tên một hòn đảo ở Indonesia - hòn đảo nổi tiếng với loại coffee Peet) ra đời và được giới thiệu năm 1995
Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem
Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện
có môi trường thực thi thích hợp hỗ trợ nền tảng đó
Mục đích của Java để phát triển ứng dụng cho các thiết bị điện tử thông minh Hiện nay Java được sử dụng để phát triển nhiều loại ứng dụng khác nhau như: Cơ
sở dữ liệu, mạng, Internet, games, viễn thông,…
Trang 42 Đặc điểm của ngôn ngữ lập trình Java
▪ Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những
đặc điểm của ngôn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun
đã cẩn thận lược bỏ các tính năng khó nhất của của C++ để làm cho ngôn ngữ này
dễ sử dụng hơn
▪ Hướng đối tượng: Tương tự như C++ nhưng Java là một ngôn ngữ lập trình
hướng đối tượng hoàn toàn Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface
để hỗ trợ tính đa kế thừa
▪ Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an toàn: Java yêu cầu chặt chẽ về kiểu dữ liệu và phải mô tả rõ ràng khi viết chương
trình Chúng sẽ kiểm tra lúc biên dịch và cả trong thời gian thông dịch, vì vậy Java loại bỏ các kiểu dữ liệu dễ gây lỗi
▪ Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability)
▪ Hiệu suất cao
▪ Máy ảo (biên dịch và thông dịch)
▪ Phân tán: Java có thể được dùng để xây dựng làm việc trên nhiều phần cứng, hệ
điều hành và giao diện đồ họa Java được thiết kế cho các ứng dụng chạy trên mạng
Vì vậy chúng được sử dụng rộng rãi trên Internet, nơi sử dụng nhiều nền tảng khác nhau
▪ Đa nhiệm - đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình đa
nhiệm, đa luồng cho phép nhiều tiến trình, tiến trình có thể chạy song song cùng một thời điểm và tương tác với nhau
Trang 53 Mức độ phổ biến của ngôn ngữ lập trình Java
Code Java làm việc lý tưởng trên tất cả các thiết bị và hệ điều hành, miễn là được cài đặt Java Runtime Enviroment Dựa trên khảo sát gần đây nhất từ PYPL và TIOBE thì Java vẫn là một trong các ngôn ngữ lập trình được yêu thích nhất
Ngôn ngữ Java được ứng dụng rộng rãi trong việc phát triển ứng dụng Web, Mobile, Big Data, Dịch vụ tài chính,… Có thể thấy, ngôn ngữ Java không những được yêu thích mà còn là một trong nhiều ngôn ngữ lập trình phổ biến nhất
4 Ứng dụng của ngôn ngữ lập trình Java
▪ Thiết kế những trang web có tính bảo mật cao: internet banking, kiểm toán, xử
lí dữ liệu, bảo mật thông tin, …
▪ Trong lĩnh vực giao dịch chứng khoán
▪ Xây dựng các ứng dụng website
▪ Phát triển các ứng dụng cho hệ điều hành Android
▪ Phát triển trò chơi
▪ Java được sử dụng trong các lĩnh vực đa dạng: các công nghệ khoa học dữ liệu lớn để xử lý các ngôn ngữ tự nhiên; lĩnh vực tài chính ngân hàng; đầu tư chứng khoán, …
II KIỂU DỮ LIỆU, HẰNG, BIẾN, BIỂU THỨC
1 Kiểu dữ liệu:
Có 8 kiểu dữ liệu nguyên thủy được hỗ trợ bởi ngôn ngữ lập trình Java
Trang 6Kiểu dữ liệu Kích cỡ Phạm vi
short 2 bytes -32,768 đến 32,767
int 4 bytes -2,147,483,648 đến 2,147,483,647
long 8 bytes -9,223,372,036,854,775,808 đến
9,223,372,036,854,775,807
float 4 bytes Đủ để lưu trữ từ 6 đến 7 chữ số thập phân
double 8 bytes Đủ để lưu trữ 15 chữ số thập phân
boolean 1 byte Lưu trữ giá trị True hoặc False
char 2 bytes Lưu trữ một ký tự / chữ cái hoặc các giá trị ASCII
2 Khai báo biến:
• byte number = 5;
• int so = 10;
• boolean giatri = True;
3 Khai báo hằng:
• final int hangso = 5;
4 Khai báo biểu thức:
int a = 1, b = 2 ,c;
c = a + b - 1;
III CHƯƠNG TRÌNH CON TRONG JAVA
Cú pháp
Trang 7Giải thích
▪ Modifiers (tạm dịch là phạm vi sửa đổi và truy cập)
▪ returnType: kiểu dữ liệu trả về
kiểu dữ liệu khác nhau)
Được chia ra làm 2 loại hàm:
• Hàm trả về kết quả
Đối với hàm có kết quả trả về, chúng ta cần dùng từ khoá return để trả về
kết qủa mà nó đã tính toán được
Khai báo biến có kiểu dữ kiệu tương ứng với kết quả trả về của hàm để nhận giá trị trả về
• Hàm không trả về kết quả
IV MẢNG MỘT CHIỀU TRONG JAVA
- Mảng một chiều:
+ Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu và các phần tử được lưu
trữ trong một dãy các ô nhớ liên tục trên bộ nhớ
+ Mỗi phần tử của mảng một chiều được truy xuất bởi tên mảng và vị trí của phần tử trong mảng gọi là chỉ số (index) được đặt trong cặp dấu ngoặc vuông [] Chỉ số mảng luôn bắt đầu từ 0 đến tổng số phần tử trong mảng trừ cho 1
Trang 8-Khai báo mảng một chiều: Để khai báo mảng một chiều ta cần xác định 3 yếu
tố :
+ Kiểu dữ liệu của mảng
+ Tên của mảng
+ Số lượng các phần tử (kích thước) của mảng
*Một số thao tác với mảng một chiều:
+ Khai báo:
• Khai báo không khởi tạo:
Cú pháp: <Kiểu dữ liệu> [] <tên mảng>;
hoặc
<Kiểu dữ liệu> <Tên mảng> [];
hoặc
<Kiểu dữ liệu> <Tên mảng> [] = new <Kiểu dữ liệu> []
Ví dụ: int [] a; // mảng số nguyên chưa biết số phần tử
int b []; // mảng số nguyên chưa biết số phần tử
String c [] = new String [7]; // mảng chứa 7 chuỗi
• Khai báo có khởi tạo:
Cú pháp: <Kiểu dữ liệu> [] <Tên mảng> = {<phần tử 1>, …};
Hoặc
<Kiểu dữ liệu> [] <Tên mảng> = new <Kiểu dữ liệu> [] {<phần tử 1>, …};
Trang 9Ví dụ: double [] d= {5,6,7,8,9}; // mảng số thực, 5 phần tử đã được khởi tạo
int [] e= new int [] {10,11,13}; // mảng số nguyên, 3 phần tử
đã được khởi tạo
+ Truy xuất (đọc, ghi) đến các phần tử của mảng:
Cú pháp: <Tên mảng> [Chỉ số phần tử];
Ví dụ: int [] arr= {2,4,6}; //khai báo mảng
System.out.println (“Phan tu thu 2 cua mang la: “+ arr[2]);
Kết quả trả về là: Phan tu thu nhat cua mang la: 6
+ Lấy số phần tử của mảng:
Cú pháp: <Tên mảng> length ;
Ví dụ: char KyTu [] = new char [] {‘T’, ‘H’, ‘U’}; // khai báo mảng
System.out.println (“So phan tu của mang KyTu la: “, +
KyTu.length); // Kết quả trả về: So phan tu của mang KyTu la: 3
+ Duyệt mảng: 2 vòng lặp thường được dùng để duyệt mảng là for và for- each
• Vòng lặp for-each:
Cú pháp: for ( <Kiểu dữ liệu> <Biến> : <Tên mảng> {//Khối lệnh thựcthi};
Ví dụ:
int So []=new int [] {2,5,6,7};
for (int x: So) {
System.out.println(""+ x);
}
Trang 10// Kết quả trả về: 2
// 5
// 6
// 7
• Vòng lặp for:
Cú pháp: for ( <Biến khởi tạo>; <Biểu thức điều kiện>;<Thay đổi biến> {//Khối lệnh thực thi};
Ví dụ:
int So []=new int [] {2,5,6,7};
for (int i=0; i<So.length;i++) {
System.out.println(""+ So[i]);
}
// Kết quả trả về: 2
// 5
// 6
// 7
* Một số phương thức xử lý mảng:
int a [] = {2,3,5,6,7,9}
<T> List <T> asList (T…a) Chuyển một mảng sang List với kiểu
tương ứng
Ví dụ: List <Integer> b=
Arrays.asList(a);
int binarySearch (Object [] a, Object
key)
Tìm vị trí xuất hiện đầu tiên của một phần tử trong mảng
Trang 11Ví dụ: int i= Arrays.binarySearch (a,8);
void sort (Object [] a) Sắp xếp các phần tử theo thứ tự tăng
dần
Ví dụ: Arrays.sort(a);
String toString (Object [] a) Chuyển mảng thành chuỗi và các phần
tử cách nhau bởi dấu phẩy
Ví dụ: String s = Arrays.toString(a);
void fill (Object [] a, Object val) Gán 1 giá trị cho tất cả các phần tử của
mảng
Ví dụ: Arrays.fill(a,2);
V CÁC CHƯƠNG TRÌNH MẢNG 1 CHIỀU
Chương trình 1:
package bainhom;
public class groupMates {
static void welcome(String name) {
System.out.println( "Hello, " + name);
}
public static void main(String[] args) {
String[] name = { "Thu Vo" , "Thu Ha" , "Phan Thu" , "Bao Nhien" };
for (int = 0; i < 4; i++) {
welcome(name[ ]) ;
} }
}
Trang 12Chương trình 2:
package bainhom;
public class TenSanPham {
static void tensanpham(String names) {
int sotenSanpham = names length ; System.out.println( "So san pham: " + sotenSanpham);
for (String name : names) { System.out.println(name);
} }
public static void main(String[ ] args) {
tensanpham("Iphone 14 promax" , "Samsung Galaxy Z Fold" ,
"Macbook Air" );
} }
Trang 13Chương trình 3:
package bainhom;
public class Mate {
public static void main(String[] args) {
// Tổng các số lẽ trong mảng
int arr[] = {2,3,4,5,6,7,8,9};
int sum=0;
for(int =0;i<8;i++) {
if(arr[ ]%2==1) {
} }
System.out.println(sum);
System.out.println();
// In ra mảng đã nhập
float [] = {4,5,6,8};
for (float : a) { System.out.println(i);
System.out.println();
} // In 1 phần tử trong mảng
Trang 14String[] name = { "Thu Ha" , "Thư Vo" , "Phan Thu" , "Bao Nhien" };
System.out.println(name[0]);
}
}
Chương trình 4:
package bainhom;
import java.util.Arrays;
public class Assignment {
public static void main(String[] args) {
System.out.println( "Chuong trinh xu ly mang mot chieu: " );
String SinhVien []= new String [] { "Thanh" , "Binh" , "Ngoc" ,
"Quang" , "An" };
Alphabetize(SinhVien);
int Numbers []= new int [] {23,12,9,5,3};
MinNum(Numbers);
Average(Numbers);
}
Trang 15public static void Alphabetize( String SinhVien []) {
for (int =0; i SinhVien length -1;i++) {
for (int = +1; j SinhVien length ; ++){
if (SinhVien[ ].compareTo(SinhVien[ ])>0){
String temp=SinhVien[ ];
SinhVien[ ]=SinhVien[ ];
SinhVien[ ]=temp;
}
} }
System.out.println( "Mang Sinh Vien sau khi sap xep la: " +
Arrays.toString(SinhVien));
}
public static void MinNum (int Numbers []) {
int min= Numbers[0];
for (int =0; i Numbers length ; ++ ) {
if (Numbers[ ]<min) { min=Numbers[ ];
} } System.out.println( "Gia tri nho nhat cua mang la: " + min);
}
public static void Average (int Numbers []) {
int sum=0;
for (int =0; i Numbers length ; i++){
sum=sum+Numbers[ ];
}
System.out.println( "Trung binh cong cac phan tu trong mang la: " + (float)sum/Numbers length );
}
}