lOMoARcPSD| 58702377
===========LỘ TRÌNH JAVA===========
1. Nhập / Xuất DLiệu+
Xut DLiệu :
- System.out.println(“Dữ liệu ”): xuất xuống dòng
- System.out.print(“Dữ liệu”): xuất dliệu ko xuống dòng
+ Nhập Dữ Liệu: Trước khi nhập dữ liệu cần tạo ra 1 đối tượng
Scanner
Để phục vụ cho việc nhập dữ liệu
-Cách tạo: Scanner scan = new Scanner(System.in);
- Các để nhập chuỗi : String s = String s = scan.nextLine();
- Để nhập các số nguyên : int x =
Integer.parseInt(scan.nextLine());
- để nhập số thực : float sothuc =
Float.parseFloat(scan.nextLine());
-để nhp số thực: double
sothuc2=Double.parseDouble(scan.nextLine())
2. Cấu trúc rẽ nhánh if
else - cấu trúc rẽ nhánh
gồm:
+ Cấu trúc thiếu:
If(điều kiện )
{thực hiện các câu lệnh}
Vd: nếu a > 0 thì xuất ra a dương
Code : If(a > 0){
System.out.println("a duong");
}
+ cấu trúc đủ:
If(điều kiện 1){
lOMoARcPSD| 58702377
Khi lệnh 1
}
Else if(điều kiện 2)
{
Khi lệnh 2
.
.
.
} else if(Câu lệnh n){
Khi lệnh n ;
} else {
Khi lệnh cuối cùng;
}
Ta có thể hiểu rằng else là trường hợp còn lại của các
trường hợp trên
Vd : nếu a = 0 thì in ra a bằng 0 còn nếu a > 0 thì in
a dương, nếu a < 0 thì in ra a < 0; Code :
If(a > 0){
System.out.println("a dương");
} else if(a < 0){
System.out.println("a âm");
} else // trường hợp còn lại của các trường hợp trên tức là
a = 0
{
System.out.println("a bằng 0");
lOMoARcPSD| 58702377
}
3. Tương Tự như if else ta có thể dùng swith case:
+vd : cho cho a , b; và s . nếu s = “+” thì tính tổng
Nếu s = “-“ thì tính hiệu
Nếu s = “*” thì tính tích
Nếu s = “/” thì tính thương
int a =3; int
b =5;
switch (s) {
case "+":
System.out.println(a +
b); break; case "-
":
System.out.println(a -
b); break;
case "*":
System.out.println(a *
b); break;
case "/":
System.out.println(a /
b); break;
default:
lOMoARcPSD| 58702377
throw new AssertionError();
}
Ví dụ trên chỉ mang tính chất tham khảo
4. Làm Việc với mảng 1 chiều: mảng trong java không khác c++ là
mấy
Nó gồm chỉ số index và giá trị tại chỉ số index đó
Index: 0 1 2 3 4 5 6
7
Giá trị:
Trên mảng a trên gồm có 8 phần tử chỉ số index luôn luôn bắt đầu từ
0
Ta có a[0] = 4, a[1] = 32 , a[2] = 5, a[3] = 6, a[4] = 8, a[5] = 9, a[6] = 3,
a[7]=5
Vậy thì làm sao ta có thể khi tạo mảng :
Ta thường có 2 cách sau :
C1: int []a = {4, 32,5, 6,8,9,3,5}; ta có thể bỏ a[]
C2: int []a = new int[] {4, 32,5, 6,8,9,3,5}; ta có thể dùng a[]
Vậy làm sao để biết số phần tử của mạng này: ?
Ta đếm nó hả.. giả sử có 1 triệu phần tử ta có thể đếm nó ko ?
Trong java ta có hỗ trợ sẵn : ta lấy a.size hoc a.length
4
32
5
6
8
9
3
5
lOMoARcPSD| 58702377
Ta không nên viết như này nhé : a.size() hoăc a.length() thế là sai nhé
Trường hợp muốn khỏi tạo mảng có bao nhiêu phần tử :
Cú pháp như sau : int [] a = new int[5]; khởi tạo mảng có 5 phần tử
Nếu Muốn Sắp xếp mảng ta dùng : Arrays.sort(a);
+ Nếu muốn so sánh mảng a và mảng b
Ta dùng a.equals(b)
Code : int []a ={4, 32,5, 6,8,9,3,5};
int b[]= {3,2,1};
if(a.equals(b)==true){
System.out.println(" bằng nhau");
} else {
System.out.println("Không bằng nhau");
}
+ Nếu Bạn muốn duyệt mảng ta thường dùng 2 cách thông dùng:
C1: for (int x : arr){
System.out.println(x);
}
C2: for (int i = 0 ; i < arr.size; i++){
System.out.println(arr.get(i));
}
5. Chuỗi java:
Chuối là mảng 1 chiều các ký tự thôi Vd
: chuỗi “HELLO”
lOMoARcPSD| 58702377
Index 0 1 2 3 4
H
E
L
L
O
Như Chuỗi thôi nó cũng có hàm lấy độ dài chuỗi ta dùng :
s.length();
Ta có thể nối chuỗi thông qua phép cộng : s1 + s2 + s3 + s4;
String s = "Hello";
String s1 = "Tien Dep Trai";
String noichuoi = s + s1;
System.out.println(noichuoi);
+ Ta có thể cắt chuỗi : Tôi muốn tách chữ Tien thì sao Nó
sẽ bắt đầu từ index 0 và kết thúc bằng index 3
3 – 0 + 1;
Thì ta dùng như sau nhé
String ten = s1.substring(bắt đầu, Số ợng Ký tự); nhé!
String ten = s1.substring(0,3 – 0 + 1);
+ Để So sánh 2 chuỗi ta có thể dùng : compareTo : Cái này sẽ
trả về 3 giá trị : bằng 0 , lớn hơn 0, bé hơn 0
+ Và cách thức so sánh : so theo aphaB
Vd string a = “ab”; String b = “cd”; Ta
thấy nó sẽ so sánh từng ký tự đầu
a[0] so sánh với b[0] nếu a[0] < b[0] nó sẽ trả về -1, a[0]> b[0] trả
về 1
còn a[0] == b[0] nó sẽ tiếp tục so sánh các ký tự còn lại +
nếu ta muốn thay thế thì dùng chuoi.replace(chuỗi cần thay
thế, chuỗi thay thế)
Vd : ta muốn thay Nguyen Minh Tien Thành Le Minh Tien
String a = "Nguyen Minh Tien";
String c = "Nguyen";
String b = "Le";
System.out.println(a.replace(c, b));
lOMoARcPSD| 58702377
Hoặc
String a = "Nguyen Minh Tien";
System.out.println(a.replace(“Le”, “Nguyen”));
+ Ta có hàm a.contains(“Chuỗi”); // xem chuỗi a có chứa chuỗi đó
ko
Vd : S = “Le Minh Tien” kiểm tra chuỗi S có chưa “Le” Không
Thì ta dùng S.contains(“Le”) nó sẽ trả về true hoặc false
Code:
if(S.contains("Le")){
System.out.println("YES");
} else {
System.out.println("NO");
}
+ Ta hàm S.trim() // xóa bỏ khoảng trắng đầu cuối của chui
Vd : xóa bỏ khoảng trắng thừa đầu cuối chuỗi s sau Code
:
String s = " le minh tien ";
s = s.trim();
System.out.println(s);
+ Ta muốn tách một chuối string theo cấu trúc nào đó thì ta dùng
split
Vd : String s = “3;2;3;12;3;5”;
lOMoARcPSD| 58702377
Ta thấy chuỗi s cách nhau bởi dấu chấm “;”
Ta muốn lấy mảng từ chuỗi s;
String s = "3;2;3;12;3;5";
String []arr = s.split(";");
Vector <Integer>arrTach = new Vector<>();
for (String x : arr){
arrTach.add(Integer.parseInt(x));
}
for (int x : arrTach){
System.out.println(x);
}
6.Làm quen với các collection
+ Làm Quen Với thư viện List kết hợp ArrayList: Dùng để lưu
theo dạng danh sách.
Ví dụ danh sách Số nguyên, danh sách sinh viên => Người ta
thường Dùng List
Cách khai báo : List<Đối tượng> tên biến = new ArrayList<>()
Đối tượng này có thể là Integer, Double, SinhVien ….
Các hàm cơ bản để sử dụng List:
+ Size() : lấy độ dài của Danh sách đó
+ add() : thêm 1 đối tượng vào danh sách
+ add(index, đối tượng): thêm 1 đối tượng vào vị trí index
+ lastIndexOf(đối tượng ) : trả về index của đối tượng đó
+ remove(index) : Xóa Đối tượng tại vị trí index
+ contains(đối tượng): tìm xem đối tượng có trong mảng hay
không
+ sort(null) : mặc đinh là tăng dần
lOMoARcPSD| 58702377
Cách duyệt mảng: 2 Cách thường dùng
+ foreach :
for (<đối tượng> : <Biến mảng>){
in ra đối tượng đó
}
+ for :
for (int i=0; i< <Biến mảng>.size(); i++){
in ra <Biến mảng>.get(i);
}
Code : Minh Họa
List<Integer> arr = new ArrayList<Integer>();
// 0 1 2 3 4 for (int i = 1; i
<= 5; i++) { arr.add(i);
}
System.out.println(arr.size());
System.out.println(arr.lastIndexOf(5));
arr.add(1, 100); for (int x : arr) {
System.out.println(x);
}
System.out.println(arr.contains(500));
// sắp xếp tăng dần
arr.sort(null);
// duyệt cách 1
for (int x: arr) {
System.out.println(x);
lOMoARcPSD| 58702377
}
// duyệt cách 2 for (int i = 0 ;i <
arr.size(); i++) {
System.out.println(arr.get(i));
}

Preview text:

lOMoAR cPSD| 58702377
===========LỘ TRÌNH JAVA===========
1. Nhập / Xuất Dữ Liệu+ Xuất Dữ Liệu :
- System.out.println(“Dữ liệu ”): xuất xuống dòng
- System.out.print(“Dữ liệu”): xuất dữ liệu ko xuống dòng
+ Nhập Dữ Liệu: Trước khi nhập dữ liệu cần tạo ra 1 đối tượng Scanner
Để phục vụ cho việc nhập dữ liệu
-Cách tạo: Scanner scan = new Scanner(System.in);
- Các để nhập chuỗi : String s = String s = scan.nextLine();
- Để nhập các số nguyên : int x =
Integer.parseInt(scan.nextLine());
- để nhập số thực : float sothuc =
Float.parseFloat(scan.nextLine());
-để nhập số thực: double
sothuc2=Double.parseDouble(scan.nextLine()) 2. Cấu trúc rẽ nhánh if
else - cấu trúc rẽ nhánh gồm: + Cấu trúc thiếu: If(điều kiện )
{thực hiện các câu lệnh}
Vd: nếu a > 0 thì xuất ra a dương Code : If(a > 0){
System.out.println("a duong"); } + cấu trúc đủ: If(điều kiện 1){ lOMoAR cPSD| 58702377 Khối lệnh 1 } Else if(điều kiện 2) { Khối lệnh 2 . . . } else if(Câu lệnh n){ Khối lệnh n ; } else { Khối lệnh cuối cùng; }
Ta có thể hiểu rằng else là trường hợp còn lại của các trường hợp trên
Vd : nếu a = 0 thì in ra a bằng 0 còn nếu a > 0 thì in
a dương, nếu a < 0 thì in ra a < 0; Code : If(a > 0){
System.out.println("a dương"); } else if(a < 0){ System.out.println("a âm");
} else // trường hợp còn lại của các trường hợp trên tức là a = 0 {
System.out.println("a bằng 0"); lOMoAR cPSD| 58702377 }
3. Tương Tự như if else ta có thể dùng swith case:
+vd : cho cho a , b; và s . nếu s = “+” thì tính tổng
Nếu s = “-“ thì tính hiệu
Nếu s = “*” thì tính tích
Nếu s = “/” thì tính thương int a =3; int b =5; switch (s) { case "+": System.out.println(a + b); break; case "- ": System.out.println(a - b); break; case "*": System.out.println(a * b); break; case "/": System.out.println(a / b); break; default: lOMoAR cPSD| 58702377 throw new AssertionError(); }
Ví dụ trên chỉ mang tính chất tham khảo
4. Làm Việc với mảng 1 chiều: mảng trong java không khác c++ là mấy
Nó gồm chỉ số index và giá trị tại chỉ số index đó Index: 0 1 2 3 4 5 6 7 Giá trị: 4 32 5 6 8 9 3 5
Trên mảng a trên gồm có 8 phần tử chỉ số index luôn luôn bắt đầu từ 0
Ta có a[0] = 4, a[1] = 32 , a[2] = 5, a[3] = 6, a[4] = 8, a[5] = 9, a[6] = 3, a[7]=5
Vậy thì làm sao ta có thể khỏi tạo mảng :
Ta thường có 2 cách sau :
C1: int []a = {4, 32,5, 6,8,9,3,5}; ta có thể bỏ a[]
C2: int []a = new int[] {4, 32,5, 6,8,9,3,5}; ta có thể dùng a[]
Vậy làm sao để biết số phần tử của mạng này: ?
Ta đếm nó hả.. giả sử có 1 triệu phần tử ta có thể đếm nó ko ?
Trong java ta có hỗ trợ sẵn : ta lấy a.size hoặc a.length lOMoAR cPSD| 58702377
Ta không nên viết như này nhé : a.size() hoăc a.length() thế là sai nhé
Trường hợp muốn khỏi tạo mảng có bao nhiêu phần tử :
Cú pháp như sau : int [] a = new int[5]; khởi tạo mảng có 5 phần tử
Nếu Muốn Sắp xếp mảng ta dùng : Arrays.sort(a);
+ Nếu muốn so sánh mảng a và mảng b Ta dùng a.equals(b)
Code : int []a ={4, 32,5, 6,8,9,3,5}; int b[]= {3,2,1}; if(a.equals(b)==true){
System.out.println(" bằng nhau"); } else {
System.out.println("Không bằng nhau"); }
+ Nếu Bạn muốn duyệt mảng ta thường dùng 2 cách thông dùng: C1: for (int x : arr){ System.out.println(x); }
C2: for (int i = 0 ; i < arr.size; i++){
System.out.println(arr.get(i)); } 5. Chuỗi java:
Chuối là mảng 1 chiều các ký tự thôi Vd : chuỗi “HELLO” lOMoAR cPSD| 58702377 Index 0 1 2 3 4 H E L L O
Như Chuỗi thôi nó cũng có hàm lấy độ dài chuỗi ta dùng : s.length();
Ta có thể nối chuỗi thông qua phép cộng : s1 + s2 + s3 + s4; String s = "Hello"; String s1 = "Tien Dep Trai"; String noichuoi = s + s1;
System.out.println(noichuoi);
+ Ta có thể cắt chuỗi : Tôi muốn tách chữ Tien thì sao Nó
sẽ bắt đầu từ index 0 và kết thúc bằng index 3 3 – 0 + 1; Thì ta dùng như sau nhé
String ten = s1.substring(bắt đầu, Số Lượng Ký tự); nhé!
String ten = s1.substring(0,3 – 0 + 1);
+ Để So sánh 2 chuỗi ta có thể dùng : compareTo : Cái này sẽ
trả về 3 giá trị : bằng 0 , lớn hơn 0, bé hơn 0
+ Và cách thức so sánh : so theo aphaB
Vd string a = “ab”; String b = “cd”; Ta
thấy nó sẽ so sánh từng ký tự đầu
a[0] so sánh với b[0] nếu a[0] < b[0] nó sẽ trả về -1, a[0]> b[0] trả về 1
còn a[0] == b[0] nó sẽ tiếp tục so sánh các ký tự còn lại +
nếu ta muốn thay thế thì dùng chuoi.replace(chuỗi cần thay thế, chuỗi thay thế)
Vd : ta muốn thay Nguyen Minh Tien Thành Le Minh Tien
String a = "Nguyen Minh Tien"; String c = "Nguyen"; String b = "Le";
System.out.println(a.replace(c, b)); lOMoAR cPSD| 58702377 Hoặc
String a = "Nguyen Minh Tien";
System.out.println(a.replace(“Le”, “Nguyen”));
+ Ta có hàm a.contains(“Chuỗi”); // xem chuỗi a có chứa chuỗi đó ko
Vd : S = “Le Minh Tien” kiểm tra chuỗi S có chưa “Le” Không
Thì ta dùng S.contains(“Le”) nó sẽ trả về true hoặc false Code: if(S.contains("Le")){ System.out.println("YES"); } else { System.out.println("NO"); }
+ Ta có hàm S.trim() // xóa bỏ khoảng trắng đầu cuối của chuỗi
Vd : xóa bỏ khoảng trắng dư thừa đầu và cuối chuỗi s sau Code : String s = " le minh tien "; s = s.trim(); System.out.println(s);
+ Ta muốn tách một chuối string theo cấu trúc nào đó thì ta dùng split
Vd : String s = “3;2;3;12;3;5”; lOMoAR cPSD| 58702377
Ta thấy chuỗi s cách nhau bởi dấu chấm “;”
Ta muốn lấy mảng từ chuỗi s; String s = "3;2;3;12;3;5"; String []arr = s.split(";");
Vector arrTach = new Vector<>(); for (String x : arr){
arrTach.add(Integer.parseInt(x)); } for (int x : arrTach){ System.out.println(x); }
6.Làm quen với các collection
+ Làm Quen Với thư viện List kết hợp ArrayList: Dùng để lưu theo dạng danh sách.
Ví dụ danh sách Số nguyên, danh sách sinh viên => Người ta thường Dùng List
Cách khai báo : List<Đối tượng> tên biến = new ArrayList<>()
Đối tượng này có thể là Integer, Double, SinhVien ….
Các hàm cơ bản để sử dụng List:
+ Size() : lấy độ dài của Danh sách đó
+ add() : thêm 1 đối tượng vào danh sách
+ add(index, đối tượng): thêm 1 đối tượng vào vị trí index
+ lastIndexOf(đối tượng ) : trả về index của đối tượng đó
+ remove(index) : Xóa Đối tượng tại vị trí index
+ contains(đối tượng): tìm xem đối tượng có trong mảng hay không
+ sort(null) : mặc đinh là tăng dần lOMoAR cPSD| 58702377
Cách duyệt mảng: 2 Cách thường dùng + foreach :
for (<đối tượng> : ){ in ra đối tượng đó } + for :
for (int i=0; i< .size(); i++){ in ra .get(i); } Code : Minh Họa List arr = new ArrayList();
// 0 1 2 3 4 for (int i = 1; i <= 5; i++) { arr.add(i); }
System.out.println(arr.size());
System.out.println(arr.lastIndexOf(5));
arr.add(1, 100); for (int x : arr) { System.out.println(x); }
System.out.println(arr.contains(500)); // sắp xếp tăng dần arr.sort(null); // duyệt cách 1 for (int x: arr) { System.out.println(x); lOMoAR cPSD| 58702377 }
// duyệt cách 2 for (int i = 0 ;i < arr.size(); i++) {
System.out.println(arr.get(i)); }