Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java

Nội dung

Môi trường lập trình

Chương trình đầu tiên

Kiểu dữ liệu

Nhập & xuất ở màn hình Console

Các cú pháp rẽ nhánh, lặp

Mảng một chiều

Mảng hai chiều

 

pptx 109 trang phuongnguyen 6640
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java

Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java
 Chương 1 :  Lập trình cơ bản với ngôn ngữ JAVA 
Môi trường, cấu trúc chương trình, kiểu dữ liệu 
Nội dung 
Môi trường lập trình 
Chương trình đầu tiên 
Kiểu dữ liệu 
Nhập & xuất ở màn hình Console 
Các cú pháp rẽ nhánh, lặp 
Mảng một chiều 
Mảng hai chiều 
Môi trường lập trình 
Netbeans IDE 7.2 
Môi trường lập trình 
Download:  
Platform : 
Windows 
Linux 
Solaris 
Mac OS X 
Chương trình đầu tiên 
File 🡪 New Project  
Chương trình đầu tiên 
Thiết lập: Project name, location, folder 🡪 Finish 
Chương trình đầu tiên 
Chương trình đầu tiên 
Chương trình xuất ra màn hình console chuỗi "Hello World" 
Chương trình đầu tiên: 
Hàm main 
	public static void main (String[] args) { 
	 // TODO code application logic here 
	String s = new String("Hello World"); 
	System.out.println(s); 
	} 
Một chương trình JAVA phải có 1 hàm main. Hàm main là điểm bắt đầu của chương trình (Entry Point) 
Chương trình đầu tiên 
Cấu hình Entry Point cho chương trình: 
Chọn project 🡪 Properties🡪 Run 🡪 Main Class: 
Chương trình đầu tiên 
Ghi chú: 
//Ghi chú trên 1 dòng 
/* 
	Ghi chú trên nhiều dòng 
*/ 
 /** 
 * @param args the command line arguments: Ghi chú để sử dụng tạo ra các tài liệu Java doc 
 */ 
Chương trình đầu tiên 
Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh: 
Hai lệnh cơ bản: 
javac : Biên dịch các tập tin *.java thành tập tin thực thi *.class 
java : Chạy chương trình từ các tập tin sau khi biên dịch 
Sau khi cài JDK, kiểm tra các lệnh java, javac đã sẳn sàng hay chưa?: 
Lỗi 
Chương trình đầu tiên 
Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh: 
Nếu chưa: 
1. Tìm đường dẫn thư mục đã cài đặt JDK/bin 
2. Thay đổi biến môi trường PATH 
Control Panel 🡪 System 🡪 Advance System Setting 🡪 Enviroment Variables 
Bổ sung đường dẫn của thư mục cài đặt JDK/bin vào biến PATH 
3. Tắt và mở lại cửa sổ command line và thực thi lại để kiểm tra. 
Ví dụ: C:\Program Files (x86)\Java\jdk1.7.0_06\bin 
Chương trình đầu tiên 
Chương trình đầu tiên 
Khi các lệnh java và javac đã sẳn sàng: 
OK 
OK 
Chương trình đầu tiên 
Giả sử project HelloWorld ở đường dẫn: C:\Users\TruongSon\Documents\NetBeansProjects\HelloWorld 
Chương trình đầu tiên 
1. Biên dịch lớp HelloWorld.java, kết quả biên dịch được bỏ vào trong thư mục classes 
2. Thực thi lớp HelloWorld nằm trong package helloworld: 
C:\Users\..\HelloWorld> javac -d " classes " "src/helloworld/HelloWorld.java" 
C:\Users\..\HelloWorld> java -classpath " classes " helloworld.HelloWorld 
Biên dịch và thực thi bằng command line 
Chương trình đầu tiên 
Biên dịch và thực thi bằng Netbeans 
Kiểu dữ liệu và khai báo biến 
Kiểu dữ liệu thường dùng: 
Số nguyên: int , long 
Số thực: float , double 
Chuỗi: char , String 
Ngày: Date 
Khai báo biến: 
KieuDuLieu TenBien; 
KieuDuLieu TenBien = GiaTri; 
Kiểu dữ liệu 
Chuyển đổi kiểu dữ liệu sang chuỗi: 
String String. valueOf ( Object obj) 
String String. valueOf ( boolean b) 
String String. valueOf ( char c) 
String String. valueOf ( char [] data) 
String String. valueOf ( char [] data, int offset, int count) 
String String. valueOf ( boolean b) 
String String. valueOf ( int i) 
String String. valueOf ( long l) 
String String. valueOf ( float f) 
String String. valueOf ( double d) 
Kiểu dữ liệu 
Chuyển đổi kiểu dữ liệu sang kiểu int / Integer , long/Long 
Integer Integer. valueOf (String str) 
Integer Integer. valueOf (int i) 
int Integer. valueOf (String str). intValue () 
int i Integer. parseInt (String str) 
Long Long. valueOf (String str) 
Long Long. valueOf (long l) 
long l = Long. parseLong (String str) 
long i = Long. valueOf (String str). longValue () 
(*) int, long: kiểu dữ liệu cơ sở 
(**) Integer, Long : Kiểu dữ liệu Lớp hướng đối tượng 
Kiểu dữ liệu 
Chuyển đổi kiểu dữ liệu sang kiểu float/ Float, double/Double 
Float Float. valueOf (String str) 
Float Float. valueOf (int i) 
float Float. valueOf (String str). floatValue () 
float Float. parseFloat (String str) 
Double Double. valueOf (String str) 
Double Double. valueOf (double l) 
double Double. valueOf (String str). doubleValue () 
double Double. parseDouble (String str) 
(*) float, double: kiểu dữ liệu cơ sở 
(**) Float, Double: Kiểu dữ liệu Lớp hướng đối tượng 
Chuyển đổi kiểu dữ liệu sang kiểu ngày: 
//Ngày tháng năm 
SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); 
Date d= sdf. parse ("20/3/2000"); 
//Năm tháng ngày 
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd"; 
Date d= sdf. parse ("2000-3-20"); 
//Tháng ngày năm 
SimpleDateFormat sdf = new SimpleDateFormat ("MM/dd/yyyy"); 
Date d= sdf. parse ("3/20/2000"); 
Hằng số 
Khai báo: 
final KieuDuLieu TENHANGSO = GiaTri ; 
Ví dụ: 
final double PI = 3.14 ; 
Toán tử 
+, -, *, /, % 
++, -- 
+=, -=, *=, /= , %= 
& , | , ! 
&&, || 
Nhập liệu từ màn hình console 
Thư viện: 
java.util.Scanner; 
Sử dụng: 
Scanner scan = new Scanner (System.in); 
String str = scan. nextLine (); 
Xuất ra màn hình console 
Cú pháp: 
System.out. print (); 
System.out. println (); 
Ví dụ: 
System.out. print ( "Hello World" ); 
String s = "Hello World" ; 
System.out. println (s); 
Nhập & Xuất từ màn hình console 
Định dạng xuất 
%b : boolean 
%c : char 
%d : int, long 
%f : float, double 
%s : String 
Định dạng xuất 
Cú pháp: 
 String.format("định dạng", tham số 1, , tham số n); 
Ví dụ 
 int n = 100; 
 double m = 20.8; 
 String str = String.format ("n = %d, m= %f", n, m); 
 System.out.println (str); 
Định dạng xuất 
Ví dụ 
String mssv= "0212055" ; 
String hoVaTen = "Trần Duy Thảo" ; 
Double diem = 9.5; 
//Xuất theo cách thông thường 
System.out. println (mssv + "-" + hoVaTen + ":" + diem); 
//Xuất sử dụng định dạng xuất 
String str = String. format ("%s - %s : %f", mssv, hoVaTen, diem); 
System.out. println (str); 
if 
1 
2 
3 
4 
5 
if ( biểu thức điều kiện ) { 
lệnh 1; 
... 
lệnh n 
} 
1 
2 
3 
4 
5 
6 
Scanner scan = new Scanner (System.in); 
String str = scan. nextLine (); 
int n = Integer.parseInt(str); 
if ( n > 0 ) { 
System.out.println(“n là số dương"); 
} 
if - else 
1 
2 
3 
4 
5 
if ( biểu thức điều kiện ) { 
... 
} else { 
... 
} 
1 
2 
3 
4 
5 
6 
7 
8 
System.out. println ("n="); 
Scanner scan = new Scanner (System.in); 
int n = Integer.parseInt(scan. nextLine ()); 
if ( n > 0 ) { 
System.out. println ("n là số dương"); 
} else { 
System.out. println ("n là số âm"); 
} 
if - else if - else 
1 
2 
3 
4 
5 
8 
9 
10 
11 
if ( biểu thức điều kiện ) { 
... 
} else if ( biểu thức điều kiện ) { 
... 
} else if ( biểu thức điều kiện ) { 
... 
} else { 
... 
} 
if - else if - else 
1 
2 
3 
4 
5 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
Scanner scan = new Scanner(System.in); 
System.out.print( "Điểm trung bình:" ); 
int diem = Integer.parseInt(scan.nextLine()); 
if (diem>=9) { 
System.out.println( "Xuất sắc" ); 
} else if (diem>=8 && diem<9) { 
System.out.println( "Giỏi" ); 
} else if (diem>=7 && diem <8) { 
System.out.println( "Khá" ); 
} else if (diem>=5 && diem <7) { 
System.out.println( "Trung bình" ); 
} 
else { 
System.out.println( "Dưới trung bình" ); 
} 
switch - case 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
switch ( giá trị ){ 
case giá trị 1 : 
... 
break ; 
... 
case giá trị N : 
... 
break ; 
default : 
} 
Lưu ý: 
Giá trị : char, byte, short, int 
Giá trị 1 , giá trị 2 có cùng kiểu dữ liệu với giá trị 
Cấu trúc lặp while 
1 
2 
3 
while (điều kiện lặp) { 
... 
} 
1 
2 
3 
4 
5 
6 
7 
8 
9 
Scanner scan = new Scanner (System.in); 
System.out.print( "Nhập n:" ); 
int n = Integer.parseInt(scan.nextLine()); 
int s=0; 
int i=1; 
while (i<=n) { 
s = s + i; 
i ++; 
} 
System.out.println(“ S=" +s); 
Cấu trúc lặp do while 
1 
2 
3 
do { 
} while (điều kiện lặp) 
1 
2 
3 
4 
5 
6 
Scanner scan = new Scanner (System.in); 
int n; 
do { 
System.out.print("Nhập n:"); 
n = Integer.parseInt(scan.nextLine()); 
} while (n =10) 
Cấu trúc lặp for 
1 
2 
3 
4 
for (khởi tạo biến; điều kiện lặp; hành động sau mỗi lần lặp) 
{ 
... 
} 
1 
2 
3 
4 
5 
6 
7 
8 
Scanner scan = new Scanner (System.in); 
System.out.print(“Nhập n:"); 
int n = Integer.parseInt(scan.nextLine()); 
int s=0; 
for (int i=1; i<=n; i++){ 
s = s + i; 
} 
System.out.println(“S=“+s); 
break 
Phạm vi sử dụng 
Sử dụng trong for, while, do-while 
Công dụng 
Thoát khỏi vòng lặp 
1 
2 
3 
4 
5 
6 
7 
8 
Scanner scan = new Scanner (System.in); 
System.out.print(“Nhập n:"); 
int n = Integer.parseInt(scan.nextLine()); 
for (int i=1; i<=n; i++){ 
System.out.print(i+" “); 
if(i==5){ 
break; 
} 
} 
continue 
Phạm vi sử dụng 
Sử dụng trong for, while, do-while 
Công dụng 
Bỏ qua bước lặp hiện tại, quay trở lại vòng lặp để thực hiện tiếp 
1 
2 
3 
4 
5 
6 
7 
8 
9 
Scanner scan = new Scanner (System.in); 
System.out.print (“Nhập n:"); 
int n = Integer.parseInt(scan.nextLine()); 
for ( int i=1; i<=n; i++){ 
if(i==5){ 
continue; 
} 
System.out.print(i+" “); 
} 
Math 
Một số hàm số học phổ biến : 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
double Math. abs (double d) 
double Math. sqrt (double d) 
double Math. min (double a, double b) 
double Math. max (double a, double b) 
double Math. exp (double e) 
double Math. round (double r) 
double Math. pow (double a, double b) 
double Math. random () 
double Math. PI 
double Math. E 
Math 
Ví dụ: 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
//sqrt 
double d = 9.5; 
double s = Math.sqrt (d); 
//pow 
double a = 2.3; 
double b = Math.pow (b, 3); 
//min – max 
double c = 6; 
double d = 9.2; 
double min = Math.min (c, d); 
double max = Math.max (c, d); 
Console Menu 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
//Xuất menu chọn chức năng sử dụng do  while, switch  case 
public static void main(String[] args){ 
 System.out.println( "--------------------------------" ); 
 System.out.println( "------DEMO JAVA PROGRAMMING ----" ); 
 System.out.println( "--------------------------------" ); 
 System.out.println( "CAC CHUC NANG: " ); 
 System.out.println( "1. Chuc nang 1" ); 
 System.out.println( "2. Chuc nang 2" ); 
 System.out.println( "3. Chuc nang 3" ); 
 System.out.println ("4. Chuc nang 4" ); 
 System.out.println( "0. THOAT" ); 
 Scanner scan = new Scanner(System.in); 
 int nChucNang = -1; 
Console Menu 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
 while (nChucNang != 0) { 
 System.out.print("Vui long chon chuc nang 0-5: "); 
 nChucNang = Integer.parseInt(scan.nextLine()); 
 switch (nChucNang){ 
 case 1: 
 System.out.println( "BAN VUA CHON CHUC NANG 1 " ); break; 
 case 2: 
 System.out.println( "BAN VUA CHON CHUC NANG 2 " ); break; 
 case 3: 
 System.out.println( "BAN VUA CHON CHUC NANG 3 " ); break; 
 case 4: 
 System.out.println( "BAN VUA CHON CHUC NANG 4 " ); break; 
 case 0: 
 System.out.println ("BAN VUA CHON THOAT !!! " );break; 
 } 
 } 
 } 
Mảng một chiều 
(1) Khai báo: 
Cách 1: KieuDuLieu[ ] tenBien ; 
Cách 2: KieuDuLieu tenBien [ ] ; 
Lưu ý: Chỉ số mảng: bắt đầu từ 0 
Ví dụ: 
0 
1 
2 
3 
6 
7 
5 
4 
Chỉ số mảng 
1 
2 
3 
4 
5 
6 
int [] arr1 ; //Khai báo mảng kiểu int 
long [] arr2 ; //Khai báo mảng kiểu long 
float [] arr3 ; //Khai báo mảng kiểu float 
double [] arr4 ; //Khai báo mảng kiểu double 
boolean [] arr5 ; //Khai báo mảng kiểu boolean 
String [] arr6 ; //Khai báo mảng kiểu string 
Mảng một chiều 
(2) Cấp phát vùng nhớ: 
Cách 1: 
KieuDuLieu [] tenBien = new KieuDuLieu [ n ] ; 
Cách 2: 
KieuDuLieu [] tenBien ; 
tenBien = new KieuDuLieu [ n ]; 
Ví dụ: 
1 
2 
3 
4 
5 
6 
7 
int [] arr1 = new int [5]; //Khai báo và cấp phát mảng kiểu int , a.length = 5 
long [] arr2 = new long [5]; // Khai báo và cấp phát mảng kiểu long , a.length = 5 
float [] arr3 = new float [7]; //Khai báo và cấp phát mảng kiểu float, a.length = 7 
String [] arr6 = new String [6]; //Khai báo và cấp phát mảng kiểu string, a.length = 6 
Mảng một chiều 
(3) Khởi tạo mảng: 
Cách 1 
int [] arr = {1, 3, 5, 7, 9}; //a.length = 5 
Cách 2 
int [] arr = new int[5 ]; 
arr [0]=1; 
arr [1]=3; 
arr [2]=5; 
arr [3]=7; 
arr [4]=9; 
Mảng một chiều 
(3) Khởi tạo mảng 
Ví dụ: 
//Khởi tạo mảng một chiều kiểu long 
long [] arr1 = {1, 3, 5, 7, 9}; //a.length = 5 
//Khởi tạo mảng một chiều kiểu float 
float [] arr2 = { ( float ) 1.3, ( float ) 3.2, ( float ) 5.5}; //a.length = 3 
//Khởi tạo mảng một chiều kiểu double 
double [] arr2 = {2.3, 7.2, 9.5}; //a.length= 3 
//Khởi tạo mảng một chiều kiểu string 
String [] ngay = { 
 "chủ nhật","thứ hai","thứ ba", 
 "thứ tư","thứ năm","thứ sáu","thứ bảy" 
}; //a.length= 7 
Mảng một chiều 
(4) Xuất mảng 
Cách 1: sử dụng cấu trúc lặp foreach 
//tenBien lần lượt là các phần tử bên trong mảng 
for (KieuDuLieu tenBien : tenMang){ 
 Các câu lệnh; 
} 
Ví dụ: 
1 
2 
3 
4 
5 
6 
//Xuất các phần tử của mảng các số nguyên a 
System.out. println ( "Xuất mảng dùng foreach" ); 
System.out. println ( "Số phần tử của mảng " + a.length); 
for (int pt : a ){ 
 System.out. println (pt); 
} 
Mảng một chiều 
(4) Xuất mảng 
Cách 2: Sử dụng cấu trúc lặp for để xuất mảng 
Ví dụ: 
1 
2 
3 
4 
5 
System.out. println (" Xuất mảng dùng for bình thường "); 
System.out. println (" Số phần tử của mảng " + a.length); 
for (int i=0 ; i<a.length; i++){ 
 System.out. println (a[i]); 
} 
Mảng một chiều 
(5) Nhập mảng: 
1 
2 
3 
4 
5 
6 
7 
System.out.print( "Số phần tử của mảng là " ); 
int n = Integer.parseInt (scan. nextLine ()); 
int [] a = new int [n]; //a.Length = n 
for ( int i = 0; i < a.length; i++) { 
System.out.print("a["+i+"]="); 
a[i] = Integer.parseInt (scan. nextLine ()); 
} 
Mảng một chiều 
(6) Xuất mảng: 
1 
2 
3 
4 
5 
6 
7 
8 
9 
System.out. println ("Số phần tử của mảng " + a.length); 
//Xuất mảng dùng for 
for ( int i = 0; i < a.length; i++) { 
System.out. println (a[i]); 
} 
//Xuất mảng dùng foreach 
for ( int pt : a) { 
System.out. println (pt); 
} 
Mảng một chiều 
(7) Một số bài toán trên mảng 1 chiều: 
Tính tổng các phần tử của mảng 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
//Tính tổng dùng for 
int s = 0; 
for ( int i = 0; i < a.length; i++) { 
s = s + a[i]; 
} 
System.out. println (" s = {0} ", s); 
//Tính tổng dùng foreach 
s = 0; 
for ( int pt : a) { 
s = s + pt; 
} 
System.out. println (" s = " + s); 
Mảng một chiều 
(8) Một số bài toán trên mảng 1 chiều: 
Sắp xếp mảng tăng dần 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
int i, j; 
int min, temp; 
for (i = 0; i < a.length - 1; i++) { 
min = i; 
for (j = i + 1; j < a.length; j++) { 
if (a[j] < a[min]) { 
min =  ... 
MangSoNguyen msn3=new MangSoNguyen (3, 2, 8); 
MangSoNguyen msn4=new MangSoNguyen (4, 9, 1, 5); 
int [] arr = {3,4,7}; 
MangSoNguyen msn5=new MangSoNguyen (arr); 
//Sử dụng phương thức khởi tạo sao chép 
MangSoNguyen msn6=new MangSoNguyen (mps3); 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
package tenpackage; 
public class TenLop{ 
//Khai báo các thuộc tính 
private KieuDuLieu thuocTinh1; . . . 
private KieuDuLieu thuocTinhN ; //Các phương thức khởi tạo đối tượng ... 
//Các phương thức get/set 
public KieuDuLieu getThuocTinh1() { 
return thuocTinh1; 
} public void setThuocTinh1(KieuDuLieu thuocTinh1) { 
this .thuocTinh1 = thuocTinh1; 
} 
... 
public KieuDuLieu getThuocTinhN() { 
return thuocTinhN; 
} public void setThuocTinhN(KieuDuLieu thuocTinhN) { 
this .thuocTinhN = thuocTinhN; 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
public class PhanSo{ 
//Khai báo các thuộc tính private int tuSo; 
private int mauSo ; 
//Phương thức khởi tạo đối tượng//Các phương thức get/set public int getTuSo() { 
return tuSo; 
} 
public void setTuSo( int tuSo) { 
this .tuSo = tuSo; 
} public int getMauSo() { 
return mauSo; 
} 
public void setMauSo( int mauSo) { 
if (mauSo != 0 ) { 
this .mauSo = mauSo; 
} 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
package bt1; public class Main { 
public static void main(String[] args) { 
PhanSo ps1= new PhanSo(); 
System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); 
ps1.setTuSo( 3 );ps1.setMauSo( 4 ); 
System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
public class MangPhanSo { 
//Khai báo thuộc tính 
private PhanSo[] arr; //Phương thức khởi tạo mặc định ... 
public PhanSo[] getArr() { 
return arr; 
} 
public void setArr(PhanSo ... arr) { 
this .arr = new PhanSo[arr.length]; for ( int i = 0 ; i < arr.length; i++) { 
this .arr[i] = new PhanSo(arr[i]); } 
} 
} 
... 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
... public void set( int index, PhanSo value) { 
if (index >= 0 && index < this .arr.length) { 
//this.arr[index] = new PhanSo(value); 
 this .arr[index]=value; 
} 
} 
public PhanSo get( int index) { 
PhanSo ps = null ; if (index >= 0 && index < this .arr.length) { 
//ps=new PhanSo(this.arr[index]); 
ps = this .arr[index]; 
} 
return ps; 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
public static void main(String[] args) { 
MangPhanSo mps = new MangPhanSo( 
new PhanSo( 1 , 3 ), 
new PhanSo( 4 , 3 ), 
new PhanSo( 5 , 9 )); 
//Sử dụng get 
PhanSo[] arr = mps.getArr(); 
int index = 1 ;PhanSo ps = mps.get(index); 
//Sử dụng set 
PhanSo[] arr2 = new PhanSo[ 2 ]; 
arr2[ 0 ] = new PhanSo( 2 , 4 ); 
arr2[ 1 ] = new PhanSo( 3 , 7 ); 
mps.setArr(arr2); 
index= 0 ;mps.set(index, new PhanSo( 8 , 5 )); 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
package bt1; public class MangSoNguyen { 
//Khai báo thuộc tính 
private int [] arr; //Phương thức khởi tạo mặc định ... public int [] getArr() { 
return arr; 
} 
public void setArr( int [] arr) { 
this .arr = new int [arr.length]; for ( int i = 0 ; i < arr.length; i++) { 
this .arr[i] = rr[i]; 
} 
} 
... 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
... public void set( int index, int value) { 
if (index >= 0 && index < this .arr.length) { 
this .arr[index]=value; 
} 
} 
public Integer get( int index) { 
Integer value = null ; if (index >= 0 && index < this .arr.length) { 
value = this .arr[index]; 
} 
return value; 
} 
} 
Định nghĩa các phương thức Get / Set 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
public static void main(String[] args) { 
MangSoNguyen mps = new MangSoNguyen( 3, 9, 5); 
//Sử dụng get int [] arr = mps.getArr(); int index = 1 ; Integer value = mps.get(index); //Sử dụng set int [] arr2 = {9,6,8};mps.setArr(arr2);index= 0 ;mps.set(index, 7); 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
public class PhanSo{ 
//Khai báo các thuộc tính private int tuSo; private int mauSo ;public void nhap(String tieuDe) { 
System.out.println(tieuDe);Scanner scan = new Scanner(System.in); 
System.out.print( "Tử số:" ); this .tuSo = Integer.parseInt(scan.nextLine()); System.out.print( "Mẫu số:" ); this .mauSo = Integer.parseInt(scan.nextLine()); 
} 
public void xuat(String tieuDe){ 
System.out.println(tieuDe);String str=String.format( "%d / %d" , this .tuSo, this .mauSo); System.out.println(str); 
} 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
package bt1; public class Main { 
public static void main(String[] args) { 
PhanSo ps1= new PhanSo(); 
ps1.nhap( "Nhập phân số 1" ); 
ps1.xuat( "Xuất phân số 1" ); 
PhanSo ps2= new PhanSo(); 
ps2.nhap( "Nhập phân số 2" ); 
ps2.xuat( "Xuất phân số 2" ); 
} 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
package bt1; public class MangPhanSo { 
//Khai báo thuộc tính 
private PhanSo [] arr; public void nhap(String tieuDe){ 
Scanner scan= new Scanner(System.in); System.out.println(tieuDe); 
System.out.print( "Số lượng phần tử:" ); 
int n=Integer.parseInt(scan.nextLine()); 
this .arr= new PhanSo[n]; 
for ( int i= 0 ; i< this .arr.length; i++){ 
this .arr[i] = new PhanSo(); 
this .arr[i].nhap( "Phân số thứ " +i); 
} 
} 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
public void xuat(String tieuDe){ 
System.out.println(tieuDe); int n = this .arr.length; 
System.out.println( "Số lượng phần tử: " + n); 
for ( int i= 0 ; i< this .arr.length; i++){ 
this .arr[i].xuat( "Phân số thứ " +i); 
} 
} 
} 
1 
2 
3 
4 
5 
6 
7 
public static void main ( String [] args) { 
MangPhanSo mps= new MangPhanSo(); 
mps.nhap( "Nhập mảng phân số" ); 
mps.xuat( "Xuất mảng phân số" ); 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
package bt1; public class MangSoNguyen { 
//Khai báo thuộc tính 
private int [] arr;... public void nhap(String tieuDe){ 
Scanner scan= new Scanner(System.in); System.out.println(tieuDe); 
System.out.print( "Số lượng phần tử:" ); 
int n=Integer.parseInt(scan.nextLine()); 
this .arr= new int [n]; 
for ( int i= 0 ; i< this .arr.length; i++){ 
System.out.print( "Phần tử thứ " + i + ":" ); this .arr[i]=Integer.parseInt(scan.nextLine()) 
} 
} 
... 
} 
Định nghĩa các phương thức nhập xuất 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
...public void xuat(String tieuDe){ 
System.out.println(tieuDe); int n = this .arr.length; 
System.out.println( "Số lượng phần tử: " + n); 
for ( int i= 0 ; i< this .arr.length; i++){ 
System.out.print( "Phân số thứ " +i+ ":" ); 
System.out.println( this .arr[i]); 
} 
} 
} 
1 
2 
3 
4 
5 
6 
7 
public static void main(String[] args) { 
MangSoNguyen msn= new MangSoNguyen(); 
msn.nhap( "Nhập mảng số nguyên" ); 
msn.xuat( "Xuất mảng số nguyên" ); 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
public class PhanSo{ 
//Khai báo các thuộc tính private int tuSo; private int mauSo ;...public PhanSo cong(PhanSo ps){ 
PhanSo kq= new PhanSo(); 
kq.tuSo= this .tuSo*ps.mauSo+ this .mauSo*ps.tuSo; kq.mauSo= this .mauSo*ps.mauSo; return kq; 
} 
... 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
package bt1; public class Main { 
public static void main(String[] args) { 
PhanSo ps1= new PhanSo(); 
ps1.nhap( "Nhập phân số 1" ); 
ps1.xuat( "Xuất phân số 1" ); 
PhanSo ps2= new PhanSo(); 
ps2.nhap( "Nhập phân số 2" ); 
ps2.xuat( "Xuất phân số 2" ); 
PhanSo kq=ps1.cong(ps2); 
kq.xuat( "Tổng hai phân số" ); 
} 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
package bt1; 
public class MangPhanSo { 
//Khai báo thuộc tính 
private PhanSo [] arr; 
... public PhanSo tong(){ 
PhanSo s= this .arr[0]; for ( int i= 1 ; i< this .arr.length; i++){ 
s=s.cong( this .arr[i]); 
} 
} 
... 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
public static void main(String[] args) { 
MangPhanSo mps= new MangPhanSo(); 
mps.nhap( "Nhập mảng phân số" ); 
mps.xuat( "Xuất mảng phân số" ); 
PhanSo s=mps.tong(); 
s.xuat( "Tổng mảng phân số" ); 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
package bt1; public class MangSoNguyen { 
//Khai báo thuộc tính 
private int [] arr; ... public int tong(){ 
int s= 0 ; for ( int i=0; i< this .arr.length; i++){ 
s=s + this .arr[i]; 
} 
return s; 
} 
... 
} 
Định nghĩa các phương thức xử lý nghiệp vụ 
1 
2 
3 
4 
5 
6 
7 
8 
9 
public static void main(String[] args) { 
MangSoNguyen msn= new MangSoNguyen(); 
msn.nhap( "Nhập mảng số nguyên" );msn.xuat( "Xuất mảng số nguyên" ); int s=msn.tong();System.out.println( "Tổng mảng số nguyên: " + s); 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
public class PhanSo{ 
private int tuSo; 
private int mauSo ; 
public PhanSo cong(PhanSo ps){ 
PhanSo kq= new PhanSo(); 
kq.tuSo= this .tuSo*ps.mauSo+ this .mauSo*ps.tuSo; kq.mauSo= this .mauSo*ps.mauSo; return kq; 
} public PhanSo cong( int k){ 
PhanSo kq= new PhanSo(); 
kq.tuSo= this .tuSo+ this .mauSo*k; 
kq.mauSo= this .mauSo; return kq; 
} 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
package bt1; public class Main { 
public static void main(String[] args) { 
PhanSo ps1= new PhanSo(2, 3); 
PhanSo ps2= new PhanSo(3, 4); 
PhanSo kq1=ps1.cong(ps2); 
kq1.xuat( "Tổng hai phân số ps1 và ps2" ); 
PhanSo kq2=ps1.cong(40); 
kq2.xuat( "Tổng hai phân số ps1 và 40" ); 
} 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
package bt1; public class MangPhanSo { 
private PhanSo [] arr; ... public PhanSo tong(){ 
PhanSo s= this .arr[0]; for ( int i= 1 ; i< this .arr.length; i++){ 
s=s.cong( this .arr[i]); 
} 
} public PhanSo tong( MangPhanSo mps ){ 
PhanSo s1= this. tong(); 
PhanSo s2=mps.tong(); 
PhanSo kq=s1.tong(s2); 
return kq; 
} 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
public static void main(String[] args) { 
MangPhanSo mps1= new MangPhanSo(); 
mps1.nhap( "Nhập mảng phân số" ); 
PhanSo s1=mps1.tong(); 
s1.xuat( "Tổng mảng phân số 1" ); 
MangPhanSo mps2= new MangPhanSo(); 
mps2.nhap( "Nhập mảng phân số" ); 
PhanSo s2=mps1.tong(mps2); 
s2.xuat( "Tổng mảng phân số 1 & 2" ); 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
package bt1; public class MangSoNguyen { 
private int [] arr; 
 public PhanSo tong(){ 
int s=0; for ( int i= 0 ; i< this .arr.length; i++){ 
s=s + this .arr[i]; 
} 
} 
 public int tong( MangSoNguyen msn ){ 
int s1= this. tong(); 
int s2=msn.tong(); 
int kq=s1 + s2; 
return kq; 
} 
} 
Định nghĩa các phương thức overload 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
public static void main(String[] args) { 
MangSoNguyen msn1= new MangSoNguyen(); 
msn1.nhap( "Nhập mảng số nguyên 1" ); int s1=msn1.tong();System.out.println( "Tổng mảng số nguyên 1" + s1); 
MangSoNguyen msn2= new MangSoNguyen(); 
msn2.nhap( "Nhập mảng số nguyên 2" ); int s2=msn1.tong(msn2);System.out.println( "Tổng mảng số nguyên 1&2" + s2); 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
public class PhanSo{ 
private int tuSo; 
private int mauSo ; 
public static PhanSo parsePhanSo(String str){ 
PhanSo kq= new PhanSo();String [] s=str.split( "/" ); 
kq.tuSo=Integer.parseInt(s[ 0 ]); 
kq.mauSo=Integer.parseInt(s[ 1 ]); 
return kq; 
} 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
package bt1; public class Main { 
public static void main(String[] args) { 
PhanSo ps1=PhanSo.parsePhanSo( "2/3" ); 
PhanSo ps2=PhanSo.parsePhanSo( "3/4" ); 
PhanSo kq1=ps1.cong(ps2); 
kq1.xuat( "Tổng hai phân số ps1 và ps2" ); 
PhanSo kq2=ps1.cong(40); 
kq2.xuat( "Tổng hai phân số ps1 và 40" ); 
} 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
package bt1; public class MangPhanSo { 
private PhanSo [] arr; 
public static MangPhanSo parseMangPhanSo(String str{ 
MangPhanSo mps= new MangPhanSo(); 
String []s=str.split( ";" ); 
mps.arr= new PhanSo[s.length]; 
for ( int i= 0 ; i<s.length; i++){ 
mps.arr[i]=PhanSo.parsePhanSo(s[i].trim()); 
} 
return mps; 
} 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
public static void main(String[] args) { 
MangPhanSo mps1=MangPhanSo.parseMangPhanSo( “1/2;2/3;3/4” ); s1.xuat( "Tổng mảng phân số 1" ); 
MangPhanSo mps2=MangPhanSo.parseMangPhanSo( “4/3;7/6;9/2” ); 
mps2.nhap( "Nhập mảng phân số" ); 
PhanSo s2=mps1.tong(mps2); 
s2.xuat( "Tổng mảng phân số 1 & 2" ); 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
package bt1; public class MangSoNguyen { 
private int [] arr;... public static MangSoNguyen parseMangSoNguyen(String str){ 
MangSoNguyen msn= new MangSoNguyen(); 
String []s=str.split( ";" ); 
msn.arr= new int [s.length]; for ( int i= 0 ; i<s.length; i++){ 
msn.arr[i]=Integer.parseInt(s[i].trim()); 
 } 
return msn; 
} 
} 
Định nghĩa các phương thức static 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
public static void main(String[] args) { 
MangSoNguyen msn1=MangPhanSo.parseMangSoNguyen( "2;3;4" ); System.out.println( "Tổng mảng số nguyên 1:" + s1); 
MangSoNguyen msn2=MangPhanSo.parseMangSoNguyen( "4;7;9" ); 
int s2=msn1.tong(msn2);System.out.println( "Tổng mảng số nguyên 1&2:" +s2); 
} 

File đính kèm:

  • pptxbai_giang_lap_trinh_java_chuong_1_lap_trinh_co_ban_voi_ngon.pptx