[Java] Toán tử và biểu thức, hàm toán học trong Java

Thảo luận trong 'Java' bắt đầu bởi Trần Văn Cường, 2/3/17.

  1. Trần Văn Cường

    Trần Văn Cường I love CNTT Thành viên BQT Thành viên BQT

    Tham gia ngày:
    8/11/15
    Bài viết:
    3,693
    Đã được thích:
    43
    Điểm thành tích:
    48
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên
    Nơi ở:
    Quảng Ninh thân yêu!
    Web:

    Lesson 4: Toán tử và biểu thức, hàm toán học trong Java

    code-java.jpg
    1, Toán tử số học:

    Ví dụ:

    CODE:
    Select All
    public class SoHoc {
    public static 
    void main(String[] args) {
    int abdunguyen;10;3;du b;nguyen b;
    System.out.println("Phần dư (a:b) là: " du);
    System.out.println("Phần nguyên (a:b) là: " nguyen);
    a++;
    System.out.println("Giá trị a đã tăng lên 1, giá trị mới là: " a);
    b--;
    System.out.println("Giá trị của b đã giảm đi 1, giá trị mới là: " b);
    System.out.println("Với 2 giá trị a, b mới trên, Tích (a x b) = " b);
    }
    }
    Lưu ý: Với 2 câu lệnh a= a+1 và a++ có kết quả là như nhau, nhưng về bản chất có sự khác biệt:
    a = a+1 là gán a bằng giá trị a+1, còn phép a++ là tăng a lên 1, phép a++ đỡ tốn tài nguyên hơn, cú pháp ngắn gọn, các bạn nên chọn cách này để chương trình tối ưu hơn [​IMG]

    2, Toán tử trên quan hệ, logic:

    Ví dụ:

    CODE:
    Select All
    public class QuanHeLogic {
    public static 
    void main(String[] args) {
    boolean soSanh;int ab;5;10;soSanh = (== b);
    System.out.println("Kết quả so sánh " "=" " không? " soSanh);
    soSanh = (b);
    System.out.println("Kết quả so sánh " "<" " không? " soSanh);
    soSanh = (a!=b);
    System.out.println("Kết quả so sánh " "#" " không? " soSanh);
    soSanh = (>= b);
    System.out.println("Kết quả so sánh " ">=" " không? " soSanh);
    soSanh = (b)||(a==b);
    System.out.println("Kết quả so sánh " "<=" " không? " soSanh);
    soSanh = !true;
    System.out.println("Biến soSanh được gán bằng giá trị phủ định của true, giá trị đó là: "+soSanh);
    }
    }
    3, Toán tử trên bit:

    - Ở kiến thức cơ bản, chúng ta chưa nghiên cứu sâu vào những toán tử này, mình chỉ chú ý tới 2 phép đó là dịch trái, dịch phải. Hiểu cơ bản thì dịch trái dịch phải n bit cho kết quả giống việc bạn nhân với 2^n và chia cho 2^n (dịch trái – nhân, dịch phải - chia)
    - Vd số 16:
    Dịch trái đi 2 bit thì kết quả là nhân 16 x 2^2 = 64
    Dịch phải đi 3 bit thì kết quả là chia 16 : (2^3) = 2
    - Vậy tại sao có phép nhân, phép chia rồi, chúng ta lại cần biết 2 phép này. Vì 2 phép này tiết kiệm tài nguyên hệ thống hơn là bạn dùng phép chia thông thường. Nói chung, khi có thể, bạn nên dùng 2 phép này để chương trình chạy nhanh hơn. Nó cũng thể hiện tính chuyên nghiệp trong cách lập trình của bạn!
    (Phần này đa số các bạn học CNTT cơ bản đều được học, mình sẽ không giải thích nhiều, bạn nào chưa hiểu có thể tìm trên mạng xem. Nếu thấy không ổn, mình sẽ viết 1 bài viết nói về phần này!)
    Để biết cú pháp và cách sử dụng 2 phép này, bạn tham khảo chương trình dưới đây:

    CODE:
    Select All
    public class PhepDich {
    public static 
    void main(String[] args) {
    int adichPhai1dichPhai2dichTrai1dichTrai2;16;
    dichTrai1 << 1;dichTrai2 << 2;
    System.out.println("Giá trị a ban đầu: " a);
    System.out.println("Khi a dịch trái 1 bit thì giá trị là: " dichTrai1);
    System.out.println("Khi a dịch trái 2 bit thì giá trị là: " dichTrai2);

    System.out.println("\n"); // Xuống dòng

    dichPhai1 >> 1// Dịch phải 1 bitdichPhai2 = a >> 2; // Dịch phải 2 bit
    System.out.println("Giá trị a ban đầu: " a);
    System.out.println("Khi a dịch phải 1 bit thì giá trị là: " dichPhai1);
    System.out.println("Khi a dịch phải 2 bit thì giá trị là: " dichPhai2);
    }
    }
    4, Toán tử ép kiểu:

    - Ép kiểu rộng (widening conversion): từ kiểu nhỏ sang
    kiểu lớn (không mất mát thông tin)
    - Ép kiểu hẹp (narrow conversion): từ kiểu lớn sang kiểu
    nhỏ (có khả năng mất mát thông tin)
    <tên biến> = (kiểu_dữ_liệu) <tên_biến>;

    Bạn hãy tham khảo chương trình nhỏ sau:

    CODE:
    Select All
    public class EpKieu {
    public static 
    void main(String[] args) {float soThuc;int soNguyen;
    soThuc 10.6f;soNguyen = (int) soThuc;System.out.println("Số thực vào là: " soThuc);System.out.println("Số nguyên ép kiểu từ số thực là: " soNguyen);
    }
    }
    5, Một số hàm toán học:

    Các bạn thao tác như sau, gõ “Math.” (có dấu chấm phía cuối), rồi ấn Ctrl + “cách”, IDE sẽ gợi ý cho bạn sẽ thấy rất nhiều hàm toán học có sẵn trong Java, bạn kéo xuống và chọn cái bạn cần.
    Vd: Math.min(a,b): tìm giá trị nhỏ nhất của 2 số a và b
    Math.sqrt(b): tính căn của số b

    Bạn xem ví dụ để hiểu một số hàm này [​IMG]

    CODE:
    Select All
    public class ToanHoc {
    public static 
    void main(String[] args) {float a = -3.2f;float b 16.4f;float triTuyetDoi;float can;float min;
    triTuyetDoi Math.abs(a);
    System.out.println("Giá trị tuyệt đối của a là: "+triTuyetDoi);
    can = (float) Math.sqrt(b);
    System.out.println("Căn của b là: "+can);
    min Math.min(ab); // Hàm tìm giá trị nhỏ nhất của 2 sốSystem.out.println("Giá trị nhỏ nhất của 2 số a và b là: "+min);
    }
    }
     

    Bình Luận Bằng Facebook

    data-href="https://cnttqn.com/threads/java-toan-tu-va-bieu-thuc-ham-toan-hoc-trong-java.4027.html"
  2. Kelcype

    Kelcype Guest

    Giới tính:
    N/A
    Nghề nghiệp:
    N/A
    Nơi ở:
    N/A
    Web:
    N/A

    Purchase Fluoxetine Discount Australia With Free Shipping cialis Cephalexin For Head Cold
     
  3. Kelcype

    Kelcype Guest

    Giới tính:
    N/A
    Nghề nghiệp:
    N/A
    Nơi ở:
    N/A
    Web:
    N/A

    Viagra Online India Keflex For Bronchitis How To Treat Sinusitis With Amoxicillin viagra Prix Xenical France Levitra 100mg Kaufen Zebeta
     
  4. Kelcype

    Kelcype Guest

    Giới tính:
    N/A
    Nghề nghiệp:
    N/A
    Nơi ở:
    N/A
    Web:
    N/A

    Prednisone Over Counter п»їcialis Motilium Paypal Amoxicillin Side Effects