Top Ad unit 728 × 90

Làm việc với String (chuỗi), Array (mảng)

Chào các bạn!
Hôm trước chúng ta đã cùng nhau tìm hiểu về Các cấu trúc điều kiện và cấu trúc lặp trong java trong bài mình đã cùng các bạn tìm hiểu các cấu trúc điều kiện và cấu trúc lặp. Ở bài đó mình đã giới thiệu cho các bạn biết các cấu trúc thường dùng trong rồi và hôm nay chúng ta tiếp tục chuyển sang phần khá quan trọng trong tất cả các ngôn ngữ lập trình đó là làm việc với mảng và chuỗi nhé!


OK! Bắt đầu vào bài!
Đầu tiên! Chúng ta sẽ tìm hiểu cách khai báo và sử dụng chuỗi trong JAVA. Trong Java, String là lớp quản lý dữ liệu văn bản để khai báo chuỗi chúng ta sẽ khai báo như sau:

  1. String a = new String();
  2. String b = "Hello World";


Ảnh minh họa: 

Ở trên mình đã nêu ra cho các bạn 2 cách để khai báo chuỗi rồi.

Vậy là chúng ta đã có thể dùng được rồi. Bây giờ tiếp tục chuyển sang xử lý chuỗi mà các bạn truyền vào nhé!
Có một vấn đề đặt ra là cần có các giá trị để phục vụ cho việc hiển thị và tính toán. 
Ví dụ: 
  1. Tính chiều dài của chuỗi s.
  2. Nối chuỗi s1 vào chuỗi s.
  3. Lấy một ký tự tại vị trí index trong chuỗi s.
  4. .............
Giải quyết: Sử dụng hàm chuỗi trong thư viện hàm của JAVA.
Ví dụ: String s = "Happy New Year";
           String s1 = "New Year";
          String s2 = "New";
         String s3 = "         Hello world       ";
  • Tính chiều dài chuỗi:
    • int len = s.length(); // kết quả là 14.
  • Nối chuỗi s1 vào chuỗi s:
    • s.concat(s1); // kết quả là: Happy New Year
  • Lấy 1 ký tự tại vị trí a của chuỗi s:
    • char result = s.charAt(5); // kết quả là y
  • So sánh 2 chuỗi:
    • String s2 = "New Year";
    • s2.compareTo(s1); //
  • Tìm vị trí xuất hiện chuỗi của s2 trong s
    • s.indexOf(s2);
  • Tìm vị trí xuất hiện cuối cùng của chuỗi:
    • s.lastIndexOf(s2); // 6 (trả về -1 nếu không tìm thấy)
  • Thay thế chuỗi s1 bằng s2:
    • s.replace(s1,s2); //New New Year
  • Loại bỏ khoảng trắng:
    • s3.trim(); // Hello world
  • Tạo chuỗi con s4 từ chuỗi ban đầu
    • String s4 = s.substring(6); //New Year.
Ok! mình đã giới thiệu xong về cách khai báo và sử dụng chuỗi trong java. Tiếp theo chúng ta chuyển sang tìm hiểu về mảng. Nếu các bạn đã từng học các ngôn ngữ lập trình như C, C++, PHP,... thì chắc chắn các bạn đều biết đến định nghĩa về mảng đúng không nào? Tuy nhiên, mình cũng sẽ nhắc lại cho các bạn chưa học qua bất kỳ ngôn ngữ cũng có thể biết được khái niệm của mảng:
Mảng trong java được định nghĩa như sau: Mảng là loại biến đặc biệt, bao gồm một dãy các ô nhớ có nhiều ô nhớ con cho phép biểu diễn thông tin dạng danh sách trong thực tế. Các phần tử trong mảng có cùng kiểu dữ liệu với nhau

Ví dụ:
                                              Chỉ số:         0    1    2    3    4    5    6    7
Mảng a 
Phần tử a[3] = 0

Lợi ích của việc sử dụng mảng

Mảng là cách tốt nhất cho phép quản lý nhiều phần tử dữ liệu có cùng kiểu tại cùng một thời điểm.
Mảng tạo ra sự tối ưu trong việc quản lý bộ nhớ so với việc sử dụng nhiều biến cho cùng một chức năng.
Bộ nhớ có thể được gán cho mảng thực sự được sử dụng. Do đó, bộ nhớ không bị tiêu tốn cho mảng ngay khi bạn khai báo mảng.

Khai báo và khởi tạo mảng

Việc khai báo mảng trong JAVA cũng giống trong khai báo mảng của các ngôn ngữ khác như C, C++,...
  • Khai báo không khởi tạo kích thước và giá trị
    • Kiểu dữ liệu [] Tên mảng;
    • Kiểu dữ liệu Tên mảng [];
  • Khai báo khởi tạo kích thước nhưng không có giá trị ban đầu
    • Kiểu dữ liệu [] Tên Mảng = new Kiểu dữ liệu[số phần tử];
    • Kiểu dữ liệu Tên mảng[] = new Kiểu dữ liệu[số phần tử];
  • Khai báo có khởi tạo kích thước và khởi tạo giá trị ban đầu
    • Kiểu dữ liệu[] Tên mảng = new Kiểu dữ liệu[]{giá trị 1, giá trị 2,...};
    • Kiểu dữ liệu[] tên mảng = {giá trị 1, giá trị 2,...};
Trên đây là mình đã cùng các bạn khai báo và khởi tạo lên mảng, tiếp theo chúng ta cùng sang các thao tác cơ bản trên mảng nhé!

Thao tác cơ bản

Để truy xuất giá trị 1 phần tử trong mảng ta dùng cấu trúc sau:
  • Tên mảng[vị trí i];
    • vị trí của 1 phần tử trong mảng được bắt đầu từ 0
    • vị trí i có giá trị từ 0 đến n-1.
                       chỉ số:           0       1         2       3        4        5       6       7               a[3] = ?
mảng a a.length ?

Lấy chiểu dài của mảng ta dùng thuộc tính length
                    Tên mảng.length

Duyệt mảng

Duyệt và xử lý từng phần tử của mảng:
1

for(int i = 0; i < tên mảng.length ; i++){
//Xử lý trên phần tử tên mảng[i];
                 }

Ví dụ: duyệt mảng và xuất mảng

int[] a = {1,2,3,4,5}; 
for(int i = 0; i < a.length; i++){ 
        System.out.println(a[i]);  
}

Một số thao tác cơ bản khác

             int array[] = {2,5,-2,6,-3,8,0};
             int array1[] = {2,5,6,-3,8};
  • Sắp xếp mảng số nguyên
    • Array.sort(array);
  • So sánh mảng
    • array1.equals(array);
  • gán giá trị mảng
    • Arrays.fill(array1,10);
  • sao chép mảng 1 sang mảng 2
    • int [] arr2 = Array.copyOf(arr1,6);

Vậy là chúng ta đã cùng nhau đi tìm hiểu xong về mảng, còn mảng 2 chiều thì định nghĩa tương tự như mảng 1 chiều ở trên và cách khai báo cũng tương tự chỉ khác 1 thứ đó là chúng ta khai báo thêm 1 giá trị bên cạnh nữa là xong!

Ví dụ: int a[][]; int [][] a;...

Hạn chế của mảng

  1. Mảng có kích cỡ và số chiều cố định nên khó khăn trong việc mở rộng ứng dụng.
  2. Các phần tử được đặt và tham chiếu một cách liên tiếp trong bộ nhớ nên khó khăn trong việc xóa một phần tử ra khỏi mảng


Vậy là mình đã cùng các bạn đi tìm hiểu về mảng và chuỗi trong java! bài học cũng khá dài rồi! mình sẽ dừng bài ở đây, các bạn chịu khó thực hành nhiều vì chuỗi và mảng rất quan trọng!
Các bạn có thể xem thêm:



Chúc các bạn học tập tốt!

Làm việc với String (chuỗi), Array (mảng) Reviewed by Thế Giới Tri Thức on tháng 8 29, 2017 Rating: 5

Không có nhận xét nào:

All Rights Reserved by THẾ GIỚI TRI THỨC © 2018
Thiết kế bởi: THẾ GIỚI TRI THỨC

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.