56
 Chương 3 Core Java

Core Java_Lop Scanner

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