WELCOME TO BLOGGER VQGĐC

THÂN CHÀO QUÝ BẠN
CLICK HERE TO OPEN

Tất cả hình ảnh, những hoạt động cùng cơ sở Định Chuẩn rồi cũng cùng với thời gian rơi vào khoảng không
Nếu còn gì rớt lại chỉ là những tình cảm của những con người đã một thời làm việc chung dưới một mái nhà
mà nay đả tản mác khắp bốn phương trời
Ninh Vũ / Phòng Thí Nghiệm VQGĐC

Tuesday, September 29, 2015

USING JAVA ARRAY

XỬ DỤNG JAVA ARRAY
Trong Java programming, array là một container rất quan tṛong vì nó có thể chứa được rất nhiều data cùng loại.
 Muốn viết một Java program cần chứa đựng rất nhiều data, chúng ta phải xử dụng array.
Trong 8  primitive data types của Java có 4 loại data types quan trọng thường được xử dụng là integer type, String type, float type và double type.
Riêng float type và double type có sự khác nhau như sau.
float type cho số lẽ ít hơn hoặc hạn chế vì xử dụng 32 bit.Khi viết con số cho float type phải nhớ cuối con số phải có chữ f.Nếu bỏ quên chữ f thì không có kết quả.
Thí dụ 102.0f;
Còn double type thì cho rất nhiều số lẽ tuỳ theo ý muốn của chúng ta vì double type xử dụng 64 bit.
Có 2 cách viết syntax sau đây để diễn tả array.
Viết theo cách nầy phải ấn định số lượng elements chứa trong array.
int[] array = new int[4];.
String[] array = new String [4];
float[] score = new float[4] ;

Viết theo cách nầy thì không giới hạn số lượng elements trong array.
int[] array = {2,4,6,8};
String[] array = {" Henry","Pano" , "Juan","Tim"};
float[] score =new float[] {2.2f, 4.6f, 6.9f, 8.1f};
double[] x = {2.2, 4.6, 6.9, 8.1};                              
                               ---------------------------
 SAU ĐÂY THÍ DỤ ÁP DỤNG ARRAYS ĐỂ VIẾT VÀI JAVA PROGRAMS
Viết một program danh sách  tồn trữ tên và ID của 5 chuyên viên phòng thí nghiệm.
Viết tên, chúng ta dùng String [] array.
Viết ID, chúng ta dùng int [] array2.
Vì muốn viết chung “ 2 arrays of different type”  trong một main method nên chúng ta phải nhớ viết hai chữ array và array2 khác nhau thì compiler mới cho “ compile and run program”.
Có 3 cách làm hiển thị array.
* In trực tiếp từ array : System.out.println( Arrays.toString(x)); 
* Hoặc viết theo phương pháp goi classical hay traditional " loop over array " rồi in ra:
              for (i = 0; i < array.length; i++) {
             System.out.println( array[i]);}  
     Phương pháp nầy phải có counter và condition.
* Hoặc dùng phương pháp mới goị là '1.5 for-each loop ' còn được gọi 
Enhanced  loop dùng để ‘loop over an array returned by a function’. Thí dụ phía dưới.                        
 -----------------------
1- VIẾT ARRAYS TRONG MAIN METHOD.
 1-1-   " LOOP  OVER ARRAY " và in  như sau :
              for (i = 0; i < array.length; i++) {
             System.out.println( array[i]);}  

    class Rextester {
    public static void main(String[] args) {
        String [] array =  new String[5];
           array [0]= " HENRY-101 " ;
           array [1] = " PANO-202 " ;
           array [2]=  " JUAN-303 " ;
           array [3]=  " TIM-404 " ;     
           array [4]=  " MARTHA-505 " ;        
             int i ; 
              for (i = 0; i < array.length; i++) {
             System.out.println( array[i]);}  
           int k ;
           int[] array2 =  {101, 202, 303, 404, 505};
               for (k = 0; k < array2.length; k++) {
             System.out.println( array2[k]) ;}  

                } }
OUTPUT.
Compilation time: 1.04 sec, absolute running time: 0.17 sec,
cpu time: 0.1 sec, memory peak: 27 Mb, absolute service time: 1.22 sec
 HENRY-101
 PANO-202
 JUAN-303
 TIM-404
 MARTHA-505
 101
 202
 303
 404
 505
  ---------------- 
 class Rextester {
     public static void main(String[] args) {
     float[] f1 = new float[]{3.5f,2f,5f,4.6f, 1.2589487529f  };
     System.out.print("Original Array :\t ");
     for(int i=0; i < f1.length ; i++)
     System.out.print("  "  + f1[i]);
}}
OUTPUT.
Compilation time: 0.72 sec, absolute running time: 0.14 sec, 
cpu time: 0.08 sec, memory peak: 28 Mb, absolute service time: 0.87 sec
Original Array :      3.5  2.0  5.0  4.6  1.2589488  // float cắt bớt số lẽ.
--------------------------------


class Rextester {
     public static void main(String[] args) {
          float[] score = new float[5] ;
       score[0] = 3.5f ;
      score[1] = 2f;
      score[2] = 5f ;
      score[3] = 4.6f ;
      score[4] = 1f;
System.out.print("Original Array :\t ");
     for(int i=0; i < score.length ; i++)
     System.out.print("  "  + score[i]);
}}
OUTPUT.
Compilation time: 1.14 sec, absolute running time: 0.14 sec,
 cpu time: 0.08 sec, memory peak: 26 Mb, absolute service time: 1.29 sec

Original Array :            3.5  2.0  5.0  4.6  1.0


1-2- IN TRỰC TIẾP TỪ ARRAY : System.out.println( Arrays.toString(x)); 
  
    class Rextester {
     public static void main(String[] args) {
    String[] x =  {"Henry-101","Pano-202","Tim-303","Juan-404","Martha-505"};         
     System.out.println( Arrays.toString(x)) ;} //Phải viết hoa chữ A của Arrays
    }
 OUPUT.
 Compilation time: 0.83 sec, absolute running time: 0.14 sec,
 cpu time: 0.08 sec, memory peak: 28 Mb, absolute service time: 0.98 sec

  [Henry-101, Pano-202, Tim-303, Juan-404, Martha-505]
------------
class Rextester {
 public static void main(String[] args) {
    float[] score = new float[]{3f,2f,5f,4f,1f};
    System.out.print("Original Array :\t ");
    System.out.println( Arrays.toString(score)) ;}
    }
OUTPUT.
Original Array : [3.0, 2.0, 5.0, 4.0, 1.0]
-----------------------------

2- VIẾT ARRAYS NGOÀI MAIN METHOD.
  Trường hợp muốn array phải chứa nhiều variables cần thay đổi thì chúng ta viết array trong một function đặt ở ngoài main method rồi call function đó từ main method để có return của function.   
2-1- Array sau đây có 2 variable  integers x và y thay đổi và chúng ta muốn có return cuả function.
 Array là integer
class Rextester {
    static int[] getResult(int x, int y) {
             int[] array = new int[5];
            array[0] = x*y;
            array[1] = x/y;
            array[2] = x+y;
            array[3] = x-y;
            array[4] = x*x;
             return array;}
   public static void main(String[] args){
           for(int e : getResult(20,5)){  //gọi 1.5 for-each loop over the function
           System.out.println(e); }
}}
OUTPUT.
Compilation time: 0.73 sec, absolute running time: 0.13 sec, 
cpu time: 0.07 sec, memory peak: 28 Mb, absolute service time: 0.86 sec
100
4
25
15

400

2- 2. Array sau đây là String viết trong một function nằm ngoải main method nếu chúng ta muốn có return của function.

class Rextester{
 static String [] getResult( ) {
 System.out.println(" CỮA HÀNG BÁN THƯỜNG TRỰC NHỮNG MÓN SAU ĐÂY:"  );
            String [] array = new String[5];
            array[0] = "CAM QUÝT FLORIDA" ;
            array[1] = " SẦU RIÊNG MALAYSIA " ;
            array[2] = " MÍT TỐ NỮ VN " ;
            array[3] = " CHÔM CHÔM CÁI BÈ LONG XUYÊN VN";
            array[4] = " Muốn mua món đặc biệt xin cho order.\nHenry Baxao Cám ơn. ";
             return array;}
    public static void main(String[] args){
            /* Loop over an array returned by a method.*/
                   for(String str : getResult( )){
            System.out.println(str);}
}}
OUTPUT.
Compilation time: 0.83 sec, absolute running time: 0.13 sec, 
cpu time: 0.07 sec, memory peak: 27 Mb, absolute service time: 0.96 sec
CỮA HÀNG BÁN THƯỜNG TRỰC NHỮNG MÓN SAU ĐÂY:
CAM QUÝT FLORIDA
 SẦU RIÊNG MALAYSIA 
 MÍT TỐ NỮ VN 
 CHÔM CHÔM CAI BÈ LONG XUYÊN VN 
 Muốn mua món đăc biệt xin cho order.

Henry Baxao cám ơn . 
Còn tiếp.