Làm thế nào để thực hiện phép cộng hai số trong Java?



Trong bài viết này, sẽ giới thiệu cho bạn một khái niệm đơn giản nhưng quan trọng đó là phép cộng hai số trong Java với trình diễn.

Trong bài viết này, tôi sẽ giới thiệu cho bạn một khái niệm đơn giản nhưng quan trọng đó là phép cộng hai số trong Java. Nhưng trước khi tiếp tục, tôi khuyên bạn nên làm quen với “Java là gì”, các tính năng của Java và cách bạn có thể cài đặt Java trên hệ thống của mình, bạn có thể tìm thấy trong phần trước . Điều này sẽ giúp bạn nắm bắt các khái niệm sắp tới một cách nhanh chóng và dễ dàng. Các blog khác trong loạt bài hướng dẫn Java này được viết bởi các chuyên gia sẽ trình bày sâu về tất cả các chủ đề quan trọng của Java & J2EE,

Các gợi ý sau sẽ được đề cập trong bài viết này,





Vì vậy, chúng ta hãy bắt đầu,

Phép cộng hai số trong Java

Phương pháp 1

Hãy hiểu trực tiếp bằng cách phát triển một chương trình bằng Java để in “Phép cộng hai số” trên màn hình.



Class AddTwoNumbers {public static void main (String [] args) {System.out.println (“Phép cộng của hai số 10 + 20 là” + (10 + 20))}}

Đầu ra

Đầu ra - Thêm hai số trong Java - Edureka

Chúng ta phải hiểu điều này rằng, ở đây các con số được thêm trực tiếp 10 + 20 tức là 30. Nhưng những gì chúng ta nhận được các con số từ bảng điều khiển. Trong trường hợp đó, các giá trị sẽ được lưu trữ trong một biến. Về mặt Java, biến mảng String sẽ lưu trữ các số đó dựa trên chỉ mục của chúng.



public class Main {public static void main (String [] args) {System.out.println ('Phép cộng hai số' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}

Đầu ra cho điều này sẽ được hiển thị trong Bảng điều khiển khi chúng tôi chuyển cùng một số là 10 và 20.

Eh, kết quả mà chúng ta nhận được ở đây không như mong muốn 30. Hãy nhớ rằng String [] args, mọi đầu vào bạn lấy từ bảng điều khiển đều được biểu diễn trong Chuỗi. Vì vậy ở đây chúng ta phải chuyển các Chuỗi đó thành Số nguyên để tính phép cộng.

public class Main {public static void main (String [] args) {//System.out.println('Thêm hai số '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Phép cộng hai số' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Đầu ra

Bây giờ đầu ra mong muốn là những gì chúng ta muốn. Đó là việc bổ sung 10 và 20 là 30 sau khi chúng tôi phân tích cú pháp nó từ Chuỗi thành Số nguyên.

Tiếp theo trong bài viết này về Phép cộng hai số trong Java

Phương pháp 2

  1. Sử dụng toán tử phép trừ: Chúng ta có thể sử dụng phép trừ để cộng hai số sao cho nó sẽ phủ định giá trị âm và do đó dẫn đến phép cộng.

public class AddTwoNumbers {public static int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) Hệ thống. out.println (add (-10, 20))}}

Ouput

30

10

Tiếp theo trong bài viết này về Phép cộng hai số trong Java

Toán tử đơn nguyên lặp lại

Điều này liên quan đến vòng lặp while, ý tưởng cơ bản đằng sau điều này là đưa giá trị của toán hạng đầu tiên về 0. Và để tiếp tục tăng toán hạng thứ hai tương ứng của nó với cùng một số lần lặp. Hãy tự xem xét ví dụ dưới đây.

public class HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } public static int add (int a, int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} while (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) trả về b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld thêm 30 thêm 10

Tiếp theo trong bài viết này về Phép cộng hai số trong Java

Toán tử Bitwise Và Bitshift Trong Java

Chúng ta cũng có thể thực hiện phép cộng hai số nguyên bằng cách sử dụng toán tử bitwise XOR và toán tử mang có thể thu được bằng toán tử AND. Để thêm vào tổng, chúng ta cần sử dụng toán tử dịch trái đã ký. Làm thế nào điều này xảy ra? Đầu tiên chúng ta hãy xem một ví dụ.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Phép cộng bằng cách sử dụng + ve' + addUsingBits (10, 20)) System.out.println ('Phép cộng bằng -ve' + addUsingBits ( -10, 20))} public static int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

Đầu ra

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Bổ sung bằng cách sử dụng + ve 30

Phép cộng bằng -ve 10

Luôn nhớ rằng, phép toán XOR được sử dụng để đánh giá phép cộng hai bit. Phép toán AND được sử dụng để đánh giá việc mang hai bit. Chúng ta hãy mổ xẻ điều này nhé? Theo các giá trị đầu vào, hãy lấy a = 10 và b = 20 cho điều kiện đầu tiên.

Hoạt động

Đánh giá biểu hiện

Tương đương nhị phân

Giá trị thập phân

đến

10

00001010

10

b

hai mươi

00010100

hai mươi

trong khi (b! = 0)

thật

int carry = (a & b)

10 & 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = mang<< 1

0<< 1

0

0

trả lại một

30

00011110

30

Bây giờ, hãy lấy một đầu vào phủ định, giả sử -10 cho a. Hãy xem xét điều gì xảy ra ở bảng bên dưới.Điều này cho phép chúng tôi lặp lại cho đến khi giá trị thập phân của giá trị mang về âm.

Tiếp theo trong bài viết này về Phép cộng hai số trong Java

Bảng vòng lặp ban đầu

Hoạt động

Đánh giá biểu hiện

Tương đương nhị phân

Giá trị thập phân

đến

-10

11110110

-10

b

hai mươi

chuyển theo giá trị trong java

00010100

hai mươi

trong khi (b! = 0)

thật

int carry = (a & b)

-10 & 20

00010100

hai mươi

a = a ^ b

-10 ^ 20

11100010

-30

b = mang<< 1

hai mươi<< 1

00101000

40

Vòng lặp 1.

Hoạt động

Đánh giá biểu hiện

Tương đương nhị phân

Giá trị thập phân

đến

-30

11100010

-30

b

40

00101000

40

trong khi (b! = 0)

thật

int carry = (a & b)

-30 & 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = mang<< 1

32<< 1

00101000

64

Và tiếp tục & hellip cho đến khi vòng lặp trở thành b = 0 cho ngắn gọn, không phải tất cả kết quả đều được hiển thị ở đây. Vì vậy, bảng dưới đây đại diện cho vòng lặp cuối cùng trong hoạt động này.

khi nào sử dụng java này

Hoạt động

Đánh giá biểu hiện

Tương đương nhị phân

Giá trị thập phân

đến

-2147483638

111111111111111111111111111111100000000000000000000000001010

-2147483638

b

-2147483648

111111111111111111111111111111100000000000000000000000000000

-2147483648

trong khi (b! = 0)

thật

int carry = (a & b)

-2147483638 & -2147483648

111111111111111111111111111111100000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = mang<< 1

-2147483648<< 1

0

0

trả lại một

10

00001010

10

Vì vậy, đó là cách tính toán phần bổ sung. Phù! quá nhiều cho những suy nghĩ. Hãy nghĩ xem nếu phép tính này được thực hiện thủ công bởi con người, chủ yếu là các phép tính nhị phân.

Tiếp theo trong bài viết này về Phép cộng hai số trong Java

Đệ quy

Chúng ta cũng có thể viết chương trình trên bằng cách sử dụng đệ quy. Phần tính toán hơi khác, chúng ta hãy xem xét điều này để làm bài tập về nhà cho bạn nhé? Tôi sẽ đưa ra phần trích xuất ở đây cho phần đệ quy và bạn cố gắng xây dựng bảng của riêng mình để bạn biết cách nó hoạt động bên trong. Ngoài ra, không cần phải hiểu tất cả những điều này chỉ dành cho mục đích đại diện trừ khi bạn hào hứng với hoạt động nội bộ ở đây.

public static int addUsingRecursion (int a, int b) {if (b == 0) return a int sum = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

Đây là tất cả để bổ sung hai số trong Java bằng cách sử dụng toán tử + và không sử dụng toán tử +. Lý do đằng sau việc thực hiện một trong hai điều đó sẽ hoàn toàn phụ thuộc vào nhu cầu và yêu cầu của dự án.

Tôi đã không đánh giá và kiểm tra hoạt động của cả hai kịch bản để đưa ra hiệu suất. Tôi đoán điều đó sẽ chỉ có hiệu lực nếu bạn đang chế tạo tên lửa và đưa nó lên vũ trụ.

Tôi chỉ giải thích ngắn gọn các số liên quan đến Số nguyên có giới hạn bộ nhớ riêng. Tôi để nó cho bạn khám phá thêm bằng cách sử dụng float, double, v.v. Luôn nhớ rằng nếu bạn vượt quá giá trị giới hạn của các kiểu nguyên thủy thì kết quả sẽ hiển thị câu trả lời khác.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành người giỏi nhất của bạn, chúng tôi đưa ra chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java.