Java cơ bản

Tài liệu tương tự
Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Lập trình và ngôn ngữ lập trình

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

Microsoft Word - jsp_syntax.docx

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Kế thừa

Chương trình dịch

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

PowerPoint Presentation

Kế thừa và đa hình

Xử lý ngoại lệ

NGÔN NGỮ THỐNG KÊ R

Chương trình dịch

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Bài tập thực hành Chuyên đề 1 CNPM - Java Khoa CNTT- Trường ĐH Công nghệ TP.HCM Lab 01: LẬP TRÌNH JAVA CƠ BẢN VỚI NET BEANS A. MỤC TIÊU: Hướng dẫn tải

Chương trình dịch

Chương 1:

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

26 Khoa hoïc Coâng ngheä LẬP TRÌNH PHÂN TÁN DÙNG CÔNG NGHỆ MOBILE AGENT VỚI SỰ HỖ TRỢ CỦA JAVA VÀ VOYAGER Tóm tắt ThS. Nguyễn Khắc Quốc * Lập trình ph

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Slide 1

Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câ

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

View, Procedure, Function & Trigger

Microsoft Word - kieu_du_lieu_trong_jdbc.docx

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

Microsoft Word - status_code_trong_servlet.docx

Copyright vietjack.com Nạp chồng toán tử trong C# Operator Overloading là Nạp chồng toán tử. Bạn có thể tái định

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Trung Tâm Gia Sư Tài Năng Việt Đề Số 1 Câu 1: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: S

Microsoft Word - activity_trong_android.docx

9-KiemThu

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Microsoft Word - co_ban_ve_jquery.docx

Microsoft Word - cai_dat_android_studio.docx

CÀI ĐẶ T ANDROID TRÊN NETBEAN Yêu cầ u:trong quá trình cài đặ t phả i kế t nố i mạ ng,và phiên bả n này đượ c cài trên windows. 1.Download Netbean(6.7

Microsoft Word - server_response_trong_servlet.docx

Microsoft Word - session_tracking_trong_servlet.docx

Microsoft Word - custom_component_trong_android.docx

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

1

Microsoft Word - tao_ung_dung_hello_world_trong_android.docx

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 9. Vào ra dữ liệu trong C Các lệnh vào ra dữ liệu C cun

Kiểm soát truy suất Kiểm soát truy suất Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khái niệm Bảo mật thực chất là kiểm soát truy xuất [1]. Mục đích của bảo mật m

Microsoft Word - tra_cuu_bang_ascii_trong_html.docx

ĐỀ cương chương trình đẠi hỌc

Chủ đề :

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

Công nghệ Hibernate Công nghệ Hibernate Bởi: Khoa CNTT ĐHSP KT Hưng Yên Giới thiệu Trước khi tìm hiểu Hibernate là gì, chúng ta cần chuẩn bị một số ki

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Chuỗi Chuỗi Bởi: phamvanviet truonglapvy Chuỗi (string) trong C# là một kiểu dựng sẵn như các kiểu int, long, có đầy đủ tính chất mềm dẻo, mạnh mẽ và

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Microsoft Word - custom_font_trong_android.docx

Microsoft Word - su_dung_sqlite_voi_php.docx

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

Chương 1:

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Microsoft Word - mot_so_tool_trong_android.docx

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

OpenStax-CNX module: m Lập trình hàm ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribu

Chương trình dịch

ĐỀ THI GIỮA KỲ MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 1. Thời gian 120 phút (Sinh viên KHÔNG được sử dụng tài liệu hay máy tính ) Xây dựng lớp STRING và

Animation, Modules 6 - Hoạt hình, tách file

quy phạm trang bị điện chương ii.4

Microsoft Word - google_map_trong_android.docx

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Tệp tin Nội dung 1. Khái niệm cơ bản 2. Các thao tá

mid1-f18-written-sol-master

Microsoft Word - fragment_transition_trong_android.docx

ĐỀ CƯƠNG ÔN THI 1. Khái niệm về điều khiển Logic khả trình Có rất nhiều định nghĩa về bộ điều khiển Logic khả trình (Programmable logic controller viế

Microsoft Word - action_trong_jsp.docx

Microsoft Word - KHÔNG GIAN TINH THẦN

mySQL - Part 1 - Installation

Slide 1

Bài tập chương 1 ngôn ngữ lập trình visual basic Bài tập chương 1 ngôn ngữ lập trình visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên MỤC TIÊU: SAU KHI HO

Microsoft Word - jsp_exception_handling.docx

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Đỗ Thị Thanh Tuyền

Hãy chọn phương án đúng CÂU HỎI TRẮC NGHIỆM TIN HỌC 7 HK1 Câu 1: Bảng tính thường được dùng để: a. Tạo bảng điểm của lớp em b. Bảng theo dõi kết quả h

Kiến trúc tập lệnh1

BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN BÀI GIẢNG KỸ THUẬT LẬP TRÌNH C TÊN HỌC PHẦN : KỸ

Microsoft Word - Cau hoi on tap.doc

CÂN ĐÔNG ĐÔ

Mẫu PL1a: TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN TỬ Bộ môn ĐIỆN TỬ-MÁY TÍNH DANH MỤC ĐỀ TÀI KHOÁ LUẬN TỐT NGHIỆP TT Họ v

Bản ghi:

Bài 2 Java cơ bản Trịnh Thành Trung trungtt@soict.hust.edu.vn

Nội dung 1. Giới thiệu về Java 2. Định danh 3. Các kiểu dữ liệu 4. Toán tử 5. Cấu trúc điều khiển 6. Mảng

1 Giới thiệu về Java

Ngôn ngữ lập trình Java Ngôn ngữ lập trình Java được phát triển vào năm 1991 bởi Sun Microsystems (nay là Oracle) Tiêu chí phát triển: "Write Once, Run Anywhere" 4

Java platform Java Platform nền tảng Java Được xây dựng để phát triển các ứng dụng và phân phối trên môi trường đa nền (các HĐH, điện thoại, thiết bị nhúng, enterprise server ) Sử dụng ngôn ngữ Java (và một số ngôn ngữ khác) Tránh nhầm lẫn với ngôn ngữ lập trình Java 5

Java platform Các thành phần của Java Platform Các API Java Platform cung cấp các API để lập trình viên không cần phải sử dụng các API của HĐH Java Virtual Machine (JVM) Có thể chạy trên các software platform khác hoặc trực tiếp trên phần cứng Mỗi một platform sử dụng một JVM riêng 6

Mô hình biên dịch của Java Mô hình biên dịch của Java platform Mã nguồn được biên dịch thành Java bytecode; sau đó được thông dịch trên JVM thành các mã lệnh thực thi bởi trình thông dịch Just-In-Time (JIT) 7

Cú pháp cơ bản Là ngôn ngữ lập trình phân biệt chữ hoa, chữ thường (case-sensitive) Cú pháp tương tự C/C++ 8

Cài đặt Cài Java Development Kit (JDK) http://www.oracle.com/technetwork/java/javase/downloa ds Cài IDE Notepad / Notepad++ (https://notepad-plus-plus.org) Eclipse (http://www.eclipse.org) NetBeans (http://netbeans.org) IntelliJ IDEA (http://www.jetbrains.com/idea) 9

2 Định danh Identifier

Định danh Mỗi đối tượng là duy nhất, dù trạng thái của nó có thể giống các đối tượng khác MARTHA!!! 11

Định danh Định danh: Xâu ký tự thể hiện tên các biến, các phương thức, các lớp và nhãn Quy định với định danh: Các ký tự có thể là chữ số, chữ cái, '$' hoặc _ Tên không được phép: Bắt đầu bởi một chữ số Trùng với từ khóa Phân biệt chữ hoa chữ thường Yourname, yourname, YourName và yourname là 4 định danh khác nhau 12

Quy ước đặt tên Quy ước với định danh (naming convention): Bắt đầu bằng chữ cái Gói (package): tất cả sử dụng chữ thường theexample Lớp (Class): viết hoa chữ cái đầu tiên trong các từ ghép lại TheExample Phương thức/thuộc tính (method/field): Bắt đầu bằng chữ thường, viết hoa chữ cái đầu tiên trong các từ còn lại theexample Hằng (constants): Tất cả viết hoa THE_EXAMPLE 13

Các từ khóa Literals null true false Từ khóa (keyword) abstract assert boolean break byte case catch char class continue default do double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while Từ dành riêng (reserved for future use) byvalue cast const future generic goto inner operator outer rest var volatile 14

3 Các kiểu dữ liệu integer, float, char, boolean, String

Các kiểu dữ liệu Trong Java kiểu dữ liệu được chia thành hai loại: Kiểu dữ liệu nguyên thủy (primitive) Số nguyên (integer) Số thực (float) Ký tự (char) Giá trị logic (boolean) Kiểu dữ liệu tham chiếu (reference) Mảng (array) Đối tượng (object) 16

Kiểu dữ liệu nguyên thủy Mọi biến đều phải khai báo một kiểu dữ liệu Các kiểu dữ liệu cơ bản chứa một giá trị đơn Kích thước và định dạng phải phù hợp với kiểu của nó Java phân loại thành 4 kiểu dữ liệu nguyên thủy 17

Số nguyên Số nguyên có dấu Giá trị mặc định: 0 18

b. Số thực Số thực dấu phẩy động Giá trị mặc định: 0.0 19

Ký tự Ký tự Unicode không dấu, được đặt giữa hai dấu nháy đơn 2 cách gán giá trị: Sử dụng các chữ số trong hệ 16: char uni ='\u05d0'; Sử dụng ký tự: char a = A ; Giá trị mặc định là giá trị zero (\u0000) 20

Nguyên dạng Giá trị boolean được xác định rõ ràng trong Java Một giá trị int không thể sử dụng thay cho giá trị boolean Có thể lưu trữ giá trị hoặc true hoặc false Biến boolean được khởi tạo là false 21

Nguyên dạng Giả sử ta có dòng lệnh int i = 5; Giá trị này ở đâu ra? Giá trị này được gọi là nguyên dạng hay giá trị hằng (literal) 22

Nguyên dạng Literal là một giá trị của các kiểu dữ liệu nguyên thủy và xâu ký tự. Gồm 5 loại: integer floating point boolean character string Literals integer.. 7 floating point 7.0f boolean. true character.. 'A' string..... "A" 23

a. Số nguyên Hệ cơ số 8 (Octals) bắt đầu với chữ số 0 032 = 011 010(2) = 16 + 8 + 2 = 26(10) Hệ cơ số 16 (Hexadecimals) bắt đầu với 0 và ký tự x 0x1A = 0001 1010(2) = 16 + 8 + 2 = 26(10) Kết thúc bởi ký tự L thể hiện kiểu dữ liệu long 26L Ký tự hoa, thường cho giá trị bằng nhau 0x1a, 0x1A, 0X1a, 0X1A đều có giá trị 26 trong hệ decimal 24

b. Số thực float kết thúc bằng ký tự f (hoặc F) 7.1f double kết thúc bằng ký tự d (hoặc D) 7.1D e (hoặc E) được sử dụng trong dạng biểu diễn khoa học: 7.1e2 Một giá trị thực mà không có ký tự kết thúc đi kèm sẽ có kiểu là double 7.1 giống như 7.1d 25

c. boolean, ký tự và xâu ký tự boolean: true false Ký tự: Được đặt giữa 2 dấu nháy đơn Ví dụ: a, A hoặc '\uffff' Xâu ký tự: Được đặt giữa hai dấu nháy kép Ví dụ: Hello world, Xin chao ban, 26

d. Escape sequence Các ký tự điều khiển nhấn phím \b backspace \f form feed \n newline \r return (về đầu dòng) \t tab Hiển thị các ký tự đặc biệt trong xâu \" quotation mark \ apostrophe \\ backslash 27

Chuyển đổi kiểu dữ liệu (casting) Java là ngôn ngữ định kiểu chặt Gán sai kiểu giá trị cho một biến có thể dẫn đến các lỗi biên dịch hoặc các ngoại lệ của JVM JVM có thể ngầm định chuyển từ một kiểu dữ liệu hẹp sang một kiểu rộng hơn Để chuyển sang một kiểu dữ liệu hẹp hơn, cần phải định kiểu rõ ràng. int a, b; short c; a = b + c; int d; short e; e = (short)d; double f; long g; f = g; g = f; //error 28

Chuyển đổi kiểu dữ liệu (casting) Chuyển đổi kiểu sẽ được thực hiện tự động nếu không xảy ra mất mát thông tin byte short int long float double Ép kiểu trực tiếp (explicit cast) được yêu cầu nếu có nguy cơ giảm độ chính xác 29

Ví dụ - chuyển đổi kiểu long p = (long) 12345.56; // p == 12345 int g = p; // không hợp lệ dù kiểu int //có thể lưu giá trị 12345 char c = t ; int j = c; // tự động chuyển đổi short k = c; // không hợp lệ short k = (short) c; // ép kiểu trực tiếp float f = 12.35; // không hợp lệ

Khai báo và khởi tạo biến Các biến đơn (biến không phải là mảng) cần phải được khởi tạo trước khi sử dụng trong các biểu thức Có thể kết hợp khai báo và khởi tạo cùng một lúc. Sử dụng = để gán (bao gồm cả khởi tạo) Ví dụ: int i, j; i = 0; int k =i+1; float x=1.0f, y=2.0f; // Khai báo biến System.out.println(i); // In ra 0 System.out.println(k); // In ra 1 System.out.println(j); // Lỗi biên dịch 31

Chú thích Java hỗ trợ ba kiểu chú thích như sau: // Chú thích trên một dòng // Không xuống dòng /* Chú thích một đoạn */ /** Javadoc * chú thích dạng Javadoc */ 32

Câu lệnh Các câu lệnh kết thúc bởi dấu ; Nhiều lệnh có thể viết trên một dòng Một câu lệnh có thể viết trên nhiều dòng Ví dụ: System.out.println( This is part of the same line ); a=0; b=1; c=2; 33

4 Toán tử Toán tử số học, toán tử logic

Toán tử (Operators) Kết hợp các giá trị đơn hoặc các biểu thức con thành những biểu thức mới, phức tạp hơn và có thể trả về giá trị. 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ệ Toán tử logic Toán tử gán Toán tử một ngôi 35

Toán tử Toán tử số học +, -, *, /, % Toán tử bit AND: &, OR:, XOR: ^, NOT: ~ Dịch bit: <<, >> Toán tử quan hệ ==,!=, >, <, >=, <= Toán tử logic &&,,! 36

Toán tử Toán tử một ngôi Đảo dấu: +, - Tăng giảm 1 đơn vị: ++, -- Phủ định một biểu thức logic:! Toán tử gán =, +=, -=, %= tương tự với >>, <<, &,, ^ 37

Thứ tự ưu tiên của toán tử Operators Precedence postfix expr++ expr-- unary ++expr --expr +expr -expr ~! multiplicative * / % additive + - shift << >> >>> relational < > <= >= instanceof equality ==!= bitwise AND bitwise exclusive OR & ^ bitwise inclusive OR logical AND && logical OR ternary? : assignment = += -= *= /= %= &= ^= = <<= >>= >>>=

5 Cấu trúc điều khiển if-else, switch-case, while

Lệnh if - else Cú pháp if (dieu_kien){ cac_cau_lenh; } else { cac_cau_lenh; } Biểu thức điều kiện nhận giá trị boolean Mệnh đề else là tùy chọn 40

Ví dụ - Kiểm tra số chẵn lẻ class CheckNumber { public static void main(string args[]) { int num =10; if (num %2 == 0) System.out.println (num+ la so chan ); else System.out.println (num + la so le ); } }

Lệnh switch - case Kiểm tra một biến đơn với nhiều giá trị khác nhau và thực hiện trường hợp tương ứng break: Thoát khỏi lệnh switchcase default kiểm soát các giá trị nằm ngoài các giá trị case: case a case b case z [false] [false] [false]. [true] [true] [true] case a action(s) case b action(s) case z action(s) break break break default action(s) 43

Ví dụ - Lệnh switch - case switch (day) { case 0: case 1: rule = weekend ; break; case 2: case 6: rule = weekday ; break; default: rule = error ; } if (day == 0 day == 1) { rule = weekend ; } else if (day > 1 && day <7) { rule = weekday ; } else { rule = error; } 44

Vòng lặp while và do while Thực hiện một câu lệnh hoặc một khối lệnh khi điều kiện vẫn nhận giá trị true while() thực hiện 0 hoặc nhiều lần do...while() thực hiện ít nhất một lần action state int x = 2; while (x < 2) { x++; System.out.println(x); } condition [false] [true] int x = 2; do { x++; System.out.println(x); } while (x < 2); 45

Ví dụ - Vòng lặp while class WhileDemo{ public static void main(string args[]){ } int a = 5,fact = 1; while (a >= 1){ } fact *=a; a--; System.out.println( The Factorial of 5 is +fact); } 46

Vòng lặp for Cú pháp: for (start_expr; test_expr; increment_expr){ // code to execute repeatedly } 3 biểu thức đều có thể vắng mặt Có thể khai báo biến trong câu lệnh for Thường sử dụng để khai báo một biến đếm Thường khai báo trong biểu thức start Phạm vi của biến giới hạn trong vòng lặp Ví dụ: for (int index = 0; index < 10; index++) { System.out.println(index); } 47

Ví dụ - vòng lặp for class ForDemo { public static void main(string args[]) { } int i=1, sum=0; for (i=1;i<=10;i+=2) sum+=i; System.out.println ( Sum of first five old numbers is + sum); } 48

Vòng lặp for và while Các câu lệnh for và while cung cấp chức năng tương đương nhau Các cấu trúc lặp thường được sử dụng trong các tình huống khác nhau while được sử dụng cho lặp từ đầu đến cuối for được sử dụng để lặp với số vòng lặp xác định int sum = 0; int index = 1; while (index <= 10) { sum += index; index++; } int sum = 0; for (int index = 1;index <= 10;index++) { sum += index; } 49

Các lệnh thay đổi cấu trúc điều khiển break Có thể được sử dụng để thoát ra ngoài câu lệnh switch Kết thúc vòng lặp for, while hoặc do...while Có hai dạng: Gắn nhãn: Tiếp tục thực hiện câu lệnh tiếp theo sau vòng lặp được gắn nhãn Không gắn nhãn: Thực hiện câu lệnh tiếp theo bên ngoài vòng lặp 50

Các lệnh thay đổi cấu trúc điều khiển continue Có thể được sử dụng cho vòng lặp for, while hoặc do...while Bỏ qua các câu lệnh còn lại của vòng lặp hiện thời và chuyển sang thực hiện vòng lặp tiếp theo. 51

Ví dụ - break và continue public int mymethod(int x) { int sum = 0; outer: for (int i=0; i<x; i++) { inner: for (int j=i; j<x; j++){ sum++; if (j==1) continue; if (j==2) continue outer; if (i==3) break; if (j==4) break outer; } } return sum; }

4.6. Phạm vi biến Phạm vi của biến là vùng chương trình mà trong đó biến có thể được tham chiếu đến Các biến được khai báo trong một phương thức thì chỉ có thể truy cập trong phương thức đó Các biến được khai báo trong vòng lặp hoặc khối lệnh thì chỉ có thể truy cập trong vòng lặp hoặc khối lệnh đó 53

6 Mảng Array

Mảng (array) Tập hợp hữu hạn các phần tử cùng kiểu Phải được khai báo trước khi sử dụng Khai báo: Cú pháp: kieu_dlieu[] ten_mang = new kieu_dlieu[kt_mang]; kieu_dlieu ten_mang[] = new kieu_dlieu[kt_mang]; Ví dụ: char c[] = new char[12]; 57

Khởi tạo mảng Khai báo, khởi tạo giá trị ban đầu: Cú pháp: kieu_dl[] ten_mang = {ds_gia_tri_cac_ptu}; Ví dụ: int[] number = {10, 9, 8, 7, 6}; Nếu không khởi tạo nhận giá trị mặc định tùy thuộc vào kiểu dữ liệu. Luôn bắt đầu từ phần tử có chỉ số 0 58

Ví dụ - mảng Tên của mảng (tất cả các thành phần trong mảng có cùng tên, c) c[ 0 ] c[ 1 ] c[ 2 ] c[ 3 ] -45 6 0 72 c.length: cho biết độ dài của mảng c Chỉ số (truy nhập đến các thành phần của mảng thông qua chỉ số) c[ 4 ] c[ 5 ] c[ 6 ] c[ 7 ] c[ 8 ] c[ 9 ] c[ 10 ] c[ 11 ] 1543-89 0 62-3 1 6453 78

Khai báo và khởi tạo mảng Ví dụ: int MAX = 5; boolean bit[] = new boolean[max]; float[] value = new float[2*3]; int[] number = {10, 9, 8, 7, 6}; System.out.println(bit[0]); // prints false System.out.println(value[3]); // prints 0.0 System.out.println(number[1]); // prints 9 60

Mảng nhiều chiều Bảng với các dòng và cột Thường sử dụng mảng hai chiều Ví dụ khai báo mảng hai chiều b[2][2] int b[][] = { { 1, 2 }, { 3, 4 } }; 1 và 2 được khởi tạo cho b[0][0] và b[0][1] 3 và 4 được khởi tạo cho b[1][0] và b[1][1] int b[3][4]; 62

Mảng nhiều chiều Column 0 Column 1 Column 2 Column 3 Row 0 Row 1 Row 2 b[ 0 ][ 0 ] b[ 0 ][ 1 ] b[ 0 ][ 2 ] b[ 0 ][ 3 ] b[ 1 ][ 0 ] b[ 1 ][ 1 ] b[ 1 ][ 2 ] b[ 1 ][ 3 ] b[ 2 ][ 0 ] b[ 2 ][ 1 ] b[ 2 ][ 2 ] b[ 2 ][ 3 ] Chỉ số cột Chỉ số hàng Tên mảng 63

Thank you! Any questions?