1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mã hóa thông tin với java (tập 1 java căn bản) phần 2

86 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 19,19 MB

Nội dung

Trang 1

Chương 4: Sơ lược vẻ luồng và cơ sở dữ liệu m¡ [MP Chuong 4:

So: luge vé ludng va co sở dữ liệu

Nhập uò xuất một cơ sở dữ liệu đơn giản

Trong chương này, chúng tôi sẽ minh hoạ một số chương trình về thao tác cơ sở dữ liệu Bạn đọc nên đọc kỹ và thử lại để

hiểu rõ hơn Khi đã nắm bắt được các vấn để về thao tác cơ sở dữ liệu, bạn hãy thử phát triển một số chương trình cho cơ sở đữ liệu

của riêng mình

Chương trình DœfœFile1.jauø sau đây sẽ xử lý một cơ sở dữ liệu nhân viên:

import java.io.*; //DataFile1 java import java.util.*; public class DataFile1 { public static void main(String[] args) {

Employee[] staff = new Employee[3];

staff[0] = new Employee("Cracker’, 75000,1987, 12, 15); staff[1] = new Employee("Hacker", 50000,1989, 10, 1), staff[2] = new Employee("Tester’ , 40000,1990, 3, 15);

Trang 2

[MỊ? ;› Chương 4: Sơ lược về luồng và cơ sở dữ liệu

System.out.printin("Print the employee records:"); for (int i=0; i < staff.length; i++)

System.out.printIn(staff[i]); System.out.printin(‘\n’);

//Save all employee records to the file employee.dat PrintWriter out = new PrintWriter(

new FileWriter(*employee.dat')); writeData(staff, out);

out.close();

//Retrieve all records into a new array BufferedReader in = new BufferedReader(

new FileReader(“employee.dat")); Employee[] newStaff = readData(in); in.close();

System.out.printin(*Print the newly read employee records:");

Trang 3

Chuong 4: So luge vé ludng va co sd dif liu

Veatch

public static void main(String[] args)

static void writeData(Employee[] ee, PrintWriter out) throws IOException

{

out.printin(ee.length);

for (int i=0; i < ee.length; i++) ee[i].writeData(out);

Wistatic void writeData

static Employee[] readData(BufferedReader in)

throws IOException

{

int n = Integer.parselnt(in.readLine()); Employee[] ee = new Employee[n);

for (int i=0; i <n; i++) , { ee[i] = new Employee(); ee[i].readData(in); } return ee;

static Employee[] readData

Trang 4

M + Chương 4: Sơ lược về luông và cơ sở dữ liệu class Employee { public EmployeeQ {}

public Employee(String n, double s, int year, int month, int day)

{

name = n;

salary = S;

GregorianCalendar calendar

Trang 6

Chương 4: Sơ lược về luồng và cơ sở dữ liệu + (calendar.get(Calendar.MONTH) + 1) + '!' + calendar.get(Calendar.DAY_OF_MONTH)); )//public void writeData public void readData(BufferedReader in) throws IOException { String s = in.readLine(); StringTokenizer t = new StringTokenizer(s, '!'); name = t.nextToken(); salary = Double.parseDouble(t.nextToken()); int y = Integer.parselnt(t.nextToken()); int m = Integer.parselnt(t.nextToken()); int d = Integer.parselnt(t.nextToken()); GregorianCalendar calendar = new GregorianCalendar(y,m-1,d); hireDay = calendar.getTime();

V//public void readData

private String name; private double salary; private Date hireDay;

V/class Employee

Két qua thuc thi chuong trinh DataFilel.java:

Print the employee records:

Employee[name=Cracker,salary=75000.0,hireDay=Tue Dec 15 00:00:00 CET

Trang 7

Chương 4: Sơ lược về luồng và cơ sở dữ liệu 77 M° Employee{name=Hacker,salary=50000.0, hireDay=Sun Oct 01 00:00:00 CEST

1989]

Employee[name=Tester,salary=40000.0,hireDay=Thu Mar 15 00:00:00 CET

1990]

Print the newly read employee records:

Trang 8

MP 78 Chương 4: Sơ lược về luồng và cơ sở dữ liệu boss.setBonus(5000); Employee[] staff = new Employee(3]; staff[0] = boss;

staff[1] = new Employee("Hacker* , 50000,1989, 10, 1); staff[2] = new Employee("Tester’ , 40000,1990, 3, 15);

try {

System.out.printin("Print the employee records:"); for (int i=0; i < staff.length; i++)

System.out.printIn(staff[i]); System.out.println(n");

//Save all employee records to the file employee.dat ObjectOutputStream out = new ObjectOutputStream(

new FileOutputStream("employee.dat'));

out.writeObject(staff); out.close();

//Retrieve all records into a new array

ObjectInputStream in = new ObjectinputStream( new FileInputStream(“employee.dat"));

Trang 9

Chuong 4: So luge vé luéng và cơ sở dữ liệu

System.out.printin(“Print the newly read employee records:’), for (int i=0; i < newStaff.length; i++) System.out.printIn(newStaff[]); Vitry catch(Exception e) { e.printStackTrace(); Vicatch

Vipublic static void main(String[] args) \/public class DataFile2

class Employee implements Serializable

{

public Employee() {}

Trang 11

Chương 4: Sơ lược về luồng và cơ sở dữ liệu { return getClass().getName() + "[name=' + name + ",salary=" + salary + ",hireDay=" + hireDay +”; }

private String name; private double salary; private Date hireDay;

V//class Employee implements Serializable

class Manager extends Employee

{

public Manager(String n, double s, int year, int month, int day) { super(n, s, year, month, day); bonus = 0; } public double getSalary() {

Trang 12

M' s Chương 4: Sơ lược về luỗng và cơ sở dữ liệu ) public void setBonus(double b) { bonus = b; ) public String toString() { return super.toString() + "[bonus=" + bonus +? }

private double bonus;

\//class Manager extends Employee

Két qua thuc thi chuong trinh DataFile2 java: Print the employee records:

Trang 13

Chương 4: Sơ lược về luồng và cơ sở dữ liệu 83 MỊI° Manager[name=Cracker,salary=80000.0,hireDay=Tue Dec 15 00:00:00 CET 1987][bonus=5000.0] Employee[name=Hacker,salary=50000.0,hireDay=Sun Oct 01 00:00:00 CEST 1989] Employee[name=Tester,salary=40000.0,hireDay=Thu Mar 15 00:00:00 CET 1990] Xét chuong trinh DataFile3 java sau day: import java.io.*; import java.util.*; Class DataFile3 { * public static void main(String[] args) {

Trang 14

Qu? 84 Chương 4: Sơ lược về luỗng và cơ sở dữ liệu

for (int i=0; i < staff.length; i++) System.out.printIn(staff[i]); System.out.printlnft);

//Save all employee records to the file employee.dat ObjectOutputStream out = new ObjectOutputStream(

new FileOutputStream ("employee.dat")); out.writeObject(staff);

out.close();

//Retrieve all records into a new array

ObjectInputStream in = new ObjectinputStream( new FilelnputStream("employee.dat’)); Employee[] newStaff = (Employee[])in.readObject(); in.close(); /Iraise secretary's salary newStaff[1].raiseSalary(10);

System.out.printin("Print the newly

read employee records:”);

for (int i=0; i < newStaff.length; i++) System.out.printin(newStaff[i]);

)/ty

Trang 15

Chương 4: Sơ lược về luồng và cơ sở dữ liệu 85 MP?

{

e.printStackTrace();

//catch

//public static void main(String[] args) V/public class DataFile3

class Employee implements Serializable { public Employee() 0} public Employee(String n, double s, int year, int month, int day) { name = n; salary = s;

Trang 16

[MỊ? ss Chương 4: Sơ lược về luồng và cơ sở dữ liệu return salary; } public Date getHireDay() { return hireDay; } public void raiseSalary(double byPercent) { double raise = salary * byPercent / 100; salary += raise; } public String toString() { return getClass().getName() + “[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + }

Trang 17

Chương 4: Sơ lược về luồng và cơ sở dữ liệu private Date hireDay;

class Employee implements Serializable

class Manager extends Employee { public Manager(String n, double s, int year, int month, int day) { super(n, s, year, month, day); secretary = null; } public void setSecretary(Employee s) { secretary = S; } public String toString() { return super.toString() + ‘[secretary=" + secretary + }

Trang 18

M' 88 Chương 4: So lược về luồng và cơ sở dữ liệu

Kết quả thực thi chương trinh DataFile3 java:

Print the employee records:

Manager[name=Cracker,salary=80000.0,hireDay=Tue Dec 15 00:00:00 CET 1987][secretary=Employee[name=Hacker,salary=50000.0,hireDay=Sun Oct 01 00:00:00 CEST 1989]] Employee[name=Hacker,salary=50000.0,hireDay=Sun Oct 01 00:00:00 CEST 1989] Employes[name=Tester,salary=40000.0,hireDay=Thu Mar 15 00:00:00 CET 1990]

Print the newly read employee records:

Trang 19

Chương 5ð: Các phương thức đọc và ghỉ 89 M

Chuong 5:

5.1 Các phương thức đọc các dữ liệu nhập - Phương thức readBooleøn() đọc một giá trị kiểu boolean, giá

trị này được biểu dién trong mét byte Nếu byte này là 0 thì giá trị tương ứng là false, néu byte nay khdc 0 thì giá trị tương ứng là

true Giá trị trả về của phương thức readBoolean() 1a gid tri nhi phân đọc được, nghĩa là false hodc true

Cú pháp của phương thức là:

public final boolean readBoolean() throws I0Exception

- Phương thức readByie() đọc một byte va cé giá trị trả về là byte đọc được

Cú pháp của phương thức là: public final byte readByte() throws I0Exception

- Phương thức readUnsignedByte() đọc một byte và có giá trị

trả về là số nguyên ¿m£ đọc được; 24 bit cao của số nguyên int nay đều bằng 0, vậy số nguyên im này là số dương

Cú pháp của phương thức là:

public final int readUnsignedByte() throws I0Exception

- Phương thức readChar( đọc một ký tự Unicode 16 bit va cé

giá trị trả về là ký tự đọc được:

Cú pháp của phương thức là: public final char readChar() throws IOException

- Phuong thite readFully() dye một số byte mong muốn

Trang 20

QAP 20 Chương 5: Các phương thức đọc và ghi

public final void

readFully(byte[] buffer) throws IOException public final void

readFully(byte[] buffer, int offset, int count) throws IOException

- Phuong thtic readDouble() doc mét double có 64 bit và có

gid tri tra vé 14 double doc duge Cú pháp của phương thức là:

public final double readDouble() throws IOException

- Phuong thie readFloat() doc mét float cé 32 bit và có giá trị

tra vé 1a float doc duge

Cú pháp của phương thức là: public final float readFloat() throws IOException

- Phuong thie readInt() doc mét sé nguyén kiéu int c6 32 bit và có giá trị trả về là số nguyên ¿m đọc được

Cú pháp của phương thức là: public final int readint() throws IOException

- Phuong thtic readLong() doc mét sé nguyén kiéu long c6 64 bit và có giá trị trả về là số nguyên /ong đọc được

Cú pháp của phương thức là: public final long readLong() throws IOException

- Phương thức reœdShort() đọc mét sé nguyén kiéu short cé

16 bit và có giá trị trả về la sO nguyén short doc được Cú pháp của phương thức là:

public final short readShort() throws IOException

- Phương thức readŨnsignedShortQ đọc 16 bit và có giá trị

trả về là số nguyên ¿n¿ đọc được; 16 bit cao của số nguyên ¿n này

Trang 21

Chwong 5: Các phương thức đọc và ghi a A?

Cú pháp của phương thức là:

public final int readUnsignedShort() throws IOException

- Phương thức reødLine() đọc một chuỗi byte mà chữ cuối là ký tự xuống hàng và có giá trị trả về là một chuỗi; đó là chuỗi các

byte đọc được, không có ký tự xuống hàng Nếu không có by£e nào

đọc được, thi gid tri tra vé 1a null Cú pháp của phương thức là:

public final String readLine() throws I0Exception

- Phương thức reedUTF() đọc một chuỗi ký tự Unicode trong luéng nhap di liệu và có giá trị trả về là chuỗi ký tự đọc được, UDF là viết tắt của Unicode Transfer Format Nếu không có ký tự nào đọc được, thì giá trị trả vé 1a null

Cú pháp của phương thức là:

public final String readUTF() throws IOException - Phương thức:

final int read(byte[] buffer) throws IOException

viết toàn bộ by/e từ luỗng nhập vào vùng dém byte array buffer

Giá trị trả về là số by£e đọc được Nếu không có byfe nào đọc được,

thì giá trị trả về là -1 - Phương thức:

public final int read (byte[] buffer,int offset, int count)

throws IOException

viết count số by£e từ luồng nhập vào vùng dém byte array buffer,

bat dau tit vi tri offset Gia tri tra vé 1a 86 byte doc duge Néu không có byte nao đọc được, thì giá trị trả về là -1

- Phương thức available() ding để xác định số lượng byíe của một tệp đã nhập; khi cée byte được đọc trên luồng nhập, số lượng

Trang 22

92 Chương ð: Các phương thức đọc và ghi

- Phương thức uoid ciose() dùng để đóng các luồng nhập hoặc xuất; nếu ta vẫn đọc hoặc ghi, thì ngoại lệ 7OException sẽ xuất

hiện

- Phương thức s&ipBy£es() dùng để bỏ qua một sé byte mong

muốn và giá trị trả về là số byfe bị bỏ qua

Cú pháp của phương thức là: int skipBytes(int count) throws IOException

S6 byte bi bé qua bang véi count, kiéu int

- Phuong thtic skip() ding dé bd qua mét sé byte mong muén

và giá tri tra vé 14 sé byte bi bé qua

Cú pháp của phương thức là: long skipBytes(long count) throws IOException

Trang 23

Chương 5: Cac phuong thiic doc va ghi 93 (pal FileInputStream file_in; DatalnputStream data_in; try {

file_in = new FilelnputStream(args{0]);

Trang 25

Chương 5: Các phương thức đọc và ghỉ os f°

5.2 Các phương thức viết các dữ liệu xuất

- Phương thức wri£eBoolean() viết một giá trị val cha một boolean, dt liéu xudt (output) 14 mot byte; val 1a false néu byte nay

la 0, val 1a true néu byte 1a 1

Cú pháp của phương thức là:

void writeBoolean(boolean val) throws IOException

- Phương thức writeByte() viét một byte, dit ligu xuat (output) 1a mét byte, gid trị của byte nay 1a byte thấp nhất của số nguyên

val

Cú pháp của phương thức là: void writeByte(int val) throws IOException

- Phương thức writeBytes() viết một chuỗi by¿e, dữ liệu xuất (output) là một chuỗi byíe, giá trị cia moi byte nay 1a byte thap của mỗi mã Unicode 16 bit của chuỗi sứr

Cú pháp của phương thức là:

void writeBytes(String str) throws 10Exception

- Phương thie writeChar() viét mot ky tu Unicode 16 bit, dữ liệu xuất (output) là 16 bit thấp của sé nguyén val

Cú pháp của phương thức là: void writeChar(int val) throws IOException

- Phương thức writeChars() viết một chuỗi ký tự Unicode

Cú pháp của phương thức là: void writeChars(String str) throws IOException

- Phương thtic writeDouble() viét một double cé 64 bit Cú pháp của phương thức là:

void writeDouble(double val) throws IOException

- Phuong thie writeFloat() viết một floa‡ có 32 bit

Trang 26

96 Chuong 5: Cac phuong thtic doc va ghi

Cú pháp của phương thức là: void writeFloat(float val) throws IOException

- Phuong thức :øriteÏn£() viết một số nguyên kiéu int có 33

bít :

Cú pháp của phương thức là: void writelnt(int val) throws IDException

- Phương thức rieLongQ viết một số nguyên kiểu long có

64 bit

Cú pháp của phương thức là: void writeLong(long val) throws IOException

- Phương thức œri£eShort(Q viết một số nguyên kiểu short có 16 bit, như vậy chỉ có 16 bit thấp của số nguyên val dude viét

Cú pháp của phương thức là: void writeShort(int val) throws IOException

- Phuong thtic writeUTF() viết một chuỗi ký tự Unicode Cú pháp của phương thức là:

void writeUTF(String str) throws IOException

- Phương thitc void flush() két thúc xuất và xóa vùng đệm

- Phương thức:

void write(int oneByte) throws IOException

viết 8 bit cấp thấp nhất của số nguyên oneByte vào luỗng xuất - Phương thức:

void write(byte[] buffer) throws IOException

viét toan bé byte cia ving dém byte array buffer vao luéng xuat

- Phương thức:

Trang 27

Chuang 5: Céc phuong thiic doc va ghi s7 [MỸ

throws IOException

viét count s6 byte tit vang đệm byte array buffer vao luéng xuat, bắt đầu từ vị tri offset

- Phương thức:

void write(int ch) throws IOException

viết 16 bit cấp thấp nhất của ch vào luồng xuất

- Phương thức: void write(char[] charArray)

viết toàn bộ mảng ký tự cbarArray vào luồng xuất

- Phương thức:

void write(char[] charArray, int offset, int count)

viét count ky ty từ mảng ký tự charArray bắt dau tu vi tri offset, vào luồng xuất

- Phương thức: void write(String str)

viết chuỗi sứr vào luồng xuất

- Phương thức:

void write(String str, int offset, int count)

Trang 28

< AAl° 98 Chương 5: Các phương thức đọc và ghỉ { if (args.length != 1) { System.err.println ('Usage: java Main <output from DataOutput example>"); System.exit(-1); ) FileOutputStream file_ out; DataOutputStream data_out; try {

Trang 29

Chương ð: Các phương thức đọc và ghi 99 rg data_out.writelnt(678); data_out.writeLong(678L); data_out.writeShort(d); data_out.writeUTF(c); data_out.writeUTF("abc\n’); data_out.flush(); System.out.printin("Size of file written: * + data_out.size()); data_out.close(); } catch(IOException e) { System.out.printin(e); } ) //class Output† Khi gõ:

c:\javawork>javac Output java c:\javawork>java Output! Output txt

Trang 30

+ M 100 Chương ð: Các phương thức đọc và ghi { public static void main(String[] args) { if (args.length != 1) { System.err.printin (Usage: java Main <output from DataOutput example>"); System.exit(-1); } FilelnputStream file_in; DatalnputStream data_in; try {

Trang 31

Chương 5ð: Các phương thức đọc va ghi System.out.printin('d1: " + đ1); float f1 = data_in.readFloat(); System.out.printIn(f1: * + f1); int ¡1 = data_in.readInt(); System.out.printin(“i1: * + i1); long L1 = data_in.readLong(); System.out.printin("L1: * + L1); short s1 = data_in.readShort(); System.out.printin(‘s1: " + s1); data_in.close(); ) catch(I0Exception e) { System.out.printin(e), } } Viclass Output2 Khi go: c:\javawork>javac Output2.java

Trang 32

102 d1: 123.456 fi: 123.456 i1: 678 L1: 678 si: 4

Chương ð: Các phương thức đọc va ghi

Trang 33

Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long 103 ga? Chuong 6: Cade phutong thie oÈ số nguyén kiéu int /, ặ l on [ 6.1 Các phương thức về số nguyên kiểu int 6.1.1 Các phương thức giá trị - Phương thức:

public double doubleValue()

có giá trị trả về là double, bằng cách ép kiểu giá tri int cua déi

tượng thành giá trị double

- Phương thức:

public float floatValue()

có giá trị tra va 1a float, bing cach ép kiểu giá tri int cha doi

tượng thành gia tri float

- Phương thức:

public int intValue()

có giá trị trả vé 1a int, bằng cách ép kiểu giá trị của đối tượng

thanh gid tri int

- Phương thức:

public long longValue()

có giá trị trả về là long, bằng cách ép kiéu gid tri int cha đối tượng

thành giá trị ong Ví dụ:

Trang 34

PA? 104 Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long float f = iobjet.floatValue();

int i = jobjet.intValue(); long L = iobjet.longValue();

6.1.2 Đối tượng Integer

- Su tao dung (constructor) Integer() tao dung đối tượng Integer tit mét int hay mét chudi

- Sự tạo đựng: public Integer(int val)

tạo dựng đối tượng Integer bang tri sé val

- Sự tạo dung:

public Integer(String str) throws NumberFormatException

tạo dựng đối tượng Infeger bằng biểu diễn dạng chuỗi (string

Tepresentation) của số nguyên thập phân (cơ số 10)

Ví dụ:

Integer a = new Integer(123); // using integer Integer b = new Integer(“123”); // using string

Ghỉ chú:

Các thé hién (instance) cia lép Integer khong thé ding trong các phép tính số học Vi du:

Integer ¡1 = new Integer(1); Integer i2 = new Integer(2); int i3 = i1 + i2; // illegal

int i3 = ¡1.intValue() + i2.intValue();

6.1.3 Các phương thức chuyển đổi kiểu

- Phương thức uaiueOƒft) xây dựng một đối tượng Integer bing

Trang 35

Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long 105 ae Cú pháp của phương thức là: public static Integer valueOf(String str) throws NumberFormatException public static Integer valueOf(String str, int radix) throws NumberFormatException - Phương thức øœiueOf là một phương thức ngược của toString0 Ví dụ: String str = “1234”; try {

Integer i1 = Integer valueOf(str),// parse number in radix 10

Integer i2 = Integer valueOf(str,46// parse number in radix 16 ) catch (NumberFormatException e) { System.err.printin(“Could not convert string to number , + str); }

Trang 36

° 106 Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long - Phuong thức: public static int parselnt(String str, int radix) throws NumberFormatException cing tuong tu, véi sé nguyén c6 co s6(radix) Vi du: try { int i = Integer.parselnt("25”); int octNum = Integer.parseint(“025”,8); } catch (NumberFormatException @) { }

- Phuong thie chuyén déi parselnt() 1A mét phuong tht ngược của £oSífring() và tương tự như 0uaiueOft) Khác nhau là giá trị trả về của parseInt() là một số nguyên ¿inứ, còn giá trị trả về của 0œeOƒ0 là một đối tượng Integer

- Phương thức £oSiring() xây dựng sự biểu diễn dạng chuỗi của một số nguyên ¿m hay một đối tượng Infeger

Cú pháp của phương thức là: public String toString()

public static String toString(int num)

public static String toString(int num, int radix)

Phuong thtte public String toString0 có giá trị trả về là sự biểu diễn dạng chuỗi của giá trị im của một đối tugng Integer

Phương thtic public static String toString(int num) cé gia tri

trả về là sự biểu diễn dạng chuỗi của số nguyén num

Phuong thc public static String toString(int num, int radix)

Trang 37

Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long 107 MỊ?

Ví dụ:

Integer num = new Integer(25);

String str1 = num.toString(); // from Integer objet String str2 = Integer.toString(25); // from radix 10 int String str3 = Integer.toString(25,8); // from octal int

String str4 = “The three numbers are “ + str1 +“, “+ str2 +”, “+ str3; Xét chương trinh Int1 java: import java.io.*; class Int { public static void main(String[] args) { Integer iobjet = new Integer(1234567890), double d = iobjet.doubleValue(); float f = iobjet.floatValue(); int i = iobjet.intValue(); long L = iobjet.longValue(); System.out.printin('d: "+d4+",f"+f+", i’ +ie b+); String str = "123456"; try { ¡ = Integer.parselnt("1234567890'); int octNum = Integer.parselnt('025”,8);

System.out.printin("i: " + i + *, octNum: * + octNum);

Trang 38

IMỊ 108 Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long Integer i2 = Integer.valueOf(str, 8); Integer i3 = Integer.valueOf(str, 16); Integer num = new Integer(123456); String str1 = num.toString(); String str2 = Integer.toString(123456); String str3 = Integer.toString(123456,2); String str4 = Integer.toString(123456,8); String str5 = Integer.toString(123456,16); String str6 = "The three numbers are" + str† + ", " + str2 +) + S3 +”, "+ stra +", "+ strd; System.out.println(i1: " + ¡† + ", i2: " + i2 + ", i8: " + i8); System.out.println("str6: " + str6); } catch(NumberFormatException e) { System.err.printin("Could not convert string to number " + str); } } 1//elass Int† / Kết quả thực thi chuong trinh Int1.java: d: 1.23456789E9, í: 1.23456794E9, ¡: 1234567890, L: 1234567890 i: 1234567890, octNum: 21

i1: 123456, i2: 42798, i3: 1193046

str6: The three numbers are 123456, 123456, 11110001001000000, 361100,

Trang 39

Chương 6: Các phương thức về số nguyên kiéu int hoặc kiểu long 109

- Phương thức /oBinarySiring() xây dựng sự biểu diễn nhị phân của một số nguyên irứ

Cú pháp của phương thức là:

public static String toBinaryString(int num)

Phương thức này không tương đương với toString(num, 2), vi

toString(num, 2) xử lý num như một số nguyên có dấu Nếu nưm là một số âm thì toString() xt ly trị số tuyệt đối của nưmvà thêm dấu — vào sự biểu diễn nhị phân

- Phương thức foHexString0 xây dựng dạng biểu điễn thập

lục phân (hexadecimal string representation) của một số nguyên int

Cú pháp của phương thức là: public static String toHexString(int num)

Phương thức này không tương đương với toString(num, 16),

vi toString(num, 16) xử lý num như một số nguyên có dấu Nếu num là một số âm thì £oString0 xử lý trị số tuyệt đối của numvà thêm dấu — vào dạng biểu diễn thập lục phân

- Phương thức toOctalString0 xây dựng dạng biểu diễn bát phân (octal string representation) của một số nguyên in

Cú pháp của phương thức là: public static String toOctalString(int num)

Phương thức này không tương đương với toString(nưm, 8), vì

toString(num, 2) xử lý num như một số nguyên có đấu Nếu nưm là một số âm thi toString() xt lý trị số tuyệt đối của num va them dấu - vào dạng biểu diễn bát phân

- Phương thức equdis() kiểm tra sự bằng nhau của hai đối

tượng

Cú pháp của phương thức là:

Trang 40

MP: 10_ Chương 6: Các phương thức về số nguyên kiểu int hoặc kiểu long Lénh il.equals(i2) c6 gid tri tra vé 1A true (hoae false) néu

hai đối tượng ¿1, ¿2 bằng nhau (hoặc khác nhau)

Ví dụ:

Ngày đăng: 18/10/2022, 20:58

w