• 0162 7877 180
  • aiac.vn@outlook.com

Cách dùng Array và Data, Time

Cách dùng Array và Data, Time

Để xử lý dữ liệu dưới dạng kiểu mảng chúng ta khai báo như sau.

Đặc biệt chú ý giá trị đánh số của mảng luôn bắt đầu bằng 0 và kết thúc bằng n-1, với n là số phần tử !

Cú pháp:

dataType[] arrayVar;
hoặc
dataType arrayVar[];  

Với dataType là kiểu dữ liệu được định nghĩa để khai báo mảng. arrayVar là tên biến được định nghĩa sẽ là biến kiểu mảng dataType.

Ví dụ: 

Khai báo 1 mảng thuộc kiểu double

double[] arrDouble;   
or
double arrDouble[];  

Để khởi tạo một mảng ta sử dụng như sau. 

Cú pháp:

dataType[] arrayVar= new dataType[arraySize];

hoặc khởi tạo luôn tham số truyền vào;

dataType[] arrayVar = {value1, value2, value3,....};

Tại đây arraySize là kích thước của mảng, với tên biến là arrayVar và value là giá trị khởi tạo ban đầu.

Ví dụ: 

double[] arrayVar = new double[10];

Vậy trong mảng tương đương sẽ có 10 phần tử:

arrayVar[0];arrayVar[1].......arrayVar[9];

Các xử lý thường gặp trong mảng:

Tại đây ta xử dụng for hoặc sử dụng foreach:

Ví dụ:

public class TestArray {
   public static void main(String[] args) {
      double[] arrayVar = {1,2,3,5};
      // in tất cả các phần tử trong mảng
      for (int i = 0; i < arrayVar.length; i++) {
         System.out.println(arrayVar[i] + " ");
      } 
      // Sử dụng vòng lặp foreach
      for (var item :  arrayVar ) {
         System.out.println(item + " "); 
      } 
      // tính tổng tất cả các phần tử trong mảng
      double total = 0;
      for (int i = 0; i < arrayVar.length; i++) {
         total += arrayVar[i];
      }
      System.out.println("Tổng : " + total);      
      // tìm phần tử lớn nhất trong mảng
      double max = arrayVar[0];
      for (int i = 1; i < arrayVar.length; i++) {
         if (arrayVar[i] > max) max = arrayVar[i];
      }
      System.out.println("Giá trị lớn nhất : " + max);  
   }
}

Kết quả: 

1

2

3

5

1

2

3

5

Tổng là 11

Giá trị lớn nhất : 5

Kiểu dữ liệu Data và Time 

Nơi chưa dữ liệu được gọi từ gói java.util;

STT Hàm khởi tạo và Mô tả
1

Date( )

Hàm khởi tạo này khởi tạo đối tượng với ngày tháng và thời gian hiện tại.

2

Date(long millisec)

Nhà xây dựng này chấp nhận một đối số bằng số mili giây đã trôi qua kể từ nửa đêm, ngày 1 tháng 1 năm 1970.

Sau đây là các phương thức của lớp ngày tháng.

STT Phương thức và Mô tả
1

boolean after (Date date)

Trả về true nếu đối tượng Date được gọi có chứa một ngày trễ hơn ngày được chỉ định theo ngày, ngược lại, nó trả về false.

2

boolean before (Date date)

Trả về true nếu đối tượng Date được gọi có chứa một ngày sớm hơn ngày được chỉ định theo ngày, ngược lại, nó trả về false.

3

Object clone()

Nhân đôi đối tượng Date gọi.

4

int compareTo (Date date)

So sánh giá trị của đối tượng gọi với giá trị ngày tháng. Trả về 0 nếu các giá trị bằng nhau. Trả về giá trị âm nếu đối tượng gọi sớm hơn ngày tháng. Trả về giá trị dương nếu đối tượng gọi sau ngày tháng.

5

int compareTo (Object obj)

Hoạt động giống hệt với compareTo (Date) nếu obj thuộc lớp Date. Nếu không, nó sẽ ném ra một ClassCastException.

6

boolean equals(Object date)

Trả về true nếu đối tượng Date được gọi có chứa cùng thời gian và ngày tháng được chỉ định theo ngày tháng, ngược lại, nó trả về false.

7

long getTime()

Trả về số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970.

số 8

int hashCode ()

Trả về mã băm cho đối tượng gọi.

9

void setTime (long time)

Đặt thời gian và ngày theo thời gian được chỉ định, biểu thị thời gian trôi qua tính bằng mili giây từ nửa đêm, ngày 1 tháng 1 năm 1970.

10

String toString ()

Chuyển đổi đối tượng Date invoking thành một chuỗi và trả về kết quả.

Lấy ngày tháng hiện tại

Để lấy ngày tháng hiện tại chúng ta chỉ cần khởi tạo Date() và gọi nó đưa ra kết quả:

Ví dụ:

import java.util.Date;
public class DateDemo {
   public static void main(String args[]) {
      // khởi tạo biến kiểu date
      Date date = new Date();
      // đưa ra màn hình ngày hiện tại với phương thức toString()
      System.out.println(date.toString());
   }
}

Kết quả:

Fri Sep 07 15:46:52 UTC 2018

So sánh ngày trong Java

Có 3 cách để so sánh thường dùng:

  1. Bạn có thể sử dụng getTime () để lấy số mili giây đã trôi qua kể từ nửa đêm, ngày 1 tháng 1 năm 1970, cho cả hai đối tượng và sau đó so sánh hai giá trị này.
  2. Bạn có thể sử dụng các phương thức before (), after () và equals (). Bởi vì ngày 12 của tháng đến trước ngày 18, ví dụ, ngày mới (99, 2, 12) .trước khi (ngày mới (99, 2, 18)) trả về true.
  3. Bạn có thể sử dụng phương thức compareTo (), được định nghĩa bởi giao diện Comparable và được thực hiện bởi Date.

Định dạng ngày bằng SimpleDateFormat

Hàm này cho phép bạn định dạng theo mẫu tùy ý ký hiệu đã đưuọc quy định:

Ví dụ: 

import java.util.*;
import java.text.*;
public class DateDemo {
   public static void main(String args[]) {
      Date date = new Date( );
      SimpleDateFormat _date = 
      new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      System.out.println("Ngày hiện tại : " + _date.format(date));
   }
}

Kết quả:

Ngày hiện tại : Fri 2018.09.07 at 04:00:22 PM UTC

Các ký hiệu định dạng ngày:

Ký hiệu Mô tả Ví dụ
G Era designator AD
y Năm bằng bốn chữ số 2001
M Tháng trong năm Tháng 7 hoặc 07
d Ngày trong tháng 10
h Giờ trong giờ sáng / chiều (1 ~ 12) 12
H Giờ trong ngày (0 ~ 23) 22
m Phút trong giờ 30
S Thứ hai tính bằng phút 55
S Mili giây 234
E Ngày trong tuần Thứ ba
D Ngày trong năm 360
F Ngày trong tuần trong tháng 2 (thứ hai thứ tư trong tháng bảy)
w Tuần trong năm 40
W Tuần trong tháng 1
a Điểm đánh dấu AM / PM PM
k Giờ trong ngày (1 ~ 24) 24
K Giờ trong giờ sáng / tối (0 ~ 11) 10
z Múi giờ giờ chuẩn phương Đông
' Escape cho văn bản Dấu phân tách
" Trích dẫn một lần `

Chuyển đổi ngày và giờ sang kiểu ký tự

Ký tự chuyển đổi ngày và giờ

Ký hiệu Mô tả Ví dụ
c Hoàn thành ngày giờ Thứ Hai, ngày 4 tháng 5, 09:51:52 CDT 2009
F Ngày ISO 8601 2004-02-09
D Ngày được định dạng của Hoa Kỳ (tháng / ngày / năm) 02/09/2004
T 24 giờ 18:05:19
r 12 giờ 06:05:19 chiều
R Thời gian 24 giờ, không có giây 18:05
Y Năm bốn chữ số (với số 0 đứng đầu) 2004
y Hai số cuối của năm (với số 0 đứng đầu) 04
C Hai chữ số đầu tiên của năm (có số 0 đứng đầu) 20
B Tên tháng đầy đủ Tháng hai
b Tên tháng viết tắt Tháng hai
m Tháng hai chữ số (có số 0 đứng đầu) 02
d Ngày hai chữ số (có số 0 đứng đầu) 03
e Ngày hai chữ số (không có số 0 đứng đầu) 9
A Tên đầy đủ ngày trong tuần Thứ hai
a Tên ngày trong tuần viết tắt Thứ Hai
j Ngày có ba chữ số trong năm (với số 0 đứng đầu) 069
H Giờ hai chữ số (có số 0 đứng đầu), trong khoảng từ 00 đến 23 18
k Giờ hai chữ số (không có số 0 đứng đầu), trong khoảng từ 0 đến 23 18
i Giờ hai chữ số (có số 0 đứng đầu), trong khoảng từ 1 đến 12 06
l Giờ hai chữ số (không có số 0 đứng đầu), từ 1 đến 12 6
M Số phút hai chữ số (có số 0 đứng đầu) 05
S Số giây hai chữ số (với số 0 đứng đầu) 19
L Ba phần nghìn giây (với số 0 đứng đầu) 047
N Chín nano giây (với số 0 đứng đầu) 047000000
P Chữ viết sáng hoặc chiều PM
p Chữ thường sáng hoặc chiều PM
z RFC 822 bù đắp số từ GMT -0800
Z Múi giờ PST
S Số giây từ 1970-01-01 00:00:00 GMT 1078884319
Q Mili giây kể từ 1970-01-01 00:00:00 GMT 1078884319047

 

  • Viết bởi bxh.cpu@gmail.com
  • 07/09/2018
  • 100
  • JAVA

Bình luận