intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Phần 1: Ngôn ngữ Java - Bài 3

Chia sẻ: Châu Tuấn Dũng | Ngày: | Loại File: PDF | Số trang:66

59
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mời các bạn cùng tham khảo nội dung bài 3 "Mảng và xâu" thuộc bài giảng phần 1 Ngôn ngữ Java dưới đây để nắm bắt được những nội dung về mảng, khai báo mảng, tự động khởi tạo mảng, gán phần tử mảng, truy cập phần tử mảng,... Với các bạn đang học chuyên ngành Công nghệ thông tin thì đây là tài liệu tham khảo hữu ích.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Phần 1: Ngôn ngữ Java - Bài 3

  1. PHẦN 1: NGÔN NGỮ JAVA BÀI 3: MẢNG VÀ XÂU
  2. Mảng 2
  3. Cấu trúc dữ liệu v Trong nhiều bài toán, một số dữ liệu có cấu trúc tự nhiên §  Ví dụ : Texts are sequences of characters Images are matrices of pixels Classes contain sets of students v Java cung cấp một số lớp và tool gọi là cấu trúc dữ liệu §  hỗ trợ tổ chức dữ liệu §  thuận lợi trong việc truy cập và cập nhập dữ liệu
  4. Một số cấu trúc dữ liệu §  Array/Arrays (the data structure we will cover) §  ArrayList §  HashSet §  LinkedHashSet §  LinkedList §  TreeSet §  Vector §  HashMap
  5. Opening problem v Xét chương trình sau : How many days' temperatures? 7 Day 1's high temp: 45 Day 2's high temp: 44 Day 3's high temp: 39 Day 4's high temp: 48 Day 5's high temp: 37 Day 6's high temp: 46 Day 7's high temp: 53 Average temp = 44.57142857142857 4 days were above average. 5
  6. What makes the problem hard? v Không sử dụng biến, cần 2 lần nhập giá trị vào §  … để tính giá trị trung bình, thông qua tổng tích luỹ §  … để đếm số lần lớn hơn giá trị trung bình v Sử dụng biến §  Cần khai báo bao nhiêu biến để chứa? v Cần một cách -> khai báo nhiều biến một lần. 6
  7. Mảng v array: Đối tượng chứa nhiều giá trị cùng loại. §  element: một giá trị trong mảng §  index: số nguyên chỉ vị trí của giá trị trong mảng index 0 1 2 3 4 5 6 7 8 9 value 12 49 -2 26 5 17 -6 84 72 3 element 0 element 4 element 9 7
  8. Khai báo mảng v  Khai báo/khởi tạo mảng : [] = new []; v  Ví dụ : int[] numbers = new int[10]; index 0 1 2 3 4 5 6 7 8 9 value 0 0 0 0 0 0 0 0 0 0 v  length: bất kỳ số nguyên nào: int x = 2 * 3 + 1; int[] data = new int[x % 5 + 2]; 8
  9. Tự động khởi tạo mảng v Khi mảng được khởi tạo, tất cả phần tử được khởi tạo tự động tương đương giá trị 0. §  int: 0 §  double: 0.0 §  boolean: false §  object type: null (null means "no object")‫‏‬ 9
  10. Ví dụ v Mảng double index 0 1 2 3 4 value 0.0 0.0 0.0 0.0 0.0 v Mảng booleans index 0 1 2 3 value false false false false 10
  11. Gán phần tử mảng v Gán giá trị cho phần tử mảng: [] = ; v Ví dụ: numbers[0] = 27; numbers[3] = -6; index 0 1 2 3 4 5 6 7 8 9 value 27 0 0 -6 0 0 0 0 0 0 11
  12. Truy cập phần tử mảng v Cú pháp : [] v Ví dụ: System.out.println(numbers[0]); if (numbers[3] < 0) { System.out.println("Element 3 is negative."); } index 0 1 2 3 4 5 6 7 8 9 value 27 0 0 -6 0 0 0 0 0 0 12
  13. Vượt quá giới hạn mảng v Đọc/ghi index bên ngoài khoảng rộng của mảng dẫn tới một ArrayIndexOutOfBoundsException. v VÍ dụ : int[] data = new int[10]; System.out.println(data[0]); // okay System.out.println(data[-1]); // exception! System.out.println(data[9]); // okay System.out.println(data[10]); // exception! index 0 1 2 3 4 5 6 7 8 9 value 0 0 0 0 0 0 0 0 0 0 13
  14. Mảng và vòng lặp for v  Mảng thường được dùng với vòng lặp for v Example: for (int i = 0; i < 8; i++) { System.out.print(numbers[i] + " "); } System.out.println(); // end the line of output Output: 0 4 11 0 44 0 0 2 14
  15. Mảng và vòng lặp for for (int i = 0; i < 8; i++) { numbers[i] = 2 * i; } v What’s in the array? index 0 1 2 3 4 5 6 7 value 0 2 4 6 8 10 12 14 15
  16. Mảng và vòng lặp for for (int i = 0; i < 8; i++) { numbers[i] = i * i; } v What’s in the array? index 0 1 2 3 4 5 6 7 value 0 1 4 9 16 25 36 49 16
  17. Trường length v Trường length chứa số lượng phần tử. v Cú pháp : .length v NB: Trường -> không sử dụng () String's .length()! 17
  18. Ví dụ for (int i = 0; i < numbers.length; i++) { System.out.print(numbers[i] + " "); } Output: 0 1 4 9 16 25 36 49 v What expression refers to the last element of an array? The middle element? 18
  19. Bài toán nhiệt độ v Solve the following problem: How many days' temperatures? 7 Day 1's high temp: 45 Day 2's high temp: 44 Day 3's high temp: 39 Day 4's high temp: 48 Day 5's high temp: 37 Day 6's high temp: 46 Day 7's high temp: 53 Average temp = 44.57142857142857 4 days were above average. 19
  20. Solution // This program reads several days' temperatures from the user // and computes the average and how many days were above average. import java.util.*; public class Weather { public static void main(String[] args) { Scanner console = new Scanner(System.in); System.out.print("How many days' temperatures? "); int days = console.nextInt(); int[] temperatures = new int[days]; // array to store days' temperatures int sum = 0; for (int i = 0; i < days; i++) { // read/store each day's temperature System.out.print("Day " + (i + 1) + "'s high temp: "); temperatures[i] = console.nextInt(); sum += temperatures[i]; } double average = (double) sum / days; int count = 0; // see if each day is above average for (int i = 0; i < days; i++) { if (temperatures[i] > average) { count++; } } // report results System.out.println("Average temp = " + average); System.out.println(count + " days above average"); } } 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2