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

Giáo trình lập trình java ts trần anh tuấn, ths nguyễn hữu thể, ths nguyễn thị hồng nhung (đồng chủ biên)

297 2 0

Đ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

Nội dung

G1AO TRINH LAP TRINH JAVA NHA XU AT BAN MONG BAN DOC GOP Y KIEN, PHE BINH 60 - 674 - 2020 QDND - 2020 BO GIAO DUG VA DAO TAO TRU’O’NG DAI HOC CIJU LONG GIAO TRINH LAP TRINH JAVA ■ (Diing cho sinh vien ngdnh cong nghe thong tin) NHA XUAT BAN QUAN DOI NHAN DAN HdNoi-2020 ❖ Dong chii bien: TS Tran Anh Tuan ThS Nguyen Huu The ThS Nguyen Thi Hong Nhung MUC LUC • • Trang Chtro’ng 1: NGON NGLf LAP TRINH JAVA 1.1 Nen tang lap trinh Java 10 1.2 Dac diem cua Java 11 1.3 Cau true chirong trinh Java 15 1.4 Ghi chu 18 1.5 Kieu du lieu 19 1.6 Bien 25 1.7 Toantu 27 l.S.Chuoi 51 1.9 Nhap du lieu Java 64 1.10 Dinh dang xuat du lieu 68 1.11 Cau true dieu khien 70 1.12 Vong lap Java 78 1.13 Cac lenh dieu khien vong lap 84 1.14 Mang 87 1.15 Number 95 Chuang 2: LAP TRINH HUONG DOI TUONG TRONG JAVA 105 2.1 Lap trinh huong doi tuong 105 2.2 Lap va doi tuang 106 2.3 KS thira 147 2.4 Da hinh 160 2.5 Lap trim tirang 172 2.6 Interface 178 Chiroug 3: TAP HOP 193 3.1 Java Collection Framework 193 3.2 Set Interface 195 3.3 List Interface 207 3.4 Queue Interface 211 3.5 Map Interface 217 Ch iron g 4: JAVA DATABASE CONNECTIVITY 223 4.1 Gidi thieu JDBC 224 4.2 Cac phan co ban cua JDBC 225 4.3 Kien true JDBC 225 4.4 Cau hinh ket noi vai Driver JDBC 227 4.5 Tao mot co sd du lieu mau 231 4.6 Cac phucmg thuc thuang dung cua cac lap 234 4.7 Transaction 258 Phu luc 1: Cai dqt Java 269 Phu luc 2: Xu- ly ngoqi le Java 282 Phu luc 3: Huang dan sir dung gido trinh 294 Chu'O'ng NGON NGfr LAP TRINH JAVA Sun Microsystems gioi thieu ban phat hanh dau tien ciia Java vao nam 1996, da tao mot sir quan tarn dac biet, khong chi cac an ban tap chi v£ may tinh ma xu&t hien noi bat cac phirong tien truy£n thong n6i ti6ng nhir New York Times, Washington Post va Business Week Java ve co ban da dinh hinh lai ban chat cua lap trinh, thi6t lap tieu chuan moi thiet ke ngon ngu may tinh Hien nay, Java luon dung dau cac bang thong ke ve ngon ngu lap trinh bien nhat Chuong se trinh bay cac noi dung: A ■ Nen tang lap trinh Java ■ Dac diem cua Java r ■ Cau true chuong trinh Java Phu luc Xtr LY NGOAI LE TRONG JAVA Xu ly ngoai le Java la mot nhung co ch£ manh me de xu ly cac loi thdi gian chay d$ co th$ tri luong thong thudng cua ung dung Trong Java, mot ngoai le la mot su kien lam gian doan dong chay binh thudng cua chuong trinh No la mot ddi tuong duoc nem (thrown) vao thdi gian chay (runtime) Xu ly ngoai le la mot co che de xu ly cac loi thdi gian chay, su dung cac lop nhu ClassNotFoundException, lOException, SQLException, RemoteException, Uu diem cua xu ly ngoai le: Duy tri dong chay binh thudng cua ung dung Mot ngoai le thudng lam gian doan dong chay binh thudng cua ung dung la ly tai chung tdi su dung xu ly ngoai le Vi du, xem doan chuong trinh sau: 282 statement 1; statement 2; statement 3; statement 4; statement 5-,//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; _ Gia su co 10 cau lenh chucmg trinh va xay mot ngoai le tai cau lenh 5, phan lai cua ma lenh se khong dtroc thuc thi, tuc la cau lenh den 10 se khong duoc thuc thi N^u chung ta thuc hien xu ly ngoai le, phan lai cua cau lenh se duoc thuc thi Do la ly tai chung ta su dung xu ly ngoai le Java Cay phan cap cac lop ngoai le Java Lop java.lang.Throwable la lop goc cua he thong phan cap Java Exception, dupe ke thua boi hai lop con: Exception va Error Mot he thong phan cap cua cac lop Exception Java nhu sau: 283 Throwable Exception Error lOException StackOverflowError SQLException VirtualMachineError ClassNot FoundException OutOfMemoryError RuntimeException Arithmetic Exception NullPomterException NumberFormat Exception IndexOutOf BoundsException ArrayI ndexOutOf BoundsException StringlndexOutOf BoundsException ! Hinh: Cay phdn cap cua cdc lop Exception Java 284 Cac loai ngoai le Java Chu yeu co hai loai ngoai le: duoc kiem tra (checked) va khong duoc kiem tra (unchecked) C) day, mot loi (error) duoc coi la ngoai le khong duoc kiem tra (unchecked exception) Theo Oracle, co ba loai ngoai le: • Checked Exception • Unchecked Exception • Error ❖ Checked Exception Cac lop ke thua true tiep lop Throwable (ngoai tru RuntimeException va Error) duoc goi la Checked Exception Vi du: lOException, SQLException, Checked Exception duoc kiem tra tai thbi diem bien dich ❖ Unchecked Exception Cac lop ke thua RuntimeException dupe goi la Unchecked Exception Vi du: ArithaturesException, NullPulumException, ArraylndexOutOfBoundException, Unchecked Exception khong dupe kiem tra tai thbi diSm bien dich, nhung chung dupe ki6m tra chay (runtime) 285 Error A ' • Error la khong the phuc hoi Vi du: OutOfMemoryError, VirtualMachineError, AssertsError, Co tu khoa duoc su dung de xu ly cac ngoai le Java Keyword Mo ta try Tu khoa "try" dugc su dung de chi dinh mot khdi noi chung ta nen dat ngoai le Khdi try phai dugc theo sau bdi catch hoac finally catch Khdi " catch " dugc su dung de xu ly ngoai le Nd phai dugc bat dau bang khdi try finally Khoi "finally" dirge sir dung de thuc thi ma quan cua chuong trinh Nd dirge thuc thi cho du ngoai le cd dugc xu ly hay khong throw Tir khoa "throw" dirge sir dung de nem ngoai le throws Tir khoa "throws" dupe sir dung d£ khai bao cac ngoai le No khong nem mot ngoai le No chi dinh rang co the xay mot ngoai le phuong thuc 286 A • e Vi du: Su dung cau lenh try-catch de xu ly ngoai le package com.java.exception; public class JavaExceptionExample { public static void mainfString args[]) { try{ int data = 10/0; } catch (ArithmeticException e) { System.out.println(e); } // phan lai ciia chiro'ng trinh System.out.printlnf'Rest of the code "); } } K6t qua thuc thi chuang trinh: java.lang.ArithmeticException: / by zero Rest of the code Trong vi du tren, 10/0 bi 15i ArithaturesException, duac xu ly bcri mot khoi try-catch 287 Cac tinh huong bien ve ngoai le Java Co mot so tinh huong cac trudng hop ngoai le khong dupe kiem soat co the xay Chung la nhu sau: Kick ban xdy ArithaturesException Neu chung ta chia bat ky so nao cho so 0, se xay ArithaturesException int a=50/0; //ArithmeticException Kick ban xdy NullPulumException Neu chung ta co mot gia tri null bat ky bien nao, viec thuc hien bat ky thao tac nao tren bien se tao mot NullPulumException t r r String s=null; System.out.println(s.length()); //NullPoin terException Kick ban xdy NumberFormatException Dinh dang sai cua bat ky gia tri nao co the xay NumberFormatException Gia su toi co mot bi£n chubi co cac ky tu, chuyen doi bien chu so se xay NumberFormatException String s="abc"; int i=Integer.parseInt(s);//NumberFormatException 288 ♦♦♦ Kick ban xdy ArraylndexOutOJBoundException r r Neu chung ta dang chen bat ky gia tri nao vao chi muc • •A z 7\ r sai, dieu se dan den ArraylndexOutOfBoundException nhu dudi day: int a[l=new int[5]; a[ 10]=50; //ArraylndexOutOfBoundsException Vi du: try-catch-finally, nai ngoai le khong xay package com.java.exception; public class TryCatchFinally { public static void mainfString args[]) { try { int data = 10/5; System.out.println(data); } catch (NullPointerException e) { System.out.println(e); } finally { System.out.println("FinaIly block is always executed"); } System.out.printlnf'Rest of the code "); } } 289 Ket qua thuc thi chuang trinh: Finally block is always executed Rest of the code Vi du: try-catch-finally, nai ngoai le xay va khong duoc xu ly package com.java.exception; public class TryCatchFinally2 { public static void main(String args[]) { try{ int data = 10/0; System.out.println(data); } catch (NullPointerException e) { System.out.println(e); } finally { System.out.printlnC'fmally block is always executed"); } System.out.println("rest of the code "); } } 290 Ket qua thuc thi chtrong trinh: finally block is always executed Exception in thread "main" iava.lang.ArithmeticException: / by zero at com.java.exception.TryCatchFinally2.main (TryCatchFinally2.iava:5) Vi du: try-catch-finally, nai ngoai le xay va duoc xu ly package com.java.exception; public class TryCatchFinally3 { public static void mainfString argsfj) { try{ int data =10/0; System.out.println(data); } catch (ArithmeticException e) { System.out.println(e); } finally { System.out.println("finally block is always executed"); } System.out.printlnf'rest of the code "); } } 291 K6t qua thuc thi chuang trinh: iava.lang.ArithmeticException: / by zero finally block is always executed rest of the code Vi du: Tao phuong thuc validate( ) lay gia tri nguyen lam tham so Neu tuoi duoi 18, chung toi se nem ArithaturesException, neu khong se in mot thong diep chao mung package com.java.exception; public class ThrowExample { static void validate(int age) { if (age < 18) throw new ArithmeticExceptionf'not valid"); else System.out.printlnf'welcome to vote"); } public static void main(String args[J) { va/zdate(15); System.out.printlnf'rest of the code "); } } 292 Ket qua thuc thi chuong trinh: Exception in thread "main" java.lang.ArithmeticException: not valid at com.java.exception.ThrowExample.validate fThrowExample.iava:5) at com.java.exception.ThrowExample.main fThrowExample.java: 11) 293 Phu luc HITO'NG DAN Sir DUNG GlAO TRINH Giao trinh Lap trinh Java gom chuang: * < ■ Churong 1: Nguai hoc can nam diroc loan bo noi dung cua chuong ■ Chuang 2: Ngubi hoc can nam duoc cac ky thuat tao lop, tao doi tuong, ky thuat ke thira, abstract va interface Java ■ Chuang 3: Ngubi hoc lap trinh Java co ban chi c&n nam duoc y nghTa cua viec su dung Collection va cac Ibp ke thua tu Collection z ■ Chuang 4: Ngubi hoc can nam duoc JDBC driver, cac thao tac co ban chuong trinh Java ket nbi den ca sb du lieu Noi dung tu hoc tu muc “4.6” den cubi chuong 294 ■ Phan phu luc: Sinh vien tham khao ph4n phu luc biet each cai dat Java, cac chuong trinh applet, dd hoa, each xu ly ngoai le chuong trinh Java 295 GIAO TRINH LAP TRINH JAVA Chiu trach nhiem xuat ban: Giam doc - Tong Bien tap DAU XUAN LUAN Chiu trach nhiem ban thao: Giam doc - Tong Bien tap DAU XUAN LUAN PHAM VAN TRUONG Bien tap: Trinh bay va stfa ban in: Bia: PHAN HOANG THI DUNG HA NHA XUAT BAN QUAN DOI NHAN DAN 23 Ly Nam De - Ha Noi DT: 024.38455766 - 37470780; Fax: 024.37471106 Website: http://nxbqdnd.com.vn Email: nxbqdnd@nxbqdnd.com.vn Chi nhanh tai Thanh Ho Chi Minh So 161-163 Tran Quo'c Thao, phifbng 9, quan DT: 028.62565588 - 069.667452; Fax: 028.62565588 Cd quan Dai di^n tai Thanh Can The? Phi tru&ng 31 - dtfcrng Cach mang thang Tam DT: 069.629905 - 0292.3814772; Fax: 0292.3814772 Cd quan Dai di^n tai Thanh Da N^ng So' 172 ddbng 2-9, quan Hai Chau DT: 0236.6250803; Fax: 0236.6250803 In xong va nop lifu chieu: Quy I - 2020 Kho sach: 14.5 x 20.5 cm So trang: 296 Sb litong: 323 Sb dang ky KHXB: 674-2020/CXBIPH/4-19/QDND Quyet dinh xuat ban sb: 41/QD-NXBQDND thang nam 2020 Sap chCf tai: Chi nhanh NXB QBND tai TP.Ho Chi Minh In va dong sach: Cong ty co phan In khuyen hoc phia Nam L6 B5-8, dubng D4, KCN Tan Phu Trung, Cu Chi, Ho Chi Minh ISBN: 978-604-51-5931-6

Ngày đăng: 15/11/2023, 14:37