Kỹ Thuật Lập Trình Với Mảng 1 Chiều Trong Java
Có thể bạn quan tâm
1. Nhập xuất mảng một chiều
Sử dụng vòng lặp for để nhập các phần tử của mảng từ bàn phím. Sau đó, duyệt mảng để xuất các phần tử của mảng ra màn hình.import java.util.Scanner; class Main { public static void main(String[] args) { double[] myList = new double[5]; Scanner input = new Scanner(System.in); System.out.println("Nhap " + myList.length + " cua mang:"); for (int i = 0; i < myList.length; i++) { myList[i] = input.nextDouble(); } System.out.print("Cac phan tu trong mang: "); for (int i = 0; i < myList.length; i++) { System.out.print(myList[i] + " "); } } }
Kết quả
Nhap 5 cua mang: 3.2 5.6 8.7 9.9 2.1 Cac phan tu trong mang: 3.2 5.6 8.7 9.9 2.1Khởi tạo mảng với giá trị ngẫu nhiên
class Main { public static void main(String[] args) { double[] myList = new double[5]; for (int i = 0; i < myList.length; i++) { myList[i] = Math.random() * 100; } System.out.print("Cac phan tu trong mang: "); for (int i = 0; i < myList.length; i++) { System.out.print(myList[i] + " "); } } }Kết quả
Cac phan tu trong mang: 49.91437233322772 42.229356830793805 44.54614164159645 23.346046110041318 37.47573911419114Lưu ý: Hàm random(); phát sinh ngẫu nhiên giá trị từ 0.0 đến 1.0.
2. Một số thao tác trên mảng một chiều
Tính tổng các phần tử trong mảng
Sử dụng vòng lặp for duyệt qua từng phần tử trong mảng rồi cộng dồn các phần tử đó.class Main { public static void main(String[] args) { double[] myList = {2.3, 5.0, 7.1, 5.5, 9.2}; double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.print("Tong cac phan tu trong mang = " + total); } }
Kết quả
Tong cac phan tu trong mang = 29.099999999999998Tìm phần tử nhỏ nhất trong mảng
Gán phần tử đầu tiên là phần tử min. So sánh phần tử min với từng phần tử trong mảng. Nếu một phần tử trong mảng nhỏ hơn min thì gán min bằng phần tử đó.class Main { public static void main(String[] args) { double[] myList = {2.3, 5.0, 7.1, 5.5, 9.2}; double min = myList[0]; int indexMin = 0; for (int i = 0; i < myList.length; i++) { if (myList[i] < min){ min = myList[i]; indexMin = i; } } System.out.println("Phan tu min trong mang = " + min); System.out.println("Chi so phan tu min trong mang = " + indexMin); } }
Kết quả
Phan tu min trong mang = 2.3 Chi so phan tu min trong mang = 0Tìm phần tử lớn nhất trong mảng
Gán phần tử đầu tiên là phần tử max. So sánh phần tử max với từng phần tử trong mảng. Nếu một phần tử trong mảng lớn hơn max thì gán max bằng phần tử đó.class Main { public static void main(String[] args) { double[] myList = {2.3, 5.0, 7.1, 5.5, 9.2}; double max = myList[0]; int indexMax = 0; for (int i = 0; i < myList.length; i++) { if (myList[i] > max){ max = myList[i]; indexMax = i; } } System.out.println("Phan tu max trong mang = " + max); System.out.println("Chi so phan tu min trong mang = " + indexMax); } }
Kết quả
Phan tu max trong mang = 9.2 Chi so phan tu min trong mang = 43. Duyệt mảng với vòng lặp for-each
Các bạn có thể đọc lại bài Các cấu trúc điều khiển vòng lặp for và for-each trong Java để nắm được cú pháp và cách sử dụng for-each. Bên dưới là ví dụ duyệt mảng với for-each.class Main { public static void main(String[] args) { double[] myList = {2.3, 5.0, 7.1, 5.5, 9.2}; double sum = 0; double average = 0; //tính tổng các phần tử trong mảng for (double number: myList) { sum += number; } //lấy kích thước của mảng int arrayLength = myList.length; //tính trung bình cộng các phần tử trong mảng average = sum/arrayLength; System.out.println("Tong = " + sum); System.out.println("Trung binh = " + average); } }
Kết quả
Tong = 29.099999999999998 Trung binh = 5.8199999999999994. Truyền mảng cho phương thức trong Java
Một phương thức có thể nhận mảng làm tham số. Khi truyền mảng (array) cho phương thức thì là truyền tham chiếu. Bất kỳ sự thay đổi nào xuất hiện trong phương thức sẽ làm thay đổi mảng được truyền vào. Các bạn có thể đọc lại bài Truyền tham trị và tham chiếu cho phương thức trong Java để hiểu rõ về truyền tham chiếu trong Java.class Main { public static void swapFirstTwoInArray(int[] array) { int temp = array[0]; array[0] = array[1]; array[1] = temp; } public static void main(String[] args) { int[] arr = {1, 2}; System.out.println("Mang truoc khi goi ham swap"); System.out.println("array la {" + arr[0] + ", " + arr[1] + "}"); swapFirstTwoInArray(arr); System.out.println("Mang sau khi goi ham swap"); System.out.println("array la {" + arr[0] + ", " + arr[1] + "}"); } }
Kết quả
Mang truoc khi goi ham swap array la {1, 2} Mang sau khi goi ham swap array la {2, 1}Rõ ràng, khi truyền mảng arr vào hàm swapFirstTwoInArray() thì mảng đã thay đổi.
5. Kiểu dữ liệu trả về của phương thức là một mảng
Kết quả trả về của một phương thức có thể là một mảng.class Main { public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i=0, j=result.length-1; i<list.length; i++,j--) { result[j] = list[i]; } return result; } public static void main(String[] args) { int[] list1 = {1, 2, 3, 4, 5, 6}; int[] list2 = reverse(list1); System.out.print("Mang list2: "); for(int item:list2){ System.out.print(item + " "); } } }
Kết quả
Mang list2: 6 5 4 3 2 1Hàm reverse() có kiểu trả về là mảng kiểu int.
6. Lớp Arrays trong Java
Lớp java.util.Arrays cung cấp các phương thức tĩnh (static method) cho việc sắp xếp mảng và tìm kiếm trong mảng, so sánh mảng,…
- Kế thừa (inheritance) trong Python
- Thread là gì? Cách tạo Thread trong Java
- Đảo ngược một số nguyên dương trong C++
- Thư viện cmath và một số hàm toán học thông dụng trong C++
- Nhập và xuất cơ bản (basic input and output) trong Java
Kết quả
Index cua phan tu 1.9 la:2 Mang da sap xep tang dan:[1.9, 2.9, 3.4, 3.5, 4.4, 6.0] 2/5 - (4 bình chọn)Bài trước và bài sau trong môn học<< Khai báo và khởi tạo mảng 1 chiều (one dimensional array) trong JavaKhai báo và khởi tạo mảng 2 chiều (two dimensional array) trong Java >>Từ khóa » Nhập Mảng N Phần Tử Java
-
Java - Nhập Mảng Và Thực Hiện Các Thao Tác Trên Mảng.
-
Khai Báo Mảng Trong Java - Học Java Cơ Bản đến Nâng Cao - VietTuts
-
Cú Pháp Khai Báo Và Nhập Xuất Mảng Một Chiều Trong Java
-
Bài Tập Về Mảng Trong Java - Lập Trình Không Khó
-
Khai Báo Mảng Trong Java
-
Nhập Mảng Và In Mảng Các Số Nguyên Trong Java - MangBinhDinh.Vn
-
Mảng Trong Java
-
Hãy Liệt Kê Các Phần Tử Xuất Hiện Trong Dãy đúng Một Lần.
-
[PDF] BÀI 4 MẢNG VÀ CHUỖI TRONG JAVA - Topica
-
Bài Tập Về Mảng Trong Java: Tìm Phần Tử Lớn Nhất Trong Mảng.
-
Nhập Mảng Từ Bàn Phím Trong Java Cơ Bản, Kỹ Thuật Lập Trình ...
-
Bài 3: Bài Tập Java Về Mảng, Dãy Số - VnCoder
-
Mảng (array) Trong Java - KungFu Tech