STACKJAVA

strictfp là gì, Từ khóa strictfp trong Java, ví dụ

strictfp là gì, Từ khóa strictfp trong Java, ví dụ

Từ khóa strictfp là gì?

Từ khóa strictfp là một non-access modifier giúp bảo đảm rằng kết quả tính toán trên các số thực sẽ có kết quả như nhau (phần sau dấu thập phân) trên các nền tảng khác nhau.

Tính toán số thực bị phụ thuộc vào các nền tảng khác nhau ví dụ như đầu ra, vi sử lý 32 hay 64 bit… Từ khóa strictfp được giới thiệu trong JDK 1.2 để giải quyết vấn đề này.

Một số lưu ý với từ khóa strictfp

strictfp chỉ sử dụng với class, interface và method.

class Test
{   
    // all concrete methods here are
    // implicitly strictfp.    
}
strictfp interface Test
{   
    // all  methods here becomes implicitly 
    // strictfp when used during inheritance.    
}
class Car
{  
    // strictfp applied on a concrete method 
    strictfp void calculateSpeed(){}
}

Ví dụ:

public class Test {
  // calculating sum using strictfp modifier
  public double sum() {
    double num1 = 1e+10;
    double num2 = 2e+08;
    return (num1 + num2);
  }

  public static void main(String[] args) {
    Test t = new Test();
    System.out.println(t.sum());
  }
}

kết quả:

1.02E10

 

strictfp là gì, Từ khóa strictfp trong Java, ví dụ stackjava.com

Xem thêm: https://stackjava.com/java-core

References:

SCJP pdf