CodeGym /Blog Java /Ngẫu nhiên /Toán tử số trong Java

Toán tử số trong Java

Xuất bản trong nhóm
CHÀO! Hôm nay chúng ta sẽ xem xét một chủ đề rất quan trọng, cụ thể là các toán tử số trong Java .
Toán tử số trong Java - 1
Trong lập trình, các con số ở khắp mọi nơi. Nếu bạn đào sâu và nhớ thời trung học, bạn có thể nhớ lại rằng máy tính biểu thị tất cả thông tin ở định dạng số: tổ hợp của số không và số một, còn được gọi là mã nhị phân.
Toán tử số trong Java - 2
Có rất nhiều toán tử số trong lập trình, vì vậy chúng ta sẽ sử dụng các ví dụ để khám phá những toán tử quan trọng nhất :) Hãy bắt đầu với toán tử số học đơn giản nhất . Đây là các toán tử cộng ( +), trừ ( -), nhân ( *) và chia ( /) nổi tiếng.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
Đầu ra bảng điều khiển: 1032 966 32967 30 Bạn đã sử dụng tất cả những thứ này. Đối với nhóm này, bạn có thể thêm vào %toán tử phần dư hoặc modulo ( ).

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
Đầu ra của bảng điều khiển: 1 Trong ví dụ này, chúng ta chia 33 cho 2. Điều này mang lại 16, với một "đuôi" phụ (một) không chia hết cho 2. "Đuôi" này là kết quả của phép toán "dư thừa từ phép chia". Java cũng thực hiện các toán tử so sánh/quan hệ (giống như trong toán học). Họ có lẽ cũng quen thuộc với bạn từ trường học:
  • bằng ( ==)
  • lớn hơn ( >)
  • nhỏ hơn ( <)
  • lớn hơn hoặc bằng ( >=)
  • nhỏ hơn hoặc bằng ( <=)
  • không bằng ( !=)
Ở đây bạn nên chú ý đến một điểm quan trọng khiến nhiều người mới bắt đầu mắc lỗi. Toán tử "bằng" được viết ==, không phải =. Trong Java, một =là toán tử gán , được sử dụng khi một biến được gán một số, chuỗi hoặc giá trị của một biến khác.
Toán tử số trong Java - 3

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// We expect false to be displayed
   }
}
Đầu ra bảng điều khiển: 999 Rất tiếc! Đây rõ ràng không phải là kết quả mà chúng tôi mong đợi. Đó là một loại dữ liệu hoàn toàn khác: chúng tôi dự kiến ​​sẽ thấy một boolean nhưng chúng tôi đã nhận được một số. Tất cả là vì chúng ta đã sử dụng toán tử gán trong ngoặc đơn thay vì phép so sánh . x=y Giá trị của y(999) được gán cho biến xvà sau đó chúng tôi hiển thị giá trị của x. Đây là cách đúng đắn để làm điều đó:

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Đầu ra của bảng điều khiển: sai Bây giờ chúng ta đã so sánh đúng hai số! :) Đây là một tính năng khác của toán tử gán ( =): nó có thể được "xâu chuỗi" lại với nhau:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
Đầu ra của bàn điều khiển: 256 Ghi nhớ phép gán từ phải sang trái . Biểu thức ( ) này x = y = zsẽ được thực hiện theo các bước:
  • y = z, đó là,y = 256
  • x = y, đó là,x = 256

Toán tử đơn nguyên.

Chúng được gọi là " đơn nguyên " từ từ " uno ", có nghĩa là " một ". Họ có tên này bởi vì, không giống như các toán tử trước đó, họ hành động trên một số duy nhất chứ không phải nhiều số. Bao gồm các:
  • Phép trừ đơn phương. Nó lật dấu của số.


public class Main {

   public static void main(String[] args) {

       int x = 999;

       // Change the sign for the first time
       x = -x;
       System.out.println(x);

       // Change the sign for the second time
       x= -x;
       System.out.println(x);
   }
}
Đầu ra của bảng điều khiển: -999 999 Chúng tôi đã sử dụng toán tử trừ một ngôi hai lần. Kết quả là, số của chúng tôi lúc đầu là số âm, sau đó nó lại trở thành số dương!
  • Tăng (++) và giảm (--)
Toán ++tử tăng một số lên một và --toán tử giảm một số bằng cùng một lượng.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       x++;
       System.out.println(x);

       x--;
       System.out.println(x);
   }
}
Đầu ra bảng điều khiển: 1000 999 Ký hiệu này có thể quen thuộc với bạn nếu bạn đã nghe nói về ngôn ngữ C++. Những người tạo ra nó đã sử dụng cái tên thú vị này để truyền đạt ý tưởng rằng "C++ là phần mở rộng của ngôn ngữ C". Một phiên bản cải tiến phổ biến của Notepad được gọi là Notepad++ Đây là một điểm quan trọng. Có hai loại toán tử tăng và giảm: hậu tốtiền tố . x++- hậu tố ++x- tiền tố Sự khác biệt cơ bản giữa việc đặt dấu cộng/trừ trước hoặc sau số là gì? Chúng ta sẽ xem trong ví dụ sau:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}

Đầu ra bảng điều khiển: 999 Đã xảy ra lỗi! Chúng tôi muốn tăng thêm x1 và gán giá trị mới cho biến y. Nói cách khác, y phải là 1000. Nhưng thay vào đó, chúng ta nhận được một số khác: 999. Có vẻ như x không tăng và toán tử tăng không hoạt động? Nhưng nó đã làm việc. Để thuyết phục bản thân, hãy thử hiển thị xở cuối :)

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
Đầu ra của bảng điều khiển: 999 1000 Trên thực tế, đây chính là lý do tại sao thao tác này được gọi là hậu tố: nó được thực hiện sau biểu thức chính. Điều này có nghĩa là, trong trường hợp của chúng ta: int y = x++; y = xđược thực hiện trước (và biến ysẽ được khởi tạo thành giá trị của x), và chỉ sau đó mới x++được thực thi. Nếu đây không phải là hành vi chúng ta muốn thì sao? Sau đó, chúng ta cần sử dụng ký hiệu tiền tố :

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
Trong trường hợp này, ++xđược xử lý trước và chỉ sau đó là y = x; Thực thi. Bạn nên ghi sự khác biệt này vào bộ nhớ ngay lập tức để tránh mắc lỗi trong một chương trình thực tế khi sử dụng hậu tố thay vì tiền tố có thể đảo lộn mọi thứ :)

toán tử hợp chất

Ngoài ra, trong Java còn có cái gọi là toán tử ghép. Họ kết hợp hai toán tử:
  • Phân công
  • toán tử số học
Bao gồm các:
  • +=
  • -=
  • *=
  • /=
  • %=
Hãy xem xét một ví dụ:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
Đầu ra của bảng điều khiển: 1032 x += y có nghĩa là x = x + y. Hai biểu tượng được sử dụng liên tiếp vì mục đích ngắn gọn. Các kết hợp -=, *=, /=%=hoạt động theo cách tương tự.

Toán tử logic

Ngoài các toán tử số, Java còn có các phép toán liên quan đến các giá trị boolean ( truefalse ). Các thao tác này được thực hiện bằng cách sử dụng các toán tử logic
  • !- logic KHÔNG . Nó lật giá trị của một boolean

public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
Đầu ra bảng điều khiển: sai
  • &&- logic . Nó chỉ trả về true nếu cả hai toán hạng đều đúng.

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
Đầu ra của bảng điều khiển: false true Kết quả của thao tác đầu tiên là sai, vì một trong các toán hạng là sai, cụ thể là 100 > 200. Để trả về giá trị true, &&toán tử yêu cầu cả hai toán hạng đều đúng (như trường hợp ở dòng thứ hai).
  • ||- logic HOẶC . Nó trả về true khi ít nhất một trong các toán hạng là true.
Khi chúng tôi sử dụng toán tử này, ví dụ trước của chúng tôi tạo ra một kết quả khác:

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 || 100 > 200);
   }
}
Đầu ra của bảng điều khiển: đúng Biểu thức 100 > 200vẫn là sai, nhưng đối với toán tử OR , phần đầu tiên ( 100 > 10) là hoàn toàn đủ.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION