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
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
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:
bai_giang_lap_trinh_java_chuong_1_lap_trinh_co_ban_voi_ngon.pptx

