วิธีการใช้งานการเพิ่มตัวเลขสองตัวใน Java



ในบทความนี้จะแนะนำให้คุณรู้จักกับแนวคิดที่เรียบง่าย แต่สำคัญนั่นคือการเพิ่มตัวเลขสองตัวใน Java พร้อมการสาธิต

ในบทความนี้ฉันจะแนะนำให้คุณรู้จักกับแนวคิดที่เรียบง่าย แต่สำคัญนั่นคือการเพิ่มตัวเลขสองตัวใน Java แต่ก่อนที่จะก้าวไปข้างหน้าฉันขอแนะนำให้คุณทำความคุ้นเคยกับ“ Java คืออะไร” คุณสมบัติของ Java และวิธีติดตั้ง Java บนระบบของคุณซึ่งคุณสามารถพบได้ในก่อนหน้านี้ . สิ่งนี้จะช่วยให้คุณคว้าแนวคิดที่กำลังจะมาได้อย่างรวดเร็วและง่ายดาย บล็อกอื่น ๆ ในชุดการสอน Java นี้เขียนโดย ผู้เชี่ยวชาญจะครอบคลุมหัวข้อสำคัญทั้งหมดของ Java & J2EE ในเชิงลึก

คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้





มาเริ่มกันเลย

การเพิ่มตัวเลขสองตัวใน Java

วิธีที่ 1

มาทำความเข้าใจโดยตรงโดยการพัฒนาโปรแกรมใน Java เพื่อพิมพ์“ การบวกตัวเลขสองตัว” บนหน้าจอ



Class AddTwoNumbers {public static void main (String [] args) {System.out.println (“ การบวกเลขสองตัว 10 + 20 คือ” + (10 + 20))}}

เอาต์พุต

เอาต์พุต - เพิ่มตัวเลขสองตัวใน Java - Edureka

เราต้องเข้าใจว่านี่คือตัวเลขที่เพิ่มโดยตรงบอกว่า 10 + 20 นั่นคือ 30 แต่สิ่งที่เราได้รับตัวเลขจากคอนโซล ในกรณีนี้ค่าจะถูกเก็บไว้ในตัวแปร ในแง่ของ Java ตัวแปร String array จะจัดเก็บตัวเลขเหล่านั้นตามดัชนี



คลาสสาธารณะ Main {public static void main (String [] args) {System.out.println ('การเพิ่มของสองจำนวน' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}

ผลลัพธ์สำหรับสิ่งนี้จะเป็นดังที่แสดงในคอนโซลเมื่อเราส่งหมายเลขเดียวกันนั่นคือ 10 และ 20

เอ๊ะผลลัพธ์ที่เราได้มานี้ไม่ต้องการ 30. Remember String [] args ทุกอินพุตที่คุณรับจากคอนโซลจะแสดงใน String ดังนั้นที่นี่เราต้องแปลง Strings เหล่านั้นเป็น Integer เพื่อคำนวณการเพิ่ม

คลาสสาธารณะ Main {public static void main (String [] args) {//System.out.println('Addition of two numbers '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('การบวกเลขสองตัว' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

เอาต์พุต

ตอนนี้ผลลัพธ์ที่ต้องการคือสิ่งที่เราต้องการ นั่นคือการเพิ่ม 10 และ 20 คือ 30 หลังจากที่เราแยกวิเคราะห์จาก String เป็น Integer

ถัดไปในบทความนี้เกี่ยวกับการเพิ่มตัวเลขสองตัวใน Java

วิธีที่ 2

  1. การใช้ตัวดำเนินการลบ: เราสามารถใช้การลบเพื่อบวกตัวเลขสองตัวเพื่อที่มันจะลบล้างค่าลบและทำให้เกิดการบวก

คลาสสาธารณะ AddTwoNumbers {public static int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) System. out.println (เพิ่ม (-10, 20))}}

Ouput

30

10

ถัดไปในบทความนี้เกี่ยวกับการเพิ่มตัวเลขสองตัวใน Java

ตัวดำเนินการ Unary ซ้ำ

สิ่งนี้เกี่ยวข้องกับ while loop แนวคิดพื้นฐานเบื้องหลังสิ่งนี้คือการทำให้ค่าของตัวถูกดำเนินการตัวแรกเป็นศูนย์ และเพื่อให้เกิดการเพิ่มตัวถูกดำเนินการที่สองที่สอดคล้องกันโดยการวนซ้ำจำนวนเท่ากัน ลองพิจารณาตัวอย่างด้านล่างด้วยตัวคุณเอง

คลาสสาธารณะ HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } การเพิ่ม int คงที่สาธารณะ (int a, int b) {//System.out.println ('--->' + a + ':' + b) ในขณะที่ (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} while (ก<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) ส่งคืน b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld เพิ่ม 30 เพิ่ม 10

ถัดไปในบทความนี้เกี่ยวกับการเพิ่มตัวเลขสองตัวใน Java

ตัวดำเนินการ Bitwise และ Bitshift ใน Java

นอกจากนี้เรายังสามารถเพิ่มจำนวนเต็มสองจำนวนได้โดยใช้ตัวดำเนินการ XOR แบบบิตและตัวดำเนินการ AND สามารถรับได้ ในการเพิ่มยอดรวมเราจำเป็นต้องใช้ตัวดำเนินการกะซ้ายที่ลงชื่อ สิ่งนี้เกิดขึ้นได้อย่างไร? ก่อนอื่นมาดูตัวอย่างกัน

คลาสสาธารณะ HelloWorld {public static void main (String [] args) {System.out.println ('การเพิ่มโดยใช้ + ve' + addUsingBits (10, 20)) System.out.println ('การเพิ่มโดยใช้ -ve' + addUsingBits ( -10, 20))} int แบบคงที่สาธารณะ addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

เอาต์พุต

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

เพิ่มโดยใช้ + ve 30

การเพิ่มโดยใช้ -ve 10

โปรดจำไว้เสมอว่าการดำเนินการ XOR ใช้เพื่อประเมินการเพิ่มของสองบิต การดำเนินการ AND ใช้เพื่อประเมินการพกพาของสองบิต เราจะผ่าสิ่งนี้ออกไป? ไปตามค่าอินพุตลองใช้ a = 10 และ b = 20 สำหรับเงื่อนไขแรก

การดำเนินการ

การประเมินนิพจน์

เทียบเท่าไบนารี

ค่าทศนิยม

ถึง

10

00001010

10

ยี่สิบ

00010100

ยี่สิบ

ในขณะที่ (b! = 0)

จริง

int พก = (a & b)

10 และ 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = พก<< 1

0<< 1

0

0

กลับก

30

00011110

30

ทีนี้ลองป้อนข้อมูลเชิงลบพูดว่า -10 สำหรับ a. ลองตรวจสอบสิ่งที่เกิดขึ้นในตารางด้านล่างสิ่งนี้ทำให้เราวนซ้ำได้จนกว่าค่าทศนิยมของ carry จะเป็นลบ

ถัดไปในบทความนี้เกี่ยวกับการเพิ่มตัวเลขสองตัวใน Java

ตารางลูปเริ่มต้น

การดำเนินการ

การประเมินนิพจน์

เทียบเท่าไบนารี

ค่าทศนิยม

ถึง

-10

11110110

-10

ยี่สิบ

สตริงวันที่แปลงเป็น java

00010100

ยี่สิบ

ในขณะที่ (b! = 0)

จริง

int พก = (a & b)

-10 และ 20

00010100

ยี่สิบ

a = a ^ b

-10 ^ 20

11100010

-30

b = พก<< 1

ยี่สิบ<< 1

00101000

40

วน 1.

การดำเนินการ

การประเมินนิพจน์

เทียบเท่าไบนารี

ค่าทศนิยม

ถึง

-30

11100010

-30

40

00101000

40

ในขณะที่ (b! = 0)

จริง

int พก = (a & b)

-30 และ 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = พก<< 1

32<< 1

00101000

64

ไปเรื่อย ๆ & hellip จนกว่าลูปจะกลายเป็น b = 0 สำหรับความกะทัดรัดไม่ได้แสดงผลลัพธ์ทั้งหมดที่นี่ ตารางด้านล่างแสดงถึงลูปสุดท้ายในการดำเนินการนี้

ฟังก์ชันสมาชิกคง c ++

การดำเนินการ

การประเมินนิพจน์

เทียบเท่าไบนารี

ค่าทศนิยม

ถึง

-2147483638

1111111111111111111111111110000000000000000000000000001010

-2147483638

-2147483648

11111111111111111111111111100000000000000000000000000000000000

-2147483648

ในขณะที่ (b! = 0)

จริง

int พก = (a & b)

-2147483638 และ -2147483648

11111111111111111111111111100000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = พก<< 1

-2147483648<< 1

0

0

กลับก

10

00001010

10

นั่นคือวิธีคำนวณการเพิ่ม วุ้ย มากสำหรับความคิด ลองคิดดูว่าการคำนวณนี้ทำได้ด้วยตนเองโดยมนุษย์หรือไม่โดยส่วนใหญ่เป็นการคำนวณแบบไบนารี

ถัดไปในบทความนี้เกี่ยวกับการเพิ่มตัวเลขสองตัวใน Java

การเรียกซ้ำ

เราสามารถเขียนโปรแกรมข้างต้นโดยใช้การเรียกซ้ำได้เช่นกัน ส่วนการคำนวณแตกต่างกันเล็กน้อยลองพิจารณาสิ่งนี้สำหรับการบ้านสำหรับคุณเราจะ? ฉันจะให้สารสกัดที่นี่สำหรับการเรียกซ้ำและคุณพยายามสร้างตารางของคุณเองเพื่อให้คุณรู้ว่ามันทำงานอย่างไรภายใน นอกจากนี้ไม่จำเป็นต้องทิ้งสิ่งเหล่านี้ทั้งหมดที่มีไว้เพื่อวัตถุประสงค์ในการเป็นตัวแทนเท่านั้นเว้นแต่คุณจะรู้สึกตื่นเต้นกับการทำงานภายในที่นี่

int สาธารณะคงที่ addUsingRecursion (int a, int b) {if (b == 0) ส่งคืน int sum = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

ทั้งหมดนี้เป็นเพียงการเพิ่มตัวเลขสองตัวใน Java โดยใช้ตัวดำเนินการ + และไม่ใช้ตัวดำเนินการ + เหตุผลเบื้องหลังการดำเนินการอย่างใดอย่างหนึ่งจะขึ้นอยู่กับความต้องการและความต้องการของโครงการ

ฉันยังไม่ได้ประเมินและทดสอบการทำงานของทั้งสองสถานการณ์เพื่อให้ได้ประสิทธิภาพ ฉันเดาว่าจะมีผลก็ต่อเมื่อคุณสร้างจรวดและส่งไปอวกาศ

ฉันได้อธิบายเฉพาะตัวเลขที่เกี่ยวข้องกับจำนวนเต็มเพื่อความกะทัดรัดซึ่งมีขีด จำกัด หน่วยความจำของตัวเอง ฉันฝากไว้ให้คุณสำรวจเพิ่มเติมโดยใช้ float, double และอื่น ๆ จำไว้เสมอว่าถ้าคุณเกินค่า จำกัด ของประเภทดั้งเดิมผลลัพธ์จะแสดงคำตอบที่แตกต่าง

ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราอยู่ที่นี่เพื่อช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณเพื่อการเป็นที่ดีที่สุดของคุณเรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer