Cấp bậc tác giả:

TRAINING

JAVA - Các Biểu thức và Phép toán

Được viết bởi webmaster ngày 15/07/2018 lúc 08:41 PM
Trong Java, chúng ta thường gặp các loại toán tử sau: Toán tử gán, toán tử số học, toán tử một ngôi, toán tử so sánh, toán tử luận lý điều kiện và cuối cùng tôi sẽ giới thiệu đến các bạn độ ưu tiên giữa các toán tử trong Java.
  • 0
  • 8953

JAVA - Các Biểu thức và Phép toán

-Các toán t s hc (Arithmetic Operator)

- toán hạng có kiểu số, trả về kết quả kiểu số

+, -, *, /, %

Các toán t tăng, gim (Increment, Decrement Operator)

- các biến kiểu số nguyên và kiểu ký tự

op ++/-- hay ++/-- op : tăng/giảm biến số nguyên một đơn vị, hay cho ký tự Unicode kế tiếp/ kế trước

- Toán tử tăng, giảm đặt trước hay sau biến diễn đạt ý nghĩa khác nhau

Ví d 1: int x = 4, y;  y = x++; y = ++x; x++;

System.out.println(++x);

Ví d 2: char c = ‘a’;  c++;

Toán t quan h hay so sánh (Comparison Operator)

- kết quả có kiểu logic

==, !=, >, <, <=, >=

Ví d : 155 > 2.5 ‘B’ < ‘A’

Toán t logic (Boolean Operator)

- toán hạng kiểu logic, kết quả kiểu logic

&&, &: và, ||, |: hoặc, !: phủ định, ^: hoặc loại trừ

- Phép &, && cho kết quả true khi 2 toán hạng có giá trị true

- Phép |, || cho kết quả false khi 2 toán hạng có giá trị false

- Phép ^ cho kết quả là true khi 2 toán hạng khác giá trị nhau

- Phép ! cho kết quả là true nếu op có trị false, và ngược lại


Ví d 1: 100 > 55  &&  ‘B’ < ‘A’

Diem >= 5  &&  Diem < 7

C == ‘Y’  ||  C == ‘y’

Ví d 2: x > 3 && x < ++y

Phép && chỉ cần một toán hạng bên trái  trả về false, lập tức kết quả phép toán trả về false, Java không tính đến toán hạng bên phải


Toán t gán (Assignment Operator)

gán giá trị của một biểu thức cho một biến

Biế =  Biu _Thc;

Ví dụ : x = 10;

Có thể dùng toán tử gán nhiều lần liên tiếp trong câu lệnh.

Ví d: x = y = z = 0;//Cả ba biến x, y, z đều được gán giá trị 0

char c = ‘a’;

c = (char) (c+4);//c+4 là mã unicode của ký tự ‘e’, cho kết quả là ‘e’

nToán tử rút gọn (Shorthand Assignment Operator) như sau :

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>= 

Ví dụ : int a = 2;

a + = 4;  //Tương đương với   a = a + 4;


- Phép toán điều kiện ?:

op1 ? op2 : op3

- nếu toán hạng logic op1 có trị true, trả về giá trị op2, ngược lại trả về op3

- Phép nối chuỗi: +

- Ghép nối các chuỗi, nếu có toán hạng nào không phải chuỗi, Java tự động chuyển sang chuỗi

Ví d 1: int x, a = 2, b = 5;

x = a>b ? a : b;

System.out.println(a>b ? ”So a lon hon” : ”So b lon hon”);

Ví d 2: “Họ và tên của học viên " + soTT + " là : "+ hoTen

" 2 + 2 = "+ (2 + 2)


c. Đ ưu tiên các phép toán

- Thực hiện theo thứ tự từ trên xuống, cùng hàng sẽ có cùng độ ưu tiên

- Quy định thứ tự thực hiện phép toán bằng ( )

( ), [], 

++, --, +op, -op, !, ~ Phải sang trái

new,  (type) op Phải sang trái

*,  /, %

+, -

<<, >>, >>>

<, >, <=, >=, instanceof

==, !=

&

^

|

&&

||

? : Phải sang trái

=, +=, -=, *=, /=, %=, ^=, &=, |=, <<=, >>=, >>>= Phải sang trái

Ví ds += a += b += c;


Một số Ví dụ:


Về toán tử so sánh

import java.util.Scanner;
 

public class ToanTuSoSanh {

    public static void main(String[] args) {

        int firstVariable, secondVariable;

        Scanner scanner = new Scanner(System.in);

        System.out.println("Nhập vào số thứ nhất: ");

        firstVariable = scanner.nextInt();

        System.out.println("Nhập vào số thứ hai: ");

        secondVariable = scanner.nextInt();

        System.out.println("Kết quả của so sánh bằng " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable == secondVariable));

        System.out.println("Kết quả của so sánh không bằng " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable != secondVariable));

        System.out.println("Kết quả của so sánh lớn hơn " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable > secondVariable));

        System.out.println("Kết quả của so sánh lớn hơn hoặc bằng " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable >= secondVariable));

        System.out.println("Kết quả của so sánh nhỏ hơn " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable < secondVariable));

        System.out.println("Kết quả của so sánh nhỏ hơn hoặc bằng " + firstVariable + " và " + 

                secondVariable + " là " + (firstVariable <= secondVariable));

    }

}

Về toán tử điều kiện

import java.util.Scanner;

 

public class ToanTuLuanLyDieuKien {

    public static void main(String[] args) {

        int firstNumber, secondNumber;  

         

        Scanner scanner = new Scanner(System.in);

        System.out.println("Nhập vào số thứ nhất: ");

        firstNumber = scanner.nextInt();

        System.out.println("Nhập vào số thứ hai: ");

        secondNumber = scanner.nextInt();

         

        // Sử dụng toán tử luận lý điều kiện

        System.out.println("Kết quả của (firstNumber < 10) && (secondNumber < 10) là " +

                 ((firstNumber < 10) && (secondNumber < 10)));    // Toán tử AND

        System.out.println("Kết quả của (firstNumber < 10) || (secondNumber < 10) là " + 

                 ((firstNumber < 10) || (secondNumber < 10)));    // Toán tử OR

    }

}

Bài tập: Viết chương trình tính thể tích và diện tích bề mặt của một hình cầu với bán kính r nhập vào từ bàn phím (r > 0). Kết quả chỉ cần lấy 2 chữ số thập phân. Công thức tính như sau:


Thể tích = (4/3) * PI * r3.

Diện tích bề mặt = 4 * PI * r2.


Hướng dẫn: Để làm tròn kết quả với 2 chữ số thập phân các bạn sử dụng lớp DecimalFormat theo cú pháp như sau: DecimalFormat decimalFormat = new DecimalFormat("#.##") với phần sau dấu chấm tương ứng với số chữ số thập phân cần lấy (ở đây chúng ta cần lấy 2 chữ số thập phân nên sẽ sử dụng 2 dấu ##).

import java.text.DecimalFormat;

import java.util.Scanner;

 

public class TinhDienTichVaTheTichHinhCau {

    public static final float PI = 3.14f;   // khai báo hằng số

     

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

         

        // Khai báo lớp DecimalFormat dùng để định dạng số

        DecimalFormat decimalFormat = new DecimalFormat("#.##");

         

        System.out.println("Nhập vào bán kính hình cầu (r > 0): ");

        float radius = scanner.nextFloat();

         

        // Tính diện tích bề mặt hình cầu

        float area = 4 * PI * radius * radius;

        System.out.println("Diện tích hình cầu = " + decimalFormat.format(area));

         

        /*

         *  Tính thể tích hình cầu

         *  Lưu ý phải ép kiểu kết quả của 4/3 về số thực nếu không sẽ dẫn đến sai kết quả

         */

        float vol = (float)4/3 * PI * radius * radius * radius;

        System.out.println("Thể tích hình cầu = " + decimalFormat.format(vol));

    }

}


Bài tập thực hành:


1. Nhập vào tên của bạn và sau đó hiển thị ra màn hình sử dụng Scanner.

2. Nhập vào thông tin của 1 sinh viên và hiển thị ra màn hình.

Nhập vào thông tin của một sinh viên từ bàn phím (thông tin đó bao gồm họ tên, năm sinh và địa chỉ). Sau đó hiển thị các thông tin vừa nhập ra màn hình Console.

Chú ý: Cẩn thận hiện tượng trôi lệnh trong Java 

3. Nhập vào 2 số bất kỳ và thực hiện các phép toán cộng, trừ, nhân, chia, chia lấy dư và so sánh 2 số đó.

Nhập vào 2 số bất kỳ từ bàn phím và thực hiện các yêu cầu sau:

a. Tính tổng, hiệu, tích, thương, chia lấy dư của 2 số đó.

b. Sử dụng các toán tử so sánh đã học để so sánh 2 số đó.

4. Bài toán tính dân số.

Cục điều tra dân số Hoa Kỳ dự báo dân số năm tiếp theo dựa trên giả định sau: Cứ 7 giây là có 1 trẻ em được sinh ra, 13 giây là có 1 người qua đời và 45 giây là có 1 người nhập cư.

Hãy viết chương trình tính toán dân số của Hoa Kỳ trong 5 năm tiếp theo và hiển thị số dân của từng năm. Giả sử số dân hiện tại của Hoa Kỳ là 312,032,486 người và một năm có 365 ngày. Kết quả được làm tròn đến 2 chữ số thập phân.

Hướng dẫn: Để tính dân số của từng năm, chúng ta sẽ áp dụng công thức sau:

Số dân = Số lượng trẻ em sinh ra + Số người nhập cư - Số người qua đời.

5. Tính vận tốc của 1 người đi xe máy, biết rằng vận tốc là không đổi trong suốt quãng đường.

1 người đi xe máy trên quãng đường dài 40km mất 1 giờ, 40 phút và 12 giây. Hãy tính vận tốc của người đó (m/s), biết rằng trong suốt quãng đường vận tốc của người đó là không đổi. Kết quả làm tròn đến 3 chữ số thập phân.

6. Viết chương trình đổi từ độ Celsius sang độ Fahrenheit

Viết chương trình nhập vào độ Celsius bất kỳ từ bàn phím. Sau đó đổi độ này sang độ Fahrenheit và hiển thị kết quả ra màn hình.

Hướng dẫn: Công thức chuyển đổi từ độ Celcius sang độ Fahrenheit như sau:

Độ Fahrenheit = (9/5) * Độ Celsius + 32.

7. Viết chương trình tính tổng các chữ số của 1 số nguyên bất kỳ.

Viết chương trình nhập vào 1 số nguyên n bất kỳ (n > 0) và tính tổng các chữ số của số đó.

Ví dụ: chúng ta nhập vào số 954 thì tổng các chữ số của số này = 9 + 5 + 4 = 18.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML