Xem mẫu

  1. Chương 2 NỘI DUNG 1. Cấu trúc một chương trình Java 2. Dịch và thực thi chương trình Java 3. Hằng, biến, kiểu dữ liệu 4. Toán tử và biểu thức 5. Mảng 6. Chuỗi 7. Nhập xuất dữ liệu 8. Cấu trúc điều khiển 2 1
  2. 1. Cấu trúc một chương trình Java chú thích => Trình biên dịch sẽ bỏ // Tên file : Hello.java qua những dòng có dấu chú thích /* các chú thích*/ Khai báo các gói được sử dụng trong chương trình import java. util.*; Khai báo lớp, tên lớp chứa public class Hello hàm main (phải giống tên file) {//điểm bắt đầu của lớp public static void main( String args[ ] ) Phương thức main(), điểm bắt đầu của chương trình, được gọi { đầu tiên. Mỗi CT thực thi phải có một phương thức main() System.out.println( “Hello World" ); } Lệnh hiển thị dãy ký tự ra màn hình } Các câu lệnh phải kết thúc bằng dấu chấm3 phẩy Cấu trúc một chương trình Java (tt) • Dòng đầu tiên khai báo nạp các lớp sử dụng – Ví dụ trên: import java.util.* • Chú thích: ngôn ngữ Java hỗ trợ ba kiểu chú thích sau: – /* text */ – // text – /** documentation */ công cụ javadoc trong bộ JDK sử dụng chú thích này để chuẩn bị cho việc tự động phát sinh tài liệu. 4 2
  3. Cấu trúc một chương trình Java (tt) • Phương thức main(): là điểm bắt đầu thực thi một ứng dụng, mỗi ứng dụng Java phải chứa một phương thức main có dạng như sau: – public static void main(String[] args) • Dấu mở và đóng ngoặc nhọn “{“ và “}” là bắt đầu và kết thúc một khối lệnh. • Dấu chấm phẩy “;” để kết thúc một dòng lệnh. • Tất cả các biến, phương thức được khai báo trong phạm vi một lớp. 5 2. Dịch và thực thi chương trình Java • Viết mã nguồn: dùng một chương trình soạn thảo để viết mã nguồn, lưu lại với file tên có đuôi “.java”. Tên của file phải giống tên của lớp chính trong chương trình. • Biên dịch ra mã máy ảo: dùng trình biên dịch javac để biên dịch mã nguồn “.java” thành mã của máy ảo (java bytecode) có đuôi “.class” • Thông dịch và thực thi: dùng lệnh “java”. 6 3
  4. Dịch và thực thi chương trình Java (tt) • Biên dịch chương trình – Vào chế độ Console của Windows – Gõ: javac Hello.java – Nếu không có thông báo lỗi, file Hello.class sẽ được tạo ra • Thực thi chương trình: java Hello 7 3. Hằng, biến, kiểu dữ liệu • Các từ khóa • Định danh • Hằng • Biến • Các kiểu dữ liệu 8 4
  5. Các từ khóa trong java 3. Hằng, biến, kiểu dữ liệu 9 Định danh (identifier) • Định danh dùng biểu diễn tên của biến, 3. Hằng, biến, kiểu dữ liệu phương thức, lớp. • Trong Java, định danh có thể sử dụng ký tự chữ, ký tự số và ký tự dấu. • Ký tự đầu tiên phải là ký tự chữ, dấu gạch dưới (_), hoặc dấu dollar ($). • Có phân biệt giữa ký tự chữ hoa và chữ thường. 10 5
  6. Biến • Biến là vùng nhớ dùng để lưu trữ các giá 3. Hằng, biến, kiểu dữ liệu trị của chương trình. Mỗi biến gắn liền với một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. • Tên biến được đặt theo quy tắc định danh • Trong java, biến có thể được khai báo ở bất kỳ nơi đâu trong phạm vi lớp (class). 11 Biến (tt) • Ví dụ: Tên biến nào sau đây đặt không 3. Hằng, biến, kiểu dữ liệu hợp lệ, giải thích? a. bien-nguyen h. –SoThu2 b. 3Dientich i.sothu-3 c. ChuVi j. SOTHU4 d. ban_Kinh k.sothu5_ e._number l. So thu 6 f. chieu$dai m. $sothu7 g. sothu_1 12 6
  7. Biến (tt) • Khai báo biến 3. Hằng, biến, kiểu dữ liệu – ; – = ; – Ví dụ: int a, b, c; int a = 5, b = 7; byte A = 11; double pi = 3.14159; char kytu = 'b'; boolean b = true; 13 Biến cục bộ và biến toàn cục • Biến cục bộ: là biến chỉ có thể truy xuất 3. Hằng, biến, kiểu dữ liệu trong phạm vi một hàm hoặc một khối lệnh. • Biến toàn cục: là biến có thể truy xuất ở khắp nơi trong chương trình, thường được khai báo sau từ khóa public, hoặc nằm trong phạm vi lớp. 14 7
  8. Biến cục bộ và biến toàn cục (tt) • Ví dụ : 3. Hằng, biến, kiểu dữ liệu 15 Các kiểu dữ liệu • Java có hai kiểu dữ liệu 3. Hằng, biến, kiểu dữ liệu – Kiểu dữ liệu cơ sở • char, boolean, int, short, long, float, double,.. – Kiểu đối tượng • Array, String, class 16 8
  9. Các kiểu dữ liệu • Các kiểu dữ liệu cơ sở trong java 3. Hằng, biến, kiểu dữ liệu 17 Các kiểu dữ liệu cơ sở • Kiểu số nguyên 3. Hằng, biến, kiểu dữ liệu Kiểu Kích thước Miền giá trị byte 8 bits -128…127 short 16 bits -32768…32767 int 32 bits -231…231 – 1 long 64 bits -263…263 – 1 18 9
  10. Các kiểu dữ liệu cơ sở (tt) • Kiểu số thực 3. Hằng, biến, kiểu dữ liệu Kiểu Kích thước Miền giá trị float 32 bits -3.4e38…3.4e38 double 64 bits -1.7e308…1.7e308 • Kiểu boolean: true/false • Kiểu char: ký tự theo chuẩn Unicode 19 Các kiểu dữ liệu cơ sở (tt) • Kiểu số nguyên: byte, short, int, long. 3. Hằng, biến, kiểu dữ liệu – Kiểu mặc định là int – Không có kiểu số nguyên không dấu – Lưu ý đối với các phép toán trên số nguyên: • Nếu hai toán hạng kiểu long → kết quả kiểu long. • Một trong hai toán hạng không phải long thì được chuyển thành long trước khi thực hiện phép toán. • Nếu hai toán hạng đầu không phải kiểu long thì phép tính sẽ thực hiện với kiểu int. • Các toán hạng kiểu byte, short sẽ được chuyển sang kiểu int trước khi thực hiện phép toán. • Không thể chuyển biến kiểu int và kiểu boolean 20 10
  11. Các kiểu dữ liệu cơ sở (tt) • Kiểu số thực: float và double 3. Hằng, biến, kiểu dữ liệu – Không có giá trị nhỏ nhất và lớn nhất – Lưu ý đối với các phép toán trên số thực: • Mỗi toán hạng đều có kiểu chấm động thì phép toán chuyển thành phép toán dấu chấm động. • Nếu có một toán hạng là double thì các toán hạng còn lại → double trước khi thực hiện phép toán. • Biến kiểu float và double có thể ép chuyển sang kiểu dữ liệu khác trừ kiểu boolean. 21 Các kiểu dữ liệu cơ sở (tt) • Kiểu ký tự (char): 3. Hằng, biến, kiểu dữ liệu – Có kích thước là hai bytes – Chỉ dùng để biểu diễn các ký tự trong bộ mã Unicode. – kiểu char trong java có thể biểu diễn tất cả 216 = 65536 ký tự khác nhau. – Giá trị mặc định cho một biến kiểu char là null. 22 11
  12. Các kiểu dữ liệu cơ sở (tt) • Kiểu luận lý (boolean): 3. Hằng, biến, kiểu dữ liệu – Kiểu boolean chỉ nhận một trong hai giá trị: true hoặc false. – Trong java kiểu boolean không thể chuyển thành kiểu số nguyên và ngược lại. – Giá trị mặc định của kiểu boolean là false. 23 Chuyển đổi kiểu dữ liệu • Chuyển đổi kiểu dữ liệu: sử dụng các hàm 3. Hằng, biến, kiểu dữ liệu thuộc gói java.lang Kiểu dữ liệu Hàm chuyển đổi byte Byte.parseByte short Short.parseShort int Integer.parseInt long Long.parseLong float Float.parseFloat double Double.parseDouble 24 12
  13. Hằng • Hằng là một giá trị bất biến trong chương 3. Hằng, biến, kiểu dữ liệu trình • Tên hằng được đặt theo qui ước giống như tên biến. – Hằng số nguyên: trường hợp giá trị hằng ở dạng long ta thêm vào tiếp vĩ ngữ “l” hay “L”. (ví dụ: 1L) – Hằng số thực: truờng hợp giá trị hằng có kiểu float ta thêm tiếp vĩ ngữ “f” hay “F”, còn kiểu số double thì ta thêm tiếp vĩ ngữ “d” hay “D”. – Hằng boolean: true, false. – Hằng ký tự: là một ký tự nằm giữa cặp dấu nháy đơn. • Ví dụ: ‘a’: hằng ký tự a 25 Hằng (tt) • Khai báo hằng: 3. Hằng, biến, kiểu dữ liệu – Cú pháp: final type name = value; • Ví dụ: – final char CH = ‘a’;// Khai báo hằng CH kiểu char, có giá trị là ‘a’ – public final int ID = 6;// Khai báo hằng ID kiểu int, có giá trị là 6, có phạm vi toàn cục 26 13
  14. Hằng (tt) Ký hiệu Biểu diễn ký tự • Một số hằng 3. Hằng, biến, kiểu dữ liệu \n Xuống hàng ký tự đặc biệt \r Dấu enter \f Đầy trang \b Xóa lùi \s Khoảng trắng \t tab \" Nháy kép \' Nháy đơn \\ Ký tự 27 4. Toán tử và biểu thức • Toán tử số học 28 14
  15. Toán tử và biểu thức (tt) • Toán tử so sánh 29 Toán tử và biểu thức (tt) • Toán tử luận lý 30 15
  16. Toán tử và biểu thức (tt) • Toán tử ép kiểu – Ép kiểu rộng (widening conversion): từ kiểu nhỏ sang kiểu lớn (không mất mát thông tin) – Ép kiểu hẹp (narrow conversion): từ kiểu lớn sang kiểu nhỏ (có thể mất mát thông tin) – Cú pháp: = (kiểu_dữ_liệu) ; – Ví dụ: • float fNum = 2.2; • int iCount = (int) fNum; // (iCount = 2) 31 Toán tử và biểu thức (tt) • Toán tử điều kiện – Cú pháp: ? : < biểu thức 2> • Ví dụ: int x = 10; int y = 20; int Z = (x
  17. 5. Mảng • Khái niệm mảng • Khai báo mảng • Truy cập mảng • Các thao tác trên mảng • Truyền mảng cho phương thức • class Array 33 Khái niệm mảng • Mảng là tập hợp nhiều phần tử có cùng kiểu dữ liệu • Mỗi phần tử trong mảng được truy xuất thông qua chỉ số, bắt đầu là 0. 5. Mảng 34 17
  18. Khai báo mảng • Cú pháp: [ ]; [ ] ; • Ví dụ: Mảng int arrInt [ ]; hoặc int [ ] arrInt; Int [ ] arrInt1, arrInt2, arrInt3; 35 Khai báo mảng (tt) • Cấp phát bộ nhớ cho mảng: từ khóa new int[] list = new int[5]; for (int i = 0; i < list.length; i++) list[i] = 2 * i + 1; • Khởi tạo mảng Mảng – Có thể khởi tạo giá trị ban đầu cho các phần tử của mảng khi khai báo. – Ví dụ: int arrInt [] = {1, 2, 3}; char arrChar[] = {‘a’, ‘b’, ‘c’}; String arrColor[]={“Red”, “Green”, “Blue”}; 36 18
  19. Các thao tác trên mảng • Truy cập mảng – Các phần tử của mảng được truy xuất thông qua chỉ số (phần tử đầu tiên có chỉ số là 0) đặt giữa cặp dấu ngoặc vuông ([ ]). Mảng – Ví dụ: int arrInt[] = {1, 2, 3}; int x = arrInt[0]; // x = 1. int y = arrInt[1]; // y = 2. int z = arrInt[2]; // z = 3. 37 Các thao tác trên mảng (tt) • Truy xuất số phần tử mảng: – Sử dụng thuộc tính length, ví dụ: double[] arr = new double[100]; for (int i = 0; i< arr.length; i++) Mảng { arr[i] = input.nextDouble(); } 38 19
  20. Các thao tác trên mảng (tt) • Duyệt mảng sử dụng vòng lặp: int list[] = {1, 5, 3, 6}; int sum = 0; for (int i = 0; i < list.length; i++) { Mảng sum += list[i]; System.out.println("list[" + i + "]=" + list[i]); } System.out.println("sum of list is:" + sum); 39 Các thao tác trên mảng (tt) • Duyệt mảng sử dụng for-each: – Duyệt mảng theo mỗi phần tử, sử dụng biến đại diện – Cú pháp: Mảng for ( : ) { ; } • type: kiểu dữ liệu • name: biến đại diện mỗi phần tử • array: tên mảng 40 20
nguon tai.lieu . vn