TỔNG QUAN LẬP TRÌNH JAVA

Similar documents
Tài liệu hướng dẫn: Stored Procedure

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

Nhấn nút New để tạo 1 biến mới Trang 17

CẤU TRÚC DỮ LIỆU NÂNG CAO

Chương 5. Network Layer 19/09/2016 1

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

STACK và QUEUE. Lấy STACK

Tạo Project với MPLAB

Tình huống 1: PPPoE với Username và Password

Entity Framework (EF)

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

Bài tập lớn số 1. Giả lập bộ định thời

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

SIMULATE AND CONTROL ROBOT

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Mô hình dữ liệu quan hệ (Relational data model)

TỔNG QUAN VỀ.NET VÀ C#

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

Bài tập căn bản Visual Basic.Net Vòng lặp. txtn. txtketqua. btntinh. txtn. txtketqua. btntinh. Trang 1

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Bài 7: Các cấu trúc điều khiển

Hướng dẫn cài đặt FPT

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

BELGIUM ONLINE APPOINTMENT

Bài 10: Cấu trúc dữ liệu

LÂ P TRI NH WEB ASP.NET

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

PHÁT TRIỂN ỨNG DỤNG WEB

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

JAVASCRIPT. Giảng viên : Ths. PHẠM ĐÀO MINH VŨ

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

Google Search Engine. 12/24/2014 Google Search Engine 1

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

Đa ngôn ngữ (Internationalization) trong Servlet

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

Môn Học: Cơ Sở Dữ Liệu 2. Chương 3 LẤY DỮ LIỆU TỪ NHIỀU NGUỒN

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

Các kiểu định địa chỉ họ MSC-51

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

Lecture 12. Trees (1/2) Nội dung bài học:

SIEMENS INDUSTRIAL NETWORKS

GV: Phạm Đình Sắc or

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

Tìm hiểu Group Policy Object và các ví dụ

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

biến Global có thể được áp dụng cho tất cả các extension trong tất cả các context trong Dialplan.

BẢO MẬT TRONG SQL SERVER

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

MỤC LỤC. Giáo trình Thiết kế web Trang 1

1 Bước 1: Test thử kit LaunchPad.

I. Hướng Dẫn Đăng Nhập:

HƯỚNG DẪN QUẢN TRỊ HỆ THỐNG

Cập nhật ResultSet trong JDBC

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

Dọn "rác" Windows 7 vào dịp cuối năm

Module2: Lập trình Shell và C Quản lý tiến trình A. TÓM TẮT LÝ THUYẾT:

Tính kế thừa-2. Bởi: Thanh Hiền Vũ. Định nghĩa lại các thành viên lớp cơ sở trong một lớp dẫn xuất:

MA NG MA Y TI NH (Computer Networks)

Kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly

LINQ TO SQL & ASP.NET

Cấu hình Router FTTH ---X---

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS)

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

2.4. GIAO THỨC MQTT Các khái niệm cơ bản MQTT được phát triển bởi IBM và Eurotech, phiên bản mới nhất là MQTT 3.1 MQTT (Giao vận tầm xa) là

Câu 1. Thiết bị nào sau đây dùng để kết nối mạng? a)ram b)rom c)router d)cpu Câu 2. Hệ thống nhớ của máy tính bao gồm: a) Bộ nhớ trong, Bộ nhớ ngoài

BÀI LAB ĐỔI TÊN DOMAIN

ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN: AN NINH MẠNG

LỖI LÚC THỰC THI và QUÁ TRÌNH GOM RÁC

LƠỜ I NOÓ I ĐAẦ U. Chương 2: Tìm kiếm và sắp xếp o Tìm kiếm o Sắp xếp

Transcription:

Chương 3 TỔNG QUAN LẬP TRÌNH JAVA Giảng viên : Trần Thị Anh Thi Email: tranthianhthi@hui.edu.vn WebBog: http://tranthianhthi.wordpress.com TỔNG QUAN LẬP TRÌNH JAVA Giới thiệu ngôn ngữ lập trình java Tạo, biên dịch và thực thi java. Các kiểu dữ liệu cơ bản. Khai báo và sử dụng các biến. Các biểu thức và độ ưu tiên toán tử. Thư viện. Slide : 2 Giới thiệu ngôn ngữ lập trình java Java là gì? Java là ngôn ngữ lập trình hướng đối tượng do Sun Microsystem đưa ra vào giữa thập niên 90. Chương trình Java: Một chương trình được tạo thành từ một hoặc nhiều lớp (class). Mỗi lớp chứa một hoặc nhiều phương thức (method). Một phương thức chứa các chương trình lệnh (program statement) Một chương trình java luôn luôn chứa một phương thức được gọi là main Slide : 3 1

CẤU TRÚC CHƯƠNG TRÌNH JAVA // Ghi chú về lớp public class MyProgram { Phần đầu của lớp Thân lớp } Các ghi chú có thể đặt bất cứ ở vị trí nào Slide : 4 Java Program Structure // Ghi chú về lớp public class MyProgram { // Ghi chú về phương thức public static void main (String[] args) { Phần đầu phương thức Thân phương thức } } Slide : 5 GHI CHÚ TRONG JAVA Giải thích chương trình. Lập tài liệu cho chương trình: Tác giả, version, những đặc điểm của chương trình. Không ảnh hưởng đến hoạt động chương trình. Có 3 dạng: // Ghi chú đặt ở cuối dòng /* Ghi chú trên nhiều dòng */ /** Ghi chú javadoc */ Slide : 6 2

Cách đặt tên (Identifier) Một tên có thể được tạo từ các ký tự, các số, ký tự gạch dưới ( _ ), và dấu $. Một tên không thể bắt đầu là số, ký tự đặc biệt. Java phân biệt chữ thường và chữ hoa. Total, total, và TOTAL là các tên khác nhau. Slide : 7 Từ khóa trong java Các từ khóa trong java: abstract assert boolean break byte case catch char class const continue default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while Slide : 8 Phương thức println System.out.println ( Hello world."); object Tên phương thưc Các tham số Slide : 9 3

Chuỗi các ký tự Một chuỗi các ký tự hay còn gọi là hằng chuỗi, được đặt trong cặp ngoặc kép. Ví dụ: Đây là một hằng chuỗi." 12 Nguyễn Văn Bảo, quận Gò Vấp." Ta dùng toán tử (+) để ghép các chuỗi. Slide : 10 Escape Sequences Escape Sequence \b \t \n \r \" \' \\ Meaning backspace tab newline carriage return double quote single quote backslash Slide : 11 Công cụ soạn thảo Notepad Jbuilder Eclipse EditPlus Jcreator Slide : 12 4

Biên dịch và thực thi java 1. Chương trình nguồn được viết bằng ngôn ngữ Java (*.java). 2. Trình biên dịch Java biên dịch chương trình nguồn sang bytecode (*. class) 3. Các file.class được nạp vào bộ nhớ và thực thi bởi máy ảo Java (JVM) Slide : 13 Biên dịch và thực thi java Java source code Java bytecode Java compiler Bytecode interpreter Bytecode compiler Machine code Slide : 14 CÁC BƯỚC CƠ BẢN KHI VIẾT CHƯƠNG TRÌNH Edit and save program errors errors Compile program Execute program and evaluate results Slide : 15 5

Các kiểu dữ liệu cơ bản Có 8 kiểu dữ liệu cơ bản trong java. 4 kiểu biểu diễn số nguyên: byte, short, int, long 2 kiểu biểu diễn số thực: float, double 1 biễu diễn các ký tự: char Và 1 biểu diễn cho giá trị luận lý (true, false): boolean Slide : 16 Khai báo và sử dụng các biến Biến là một giá trị có thể thay đổi khi chương trình thực thi. Khi biến được tạo sẽ xuất hiện một vùng nhớ để lưu trữ giá trị của biến. Một biến phải được khai báo trước khi sử dụng (tên biến và kiểu dữ liệu) Kiểu dữ liệu Tên biến int total; int count, temp, result; Slide : 17 Khởi tạo biến Một biến được khởi tạo giá trị khi khai báo biến. int sum = 0; int base = 32, max = 149; Slide : 18 6

Phép gán Phép gán làm thay đổi giá trị của một biến. Toán tử gán (=). total = 55; Slide : 19 Hằng Một hằng tương tự như biến như giá trị của nó luôn luôn không đổi. Trình biên dịch sẽ phát sinh lỗi nếu ta cố tình thay đổi giá trị của hằng. Trong Java, ta dùng final để khai báo hằng. final int MIN_HEIGHT = 69; Slide : 20 Các biểu thức Một biểu thức là một sự kết hợp giữa các toán tử và các toán hạng. Các toán tử số học: Cộng Trừ Nhân Chia Số Dư + - * / % Nếu trong biểu thức có chứa số thực thì kết quả trả về số thực. Slide : 21 7

Chia và số dư Nếu các toán hạng trong phép chia (/) là các số nguyên, thì kết quả là số nguyên. 14 / 3 equals 8 / 12 equals 4 0 Phép chia lấy dư (%): 14 % 3 equals 8 % 12 equals 2 8 Slide : 22 Độ ưu tiên các toán tử Slide : 23 Độ ưu tiên các toán tử Thứ tự thực hiện của biểu thức sau? a + b + c + d + e 1 2 3 4 a + b * c - d / e 3 1 4 2 a / (b + c) - d % e 2 1 4 3 a / (b * (c + (d - e))) 4 3 2 1 Slide : 24 8

Phép gán Phép gán có độ ưu tiên thấp hơn độ ưu tiên của các toán tử số học. Thực hiện vế phải của phép gán answer = sum / 4 + MAX * lowest; 4 1 3 2 Kết quả được lưu trữ vào biến bên vế trái. Slide : 25 Phép gán Bên phải và bên trái của phép gán chứa cùng một tên biến. Tăng giá trị biến count lên 1 count = count + 1; Kết quả ghi lại vào biến count Slide : 26 Toán tử tăng / giảm Toán tử tăng (++) Toán tử giảm (--) Câu lệnh count++; tương đương với count = count + 1; Slide : 27 9

Các phép gán Có nhiều phép gán trong java: Operator += -= *= /= %= Example x += y x -= y x *= y x /= y x %= y Equivalent To x = x + y x = x - y x = x * y x = x / y x = x % y Slide : 28 Ép kiểu dữ liệu Đôi khi ta cần chuyển dữ liệu từ kiểu dữ liệu này sang kiểu dữ liệu khác. Khi thực hiện ép kiểu, cần làm thận trọng tránh bị mất mát thông tin. Widening conversions: An toàn (ví dụ short sang int) Narrowing conversions: Có thể bị mất thông tin (ví dụ int sang short) Trong java, có 3 cách ép kiểu dữ liệu: assignment conversion promotion casting Slide : 29 Ép kiểu dữ liệu Assignment conversion Ví dụ: float money; int dollars ; money = dollars; Slide : 30 10

Ép kiểu dữ liệu Promotion Ví dụ: float sum int count result = sum / count; Giá trị của count được tự động chuyển sang float để thực hiện tính toán. Slide : 31 Casting Casting Ví dụ: int total, count; result = (float) total / count; Slide : 32 package Khi ta muốn dùng một class trong một package, ta phải ghi đầy đủ đường dẫn chứa chứng. java.util.scanner Hoặc ta có thể import lớp cần dùng, và sau đó chỉ sử dụng tên lớp. import java.util.scanner; Để import tất cả các lớp trong một gói, ta dùng ký hiệu đại diện * import java.util.*; Slide : 33 11

Lớp scanner Đọc dữ liệu từ bàn phím. Tạo đối tượng để đọc từ bàn phím: Scanner scan = new Scanner (System.in); Dùng các phương thức của Scanner chúng ta có thể nhập dữ liệu từ bàn phím, như: Nhập một dòng ký tự: answer = scan.nextline(); Nhập một số nguyên: int a=scan.nextint(); Slide : 34 Lớp Random Lớp Random là một phần của gói java.util Dùng để phát sinh các số ngẫu nhiên Tạo đối tượng: Random rd=new Random(); Phát sinh số ngẫu nhiên có miền giá trị từ 0->n-1 int a=rd.nextint(n); Phát sinh số ngẫu nhiên có miền giá trị từ a -> b int t = rd.nextint(b-a+1) +a; Slide : 35 Lớp Math Là một phần của gói java.lang Chứa các phương thức có chức năng tính toán về toán học. Như: Lũy thừa (pow) Căn (sqrt) Trị tuyệt đối (abs) Các phương thức trong lớp Math là những phương thức tĩnh (static methods). Vì vậy, ta gọi trực tiếp thông qua tên lớp mà không cần tạo đối tượng. value = Math.sqrt(delta); Slide : 36 12

Định dạng kết quả xuất ra màn hình Lớp NumberFormat cho phép ta định dạng giá trị theo kiểu tiền tệ hoặc phần trăm Lớp DecimalFormat định dạng giá trị theo mẫu định dạng cho trước. Cả 2 nằm trong gói java.text Slide : 37 Bài tập Bài 1: Viết chương trình nhập vào tên của mình và xuất ra màn hình Hello + Tên. Bài 2: Viết chương trình nhập vào 2 số nguyên sau đó tính các giá trị của các tổng, hiệu, thương, tích của 2 số nguyên đó. Bài 3: Viết chương trình xuất ra số ngẫu nhiên có miền giá trị: a. 25 to 50 b. 10 to 15 Slide : 38 Bài tập Bài 4: Viết chương trình nhập vào tổng số giây. Xuất ra giờ: phút: giây. Bài 5: Viết chương trình nhập vào bán kính của hình tròn. Tính diện tích và chu vi của hình tròn đó. Chu vi hình tròn C = 2 π r Diện tích hình tròn A = π r 2, với r là bán kính Slide : 39 13

Lập trình java CẤU TRÚC ĐIỀU KHIỂN VÀ CÁC VÒNG LẶP Slide : 40 Cấu trúc điều khiển Một câu điều kiện (conditional statement) đôi khi được gọi là câu lựa chọn (selection statement). Bởi vì, nó cho phép ta chọn câu lệnh sẽ được thực thi kế tiếp. Các câu điều kiện trong Java: Câu lệnh if Câu lệnh if-else Câu lệnh switch Slide : 41 Cấu trúc điều kiện if Cú pháp: if là một từ khóa trong Java Điều_kiện phải là biểu thức luận lý. Tức phải trả về giá trị true / false. if ( điều_kiện ) câu_lệnh; Nếu điều_kiện là true, thì câu_lệnh được thực hiện. Nếu điều_kiện là false, thì câu_lệnh được bỏ qua. Slide : 42 14

Cấu trúc điều kiện if Điều_kiện true Câu_lệnh false Slide : 43 Các biểu thức luận lý Một điều kiện thường sử dụng các toán tử bằng (equality operators) hoặc các toán tử quan hệ (relational operators), kết quả của biểu thức điều kiện trả về true / false: == bằng!= không bằng < nhỏ hơn > lớn hơn <= nhỏ hơn hoặc bằng >= lớn hơn hoặc bằng Slide : 44 Các toán tử luận lý Biểu thức luận lý có thể sử dụng các toán tử luận lý (logical operators) như:! : NOT && : AND : OR Slide : 45 15

BẢNG CHÂN TRỊ NOT a!a true false false true AND?? OR?? Slide : 46 Cấu trúc điều kiện if else Cú pháp: if ( điều_kiện ) câu_lệnh1; else câu_lệnh2; Nếu điều_kiện là true, câu_lệnh1 được thực thi; Nếu điều_kiện là false, câu_lệnh2 được thực thi. Slide : 47 Cấu trúc điều kiện if else Điều_kiện true Câu_lệnh 1 false Câu_lệnh 2 Slide : 48 16

Khối lệnh Khối lệnh (block statement): một hay nhiều lệnh được bao quanh bởi cặp dấu {} gọi là một khối lệnh. Ví dụ: if (total > MAX) { System.out.println ("Error!!"); errorcount++; } Slide : 49 Toán tử điều kiện Cú pháp: điều_kiện? biểu_thức1:biểu_thức2 Nếu điều_kiện là true, biểu_thức1 được thực thi; Nếu là false, biểu_thức2 được thực thi. Ví dụ: In ra số lớn hơn giữa 2 số nguyên. Slide : 50 Cấu trúc switch case Cú pháp: switch và case là các từ khóa java switch ( biểu_thức ) { case giá_tri1: danh_sách_lênh1 case giá_tri2: danh_sách_lênh2 case giá_tri3: danh_sách_lênh3 case... } Nếu biểu_thức trùng giá_tri2, điều khiển nhảy tới đây. Slide : 51 17

Cấu trúc switch case Thường một lệnh break được dùng ở cuối danh sách lệnh của mỗi case. Lệnh break để kết thúc switch. Nếu lệnh break không được dùng, thì luồng điểu khiển (flow of control) sẽ vào case kế tiếp. Một cấu trúc switch cóthể có một casedefault Slide : 52 Cấu trúc switch case Kết quả của biểu_thức trong switch phải là kiểu số nguyên (byte, short, int, long) hoặc char. Không thể là boolean hoặc số thực (float, double) Slide : 53 So sánh dữ liệu Các số thực: Rất hiếm khi ta dùng (==) để so sánh 2 số thực (float or double) Người ta chỉ có thể chấp nhận hai số thực là bằng nhau ở một sai số nào đó. Để kiểm tra 2 số thực có bằng nhau, ta có thể sử dụng kỹ thuật sau: if (Math.abs(f1 - f2) < TOLERANCE) System.out.println ( Ước lượng bằng nhau!"); Slide : 54 18

So sánh các ký tự Các ký tự Giá trị Unicode 0 9 48 57 A Z 65 90 a z 97 122 Slide : 55 So sánh chuỗi Chuỗi các ký tự trong Java là một đối tượng. Phương thức equals dùng để xác định hai chuỗi có các ký tự là bằng nhau và theo cùng một thứ tự. Phương thức equals trả về kết quả là một boolean if (chuỗi_1.equals(chuỗi_2)) System.out.println ( giống nhau"); Slide : 56 So sánh chuỗi Trong lớp String còn có phương thức compareto dùng để xác định một chuỗi có đúng trước chuỗi khác. chuỗi_1.compareto(chuỗi_2): Trả về 0 nếu chuỗi_1 và chuỗi_2 là bằng nhau (có cùng các ký tự và thứ tự) Trả về <0 nếu chuỗi_1 đến trước chuỗi_2. Trả về >0 nếu chuỗi_1 đến sau chuỗi_2. Slide : 57 19

Vòng lặp while Cú pháp lệnh while : while ( điều_kiện ) câu_lệnh; Nếu điều_kiện là true, thì câu_lệnh được thực thi. Câu_lệnh được thực thi cho đến khi nào điều_kiện là false Slide : 58 Vòng lặp while Điều_kiện true false Câu_lệnh Slide : 59 Vòng lặp do Cú pháp: do { câu_lệnh; } while ( điều_kiện ); Câu_lệnh được thực thi như một lần khởi tạo, và sau đó điều_kiện được xét. Câu_lệnh được thực hiện lặp lại cho đến khi điều_kiện là false. Slide : 60 20

Vòng lặp do Câu_lệnh true Điều_kiện false Slide : 61 Vòng lặp do Slide : 62 So sánh giữa while và do Vòng lặp while Vòng lặp do Điều_kiện true Câu_lệnh true false Điều _kiện Câu_lệnh false Slide : 63 21

Vòng lặp for Cú pháp: Khởi_tạo được thực thi một lần trước khi vòng lặp bắt đầu Câu_lệnh được thực thi cho đến khi điều_kiện là false for ( khởi_tạo; điều_kiện; điều_khiển_lặp ) câu_lệnh; Điều_khiển_lặp được thực thi sau mỗi lần lặp Slide : 64 Vòng lặp for Khởi_tạo Điều_kiện true false Câu_lệnh Điều_khiển_lặp Slide : 65 Tương đương giữa for và while for ( khởi_tạo; điều_kiện; điều_khiển_lặp ) câu_lệnh; khởi_tạo while (điều_kiện) { câu_lệnh; điều_khiển_lặp; } Slide : 66 22

Cấu trúc lệnh nhảy (jump) Lệnh break Lệnh break dùng để thoát khỏi một cấu trúc điều khiển mà không chờ đến biểu thức điều kiện được định trị. Không sử dụng lệnh break bên ngoài các cấu trúc lặp như while, do...while, for hay cấu trúc switch. Lệnh continue Lệnh continue dùng để kết thúc vòng lặp hiện tại và bắt đầu vòng lặp tiếp theo. Lệnh continue chỉ được dùng trong thân các cấu trúc lặp như for, while, do...while. Slide : 67 Lớp bao kiểu dữ liệu cơ sở (Wrapper Class) Trong gói java.lang có chứa các lớp wrapper tương ứng cho từng kiểu dữ liệu cơ sở. Slide : 68 Wrapper Class Trong các lớp wrapper còn chứa các phương thức tĩnh để thao tác trên từng kiểu dữ liệu. Ví dụ trong lớp Integer có chứa một phương thức để chuyển từ một chuỗi số nguyên thành giá trị số nguyên. num = Integer.parseInt(str); Hay chuyển một ký tự của chuỗi word thành ký tự hoa: ch=character.touppercase(word.charat(0)) Ngoài ra, các lớp wrapper còn chứa các hằng số. Ví dụ trong lớp Integer chứa hằng MIN_VALUE và MAX_VALUE là giá trị nhỏ nhất và lớn nhất của số int. Slide : 69 23

Lớp StringTokenizer class Một chuỗi là một danh sách các ký tự. Mỗi phần tử trong chuỗi ta gọi là một token. Ký tự dùng để phân cách các token trong chuỗi ta gọi là delimiter. Ví dụ: The quick brown fox jumped over the lazy dog www.csc.villanova.edu/academics/courses 75.43 190.49 69.58 140.77 Slide : 70 Lớp StringTokenizer StringTokenizer(String str) : Tạo một đối tượng StringTokenizer mới dựa trên chuỗi str. StringTokenizer(String str, String delimiter) : Tạo một đối tượng StringTokenizer mới dựa trên chuỗi str và tập ký tự phân cách delimiter. int counttokens() : trả về số token có trong chuỗi str. boolean hasmoretokens() : trả về true nếu token vẫn còn để được xử lý trong chuỗi. String nexttoken(): Trả về token kế tiếp trong chuỗi. Slide : 71 Bài tập Bài 1: Giải phương trình bậc nhất. Bài 2: Nhập điểm của sinh viên. Xuất ra xếp loại tương ứng. Bài 3: Nhập 3 số nguyên từ bàn phím. In ra số nhỏ nhất. Bài 4: Nhập vào một số nguyên. Kiểm tra số vừa nhập là số chẵn hay lẻ. Slide : 72 24

Bài tập Bài 5: Nhập vào 2 số nguyên và 1 phép toán. Nếu phép toán là +, -, * thì in ra kết quả là tổng, hiệu, tích của 2 số. Nếu phép toán là / thì kiểm tra xem số thứ 2 có khác không hay không? Nếu khác không thì in ra thương của chúng, ngược lại thì in ra thông báo Không thể chia cho 0!!. Slide : 73 Bài tập Bài 6: Nhập vào một tháng trong năm. In ra số ngày của tháng đó. Tháng có 31 ngày: 1, 3, 5, 7, 8, 10, 12 Tháng có 30 ngày: 4, 6, 9, 11 Tháng có 28 hoặc 29 ngày : 2 Các trường hợp khác thì in ra câu thông báo Tháng không hợp lệ!. Slide : 74 Bài tập Bài 7: Viết chương trình tính tổng các số nguyên từ 1-> N. N được nhập từ bàn phím. Bài 8: Viết chương trình nhập vào số lượng, đơn giá, thuế của một sản phẩm A, sau đó tính thành tiền chưa thuế, thuế phải đóng, tổng số tiền phải trả (phải định dạng ở dạng tiền tệ). Xuất ra thông tin trên ra màn hình, chương trình thực hiện liên tục cho đến khi người dùng nhấn phím kết thúc. Slide : 75 25

Bài tập Bài 9: Viết chương trình mô phỏng trò chơi đoán số. Người chơi nhập vào một số, máy tạo ra ngẫu nhiên một số (từ 0-10 ). Sau đó thông báo có điểm khi người dùng đoán đúng. Chương trình thực hiện liên tục cho đến khi người dùng nhấn phím kết thúc. Chương trình kết thúc phải xuất ra điểm, bao nhiêu lần đoán, thống kê kết quả đoán trúng trung bình của người chơi. Slide : 76 Bài tập Bài 10: Nhập vào một số. In ra số đọc ngược của số đó. Bài 11: Nhập vào danh sách các số (!=0). Tính trung bình các số vừa nhập. Định dạng lấy 3 số lẻ. Bài 12: Nhập vào một chuỗi. Đếm số ký tự, số từ trong chuỗi vừa nhập. Bài 13: Nhập vào một chuỗi. In ra từng từ trên từng dòng. Slide : 77 Bài tập Bài 14: Viết chương trình đảo ngược so với chuỗi ban đầu. Ví dụ: Chuỗi truyền vào: Java Reverse string by word Chuỗi trả về: word by string Reverse Java. Slide : 78 26