Upload
nguyen-nhu-thanh
View
343
Download
0
Embed Size (px)
Citation preview
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 1/56
Chương 3 Core Java
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 2/56
Biến ( Variable )
Ví dụ:
double salary;
int vacationDays;long earthPopulation;
boolean done;
Form:Variable_type+variable_name+”;”
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 3/56
Qui tắc đặt tên biến
Bắt đầu bằng chữ cái Phải là một chuỗi liên tiếp các chữ, số,kí hiệu Các chữ, số và kí hiệu:
- Chữ:‘A’-‘Z’, ‘a’-‘z’,’-‘ ,và các chữ cái Unicode
- Số : ’0’-‘9’
Không sử dụng các kí tự: ‘@’, ‘+’,…
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 4/56
Qui tắc đặt tên biến
Tên biến có thể có độ dài vô hạn Có thể đặt nhiều biến trên cùng một dòng Tuy nhiên nên khai báo tường minh:
int i, j , k;
-> int i;
int j;int k;
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 5/56
Khởi tạo giá trị cho biến
Chỉ sử dụng các biến đã được khởi tạo Thao tác với các biến chưa được khởi tạo sẽ
sinh lỗi
int vacationDays;System.out.println(vacationDays);
// ERROR--variable not initialized Có thể khởi tạo giá trị ngay sau khi khai báo
int vacationDays = 12;
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 6/56
Khởi tạo biến
Có thể khai báo và khởi tạo biến bất cứ đâutrong chương trình
double salary = 65000.0;
System.out.println(salary);
int vacationDays = 12;
// ok to declare a variable here Nên khai báo và khởi tạo ở đầu chương trình
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 7/56
Hằng ( Constant)
Khi khai báo và khởi tạo có thêm “final”
final double num = 12.5; Hằng được khai báo một lần Hằng được sử dụng trong toàn bộ các phương
thức của lớp Khai báo hằng để sử dụng ở các lớp cùng gói
Public static final double num = 12.5;
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 8/56
Input and Output
Để đọc dữ liệu vào đơn giản nhất chúng ta sửdụng lớp Scanner
Input : Khai báo Input Scanner in = new Scanner(System.in);
Chú ý: khai báo import java.util.*
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 9/56
Reading Input
Chúng ta có câu lệnh vào ra chuẩn như: System.out.println
Để đọc được input từ consle chúng ta sử dụng
lớp Scanner Để sử dụng các phương thức trong lớp
Scanner ta phải tạo ra 1 đối tượng Scanner
Scanner in = new Scanner(System.in);
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 10/56
Chúng ta có các phương thức khác nhau củalớp Scanner
Vd: phương thức nextLine sẽ đọc 1 dòng kí
tự khi nhập vào(đọc chuỗi) System.out.print("What is your name? "); String name = in.nextLine();
name sẽ được gán string của dòng nhập vào
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 11/56
Với phương thức nextLine chúng ta bắt cảcác ký tự trắng vào
Nếu muốn không bắt khoảng trắng ta dùng
phương thức next String firstName = in.next();
Tức là firstName chỉ chứa 1 từ
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 12/56
Để đọc vào một số kiểu Integer chúng ta sửdụng phương thức nextInt System.out.print("How old are you? "); int age = in.nextInt();
age nhận giá trị integer
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 13/56
Để sử dụng các phương thức từ lớp Scanner chúng ta phải import gói java.util
Ví dụ 1 chương trình test Input Ngoài việc sử dụng phương thức Scanner để
đọc dữ liệu chúng ta cũng có thể dùng các lớpkhác như Reader, BufferReader được mô tả
chi tiết trong gói java.io
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 14/56
import java.util.*; public class inputTest { public static void main(String[] args) { Scanner in = new Scanner(System.in);
System.out.print("What your name:"); String name = in.nextLine(); System.out.print("How old are you?:"); int age = in.nextInt(); System.out.print("Hello,"+ name +".Next year you'll be "+
(age + 1)); } }
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 15/56
Chương trình thực hiện sẽ cho ra kết quả What your name:Minh How old are you?:22 Hello,Minh.Next year you'll be 23
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 16/56
Nếu ta sử dụng phương thức hộp thoại thì nósẽ hiện ra như thế này
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 17/56
Để sử dụng chúng ta phải import gói javax.swing
VD chương trình trên ta sẽ thay bằng cách
sử dụng gói này
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 18/56
import javax.swing.*; public class inputTest { public static void main(String[] args) { String name = JOptionPane.showInputDialog("What is your
name?"); String input = JOptionPane.showInputDialog("How old are
you?"); int age = Integer.parseInt(input); System.out.println("Hello, " + name + ". Next year, you'll be " +
(age + 1)); System.exit(0); } }
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 19/56
Các phương thức của gói java.util.Scanner Scanner(InputStream in) String nextLine() Đọc dòng tiếp theo vào
String next() Đọc từ tiếp theo vào
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 20/56
int nextInt() double nextDouble() Đọc và chuyển các ký tự sang kiểu Int và float
boolean hasNext() Kiểm tra xem từ đó đã có trong dữ liệu vào chưa
public int indexOf (String str) Cho ra vị trí của từ cần tìm , nếu ko có thì cho ra giá trị -1
Vd: string ch = “cauabcmohabctineuabctinhyeu “int chiso_abc = ch.IndexOf("abc");
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 21/56
boolean hasNextInt() boolean hasNextDouble() Hàm này kiểm tra xem chuỗi ký tự nhập vào tiếp
theo có phải là kiểu Int và float không
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 22/56
Các phương thức của gói javax.swing.JOptionPane static String showInputDialog(Object message)
Hiện ra bảng hộp thoại cho chúng ta nhậpvào
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 23/56
Chúng ta cần in số x ra thì sẽ sử dụngSystem.out.print(x)
Vd: double x = 10000.0 / 3.0; System.out.print(x);
Sẽ in ra kết quả là 3333.3333333333335
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 24/56
Khi chúng ta sử dụngSystem.out.printf("%8.2f", x);
Có nghĩa là x sẽ in ra có 8 kí tự, trong đó 2 kí
tự sau dấu “.” Kq: 3333.33
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 25/56
Kiểu dữ liệu
Trong Java, kiểu dữ liệu được chia thành 2 loại Các kiểu dữ liệu nguyên thủy (primitive) Các kiểu dữ liệu tham chiếu (reference)
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 26/56
Dữ liệu nguyên thủy
Kiểu số bit Giá trị Mô tả
integer int 32 -2,147,483,648 đến+2,147,483,648
Dùng để lưu một số có giátrị lớn đếnVD: tổng lương mà cty phảitrả cho nv.
short 16 -32768 đến 32767 Dùng để lưu các số có giátrị nhỏ .VD:slg người lđộng
long 64 -9,223,372,036’854,775,808đến+9,223,372,036’854,775,808
Dùng để lưu một số cố giátrị rất lớnVí dụ dân số của một nước
byte 8 -128 đến 127 Dùng để lưu trữ một giá tribằng một byte. Chúng
được sử dụng rộng rãi khixử lý một file văn bản
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 27/56
Dữ liệu nguyên thủy
Kiểu Số bit Giá trị Mô tả
floating point float 64 -3.40292347E+38 đến+3.40292347E+38
Dùng để lưu các số thậpphân đến 3.40292347E+38Ví dụ : giá thành sản phẩm
double 32 -1,79769313486231570E+308 đến+1,79769313486231570E+308
Dùng để lưu các số thậpphân có giá trị lớn đến1,79769313486231570E+308 VD: giá trị tín dụng củangân hàng nhà nước.
char 16 ‘\u0000’ to ’u\ffff ’ Dùng để lưu tên hoặc cácdữ liệu ký tự .VD:tên ngườIlđộng
boolean 1 “True” hoặc “False” Dùng để lưu các giá trị“Đúng” hoặc “sai”
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 28/56
Kiểu dữ liệu tham chiếu
Kiểu dữ liệu Mô tả
Mảng(array) Tập hợp các dữ liệu cùng kiểu.VD: tên
người
Lớp(Class) Tập hợp các biến và các phương thức
Giao diện(Interface) Một lớp trừu tượng được cho phép cài đặtđa thừa kế trong Java
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 29/56
Các toán tử
Java cung cấp nhiều dạng toán tử sau: Toán tử số học Toán tử bit Toán tử quan hệ
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 30/56
Toán tử số học
Bao gồm phép toán 1 ngôi(thứ tự thực hiệntừ phải qua trái):+(cộng),-(trừ), phép đổi dấu
Phép toán 2 ngôi (thứ tự thực hiện từ trái qua
phải): *(nhân), /(chia),% (chia lấy số dư) Phép chia nguyên đòi hỏi số chia khác 0 Phép chia số thực cho 0.0 là INF(dương vô
cùng) và -INF(âm vô cùng)
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 31/56
Toán tử tăng dần và giảmdần Giống như C, C++, Java cũng sử dụng tăng
dần và giảm dần toán tử ( n++ hoặc n--) VD: int n=12; n++; Có 2 dạng của các kiểu toán tử này: Tiền tố:Thực hiện phép cộng trước rồi thực hiện
tính toán với giá trị mới vừa cộng đc
Hậu tố:thực hiện tính toán giá trị cũ của biến rồimới cộng
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 32/56
Toán tử quan hệ và Boolean
Kiểm tra mối quan hệ giữa 2 toán hạng, kếtquả trả về giá trị boolean, được sử dụngtrong cấu trúc điều khiển.
Các toán tử: != ,==, >=, <= ,||, &&Sử dụng toán tử tam nguyên ?:
Biểu thức:
Đk? Biểu thức1: Biểu thức2
double a=10.00;Int b=10;
Boolean k= a==b;-result: false vìkhác ki uể
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 33/56
Toán tử quan hệ và Boolean
public class SinhVien {String ten;int tuoi;
SinhVien(String name){ten=name;}public static void main(String[]
args) {SinhVien s1= new SinhVien("Ha");SinhVien s2= new SinhVien("Ha");SinhVien s3=s2;if(s2==s1)
System.out.println("true");
else System.out.println("false");if(s2==s3)System.out.println("true");
else System.out.println("false");
}
}
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 34/56
Toán tử BIT
Cho phép ta thao táctrực tiếp trên từng bitriêng biệt trong cáckiểu dliệu nguyên thủy
Kí hiệuÝ nghĩa
& and
| or
^ Xor
~ not
<< Phép dịch trái
>> Phép dịch phải
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 35/56
Hàm và hằng số toán học
Lớp Math bao gồm các loại hàm toán học màta thường xuyên sử dụng.
VD: Hàm lượng giác: Math.sin, Math.cos,
Math.tan, Math.atan, Math.atan2Hàm lũy thừa và log: Math.exp, Math.log
Hằng số: Math.PI(3.141592654),
Math.E(2.718281828)double x = 4; double y =
Math.sqrt(x);System.out.println(y);
-> result:2
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 36/56
Ép kiểu
Thực hiện cộng 1 biến integer Với 1 biến float--làm ntn?
Ép kiểu: chuyển đổi kiểu dữ liệu này sang kiểu khácChú ý:nếu ép kiểu ngoài phạm vi của kiểu đích, kết
quả sẽ là 1 số bị cắt xén có giá trị khácEx: (byte) 300 là 44
kiểu boolean ko chuyển sang kiểu dliệu khác
double x = 9.997;int nx = (int) Math.round(x);
result:10
double x = 9.997;int nx = (int) x; -result: 9
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 37/56
Sơ đồ chuyển đổi giữa cáckiểu số
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 38/56
Dấu ngoặc đơn và thứ bậctoán tư Nếu ko có dấu ngoặc đơn, các phép toán
được thực hiện theo thứ bậc Các toán tử ở cùng cấp độ được thực hiện từ
trái sang phải hoăc từ phải qua trái như trongbảng sau
Để thay đổi thứ tự thực hiện thì ta phải dùng
dấu ngoặc đơn()
Phép toán Thứ tự thực hiện
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 39/56
p ự ự ệ[] . () Trái sang phải
! ~ ++ -- + (unary) – (unary) () (ép kiểu) new Phải sang trái
* / % Trái sang phải
+ - Trái sang phải
<< >> >>> Trái sang phải
< <= > >= instanceof Trái sang phải
== != Trái sang phải
& Trái sang phải
^ Trái sang phải
| Trái sang phải
&& Trái sang phải|| Trái sang phải
?: Phải sang trái
= += -= *= /= %= &= |= ̂ = <<= >>= >>>= Phải sang trái
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 40/56
Kiểu liệt kê
Bạn có thể tự định nghĩa kiểu liệt kê của bạntron 1 số trường hợp
VD: size quần áo(S,M,L,X)
enum Size{Small, Medium, Large,Extra-Large};Size s= Size.Small;
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 41/56
STRING String là 1 chuỗi các kí tự char String được coi như là 1 lớp với các phương
thức đi kèm, khai báo 1 String được coi như là
khai báo 1 đối tượng
Ví dụ: ( 2 kiểu khai báo)
String kyo=“KYO-The Best Samurai”; String kyo=new String(“KYO-The Best
Samura”);
CODE FOINTS AND CODE
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 42/56
CODE FOINTS AND CODEUNIT Code points: Là vị trí kí tự trong bảng UTD-16 Ví dụ:
String kyo=“KYO-The Best Samurai”;
int cp = kyo.codePointAt(5); => cp=104 (kí tự ‘h’) Code Unit: Là nội dung của kí tự Ví dụ:
String kyo=“KYO-The Best Samurai”;char ch = kyo.charAt(1) =>ch=‘Y’
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 43/56
SUBSTRINGS Substring: phương thức để tách 1 xâu thuộc
xâu gốc: OriginalString.Substring(x,y); -> xâu trích ra từ
vị trí thứ x->y trong xâu gốc OriginalString Ví dụ:
String kyo=new String("KYO-The Best Samura"); String k=kyo.substring(0,4); => Result: KYO-
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 44/56
CHỉNH SửA 1 XÂU Ví dụ: Cách sử dụng như trên sẽ thay String kyo=new String("KYO-The Best
Samura"); String kyo=kyo.substring(0,3) + "khua khua"; =>Result : “KYOkhua khua”
KIểM TRA XEM 2 XÂU CÓ BằNG
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 45/56
KIểM TRA XEM 2 XÂU CÓ BằNGNHAU HAY KHÔNG? Phương thức: Bloolean String.equals(String)
Chú ý: không dùng kiểu so sánh nội dung xâu
“==“ đây chỉ so sánh tham chiếu
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 46/56
INPUT VÀ OUTPUT Input : Khai báo Input Scanner in = new Scanner(System.in);
Chú ý: khai báo import java.util.*
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 47/56
ARRAY Định nghĩa: Mảng là 1 cấu trúc bao gồm tập
hợp các giá trị cùng kiểu. Ta có thể truy nhậpvào từng giá trị riêng lẻ bằng chỉ mục số
nguyên. Giống C, mảng được bắt đầu từ vị trí 0
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 48/56
VÒNG LặP “FOR EACH” Ta có thể dùng phương pháp sau để duyệt
từng phần tử của mảng: for (int element : a) {
System.out.println(element);... }
=> Không cần biết độ dài của mảng, tiện lợi hơnso với phương pháp duyệt truyền thống
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 49/56
SAO CHÉP MảNG Sao chép mảng: int[] luckyNumbers = smallPrimes;
Chú ý: khi thay đổi giá trị của 1 trong 2 mảng thì
giá trị của mảng còn lại cũng thay đổi theo. Vì cả2 đầu tham chiếu đến 1 vùng nhớ lưu giá trị củamảng.
Phương pháp khác để chỉ sao chép giá trị củamảng không thôi là dung phương thức: System.arraycopy(from, fromIndex, to, toIndex,
count);
Sắp xếp mảng và Binary
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 50/56
Sắp xếp mảng và BinarySearch Phương thức sắp xếp: Arrays.sort(a) //Phương thức này sử dụng
thuật toán Quick sort để sắp xếp.
Phương thức binary search: static int binarySearch(type[] a, type v)
(search v trong a)
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 51/56
Mảng nhiều chiều Cách khai báo: double[][] a; a = new double[N][M];
Cách truy nhập từng phần tử: for (int i = 1; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) {
balances[i][j] = …; } }
RAGGED ARRAYS (MảNG
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 52/56
RAGGED ARRAYS (MảNGVụN) Mảng mà các hàng khác nhau sẽ có độ dài khác
nhau. Ví dụ:
1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
RAGGED ARRAYS (MảNG
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 53/56
RAGGED ARRAYS (MảNGVụN) Cách khai báo: (dạng tam giác vuông) int[][] odds = new int[NMAX + 1][]; for (int n = 0; n <= NMAX; n++) odds[n] = new int[n + 1];
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 54/56
Control Flow
Giống như ngôn ngữ lập trình C thì trong Java cũng cung cấp các lệnhcho phép điều khiển luồng lệnh thực hiện gồm: Các lệnh điều kiện:
if (condition) statementhoặc if (condition) statement else statement
Lệnh lặp:
do { … } while (condition);while (condition) { … }Lệnh for
Chú ý: Ta có thể khai báo trong câu lệnh for tuy nhiên biến khai báo trong câu lệnh chỉ có phạm vi trong câu lệnh for
Lệnh switch (expression) { case … }Chú ý: Trong câu lệnh expression thì phải là kiểu số nguyên hoặc một hằng
khai báo kiểu EnumVì vậy, sử dụng lệnh kiểu switch( String) { case string1: ….} //ERROR
ố ớ
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 55/56
Số lớn (Big Numbers)
Nếu sự chính xác của kiểu số nguyên cơ bảnvà số dấu phẩy động không đủ Sử dụng 2lớp BigInteger và BigDecimal
Hai lớp này được sử dụng để thao tác vớicác số có độ dài tùy ý (số lớn)
Để sử dụng 2 lớp này chúng ta cần import
gói java.math Import java.math.*
5/8/2018 Core Java_Lop Scanner.. - slidepdf.com
http://slidepdf.com/reader/full/core-javalop-scanner 56/56
Lớp BigInteger xử lý các số nguyên Lớp BigDecimal thực hiện tương tự như với số dấu
phẩy động Để chuyển một số nguyên sang một số kiểu
BigInteger ta dùng phương thức valueOf VD: BigInteger a = BigInteger.valueOf(100); Vì chúng ta sử dụng các đối tượng kiểu
BigInteger(hoặc BigDecimal) nên ta thay vì sử dụngcác toán tử *, / ta dùng các phương thức multiply
hoặc divide đã được định nghĩa trong lớp Để hiểu thêm về các phương thức trong 2 lớp này
bạn tìm hiểu thêm trong thư viện gói java.math