การต่อสตริง กับการบวกตัวเลข ในภาษาจาวา
ในภาษาจาวา มีชนิดตัวแปรอยู่หลายชนิดด้วยกัน ไม่ว่าจะเป็น String, int, double, float, char ... และอื่น ๆ อีกมาก แต่ละชนิดก็มีการนำไปใช้ที่แตกต่างกัน แต่ก็มีบางประเภทที่อาจใช้แทนกันได้ เช่น double กับ float ซึ่ง double คือตัวแปรที่เก็บจำนวนจริง ส่วน float เป็นตัวแปรที่เก็บทศนิยม
ในการเขียนโปรแรมแต่ละโปรแกรมก็มักจะมีการนำตัวแปรแต่ละชนิดมาผสมผสานกัน เรามาดูกันว่าเมื่อนำตัวแปรแต่ละชนิดมาผสมกันผลลัพธ์ที่ได้จะมีหน้าตาเป็นยังไง
แบบที่ 1 String + String
ตัวอย่าง
System.out.println("Welcome" + " to " + "www.doesystem.com"); //ผลลัพธ์ที่ได้คือ Welcome to www.doesystem String s1 = "Hello "; String S2 = "Doesystem"; System.out.println(s1 + S2); //ผลลัพธ์ที่ได้คือ Hello Doesystem
สรุป -:- การนำตริงสองประโยคมาต่อกันสามาถต่อกันด้วยเครื่องหมาย + สามารถต่อได้ทั้งตัวแปร และประโยคธรรมดา
แบบที่ 2 String + int และ int + String
ตัวอย่าง
String s1 = "Hello I Age : "; int age = 21; System.out.println(s1 + age); //ผลลัพธ์คือ Hello I Age : 21 String s1 = "Hello I Age : "; int age = 21; System.out.println(s1 + age); System.out.println("In 2 Year I Age : " + age + 2); //ผลลัพธ์คือ Hello I Age : 21 In 2 Year I Age : 212 String s1 = "Hello I Age : "; int age = 21; System.out.println(s1 + age); System.out.println("In 2 Year I Age : " + (age + 2)); //ผลลัพธ์คือ Hello I Age : 21 In 2 Year I Age : 23 System.out.println(1 + 1 + " = 2"); //ผลลัพธ์คือ 2 = 2
สรุป -:- การต่อสตริงกับตัวเลข ก็เหมือนกับการต่อตริงกับสตริงนั่นคือใช้เครื่องหมาย + เหมือนกัน แต่ต่างกันตรงที่ ถ้าสตริงต่อกับตัวเลข จะกลายเป็นสตริง โดยการต่อกันจะต่อจากซ้ายไปขวาเสมอ หรือหน้ามาหลังเสมอ เมื่อเราเอาสตริงไว้ข้างหน้าแล้วต่อด้วยตัวเลข จะทำให้ตัวเลขที่ต่อถัดจากตริงนั้น กลายเป็นตริง จากตัวอย่างเราเอาตริงไว้ข้างหน้า นั่นคือ In 2 Year I Age : แล้วตามด้วยตัวเลขที่ใช้ตัวแปร age จะทำให้ ค่าของ age กลายเป็นตริง นั่นคือ จะทำการต่อ In 2 Year I Age : 21 ก่อน แล้วจึงตามด้วย 2 ทำให้ผลลัพธ์ เป็น In 2 Year I Age : 212 ถ้าเราต้องการเอาตริงสองตัวหลังบวกกันก่อน ให้ทำการแก้ไขโดยการใส่วงเล็บ แต่อีกตัวอย่างหนึ่ง ถ้าเราเอาสตริงสองตัวไว้ข้างหน้า เราไม่ต้องใส่วงเล็บก็ได้ เพราะจะทำการบวกตัวเลขที่อยู่ด้านหน้าก่อน แล้วตามด้วยสตริงทีหลัง
แบบที่ 3 double + int และ int + double
ตัวอย่าง
int a = 2; double b = 4; System.out.println("Sum of 2 + 4 is " + (a + b)); //ผลลัพธ์คือ Sum of 2 + 4 is 6.0 int a = 2; double b = 4; System.out.println("Sum of 2 + 4 is " + (b + a)); //ผลลัพธ์คือ Sum of 2 + 4 is 6.0 int a = 2; int b = 4; System.out.println("Sum of 2 + 4 is " + (a + b)); //ผลลัพธ์คือ Sum of 2 + 4 is 6
สรุป -:- เมื่อเรานำเอา double มาบวกกับ int จะกลายเป็น double จากตัวอย่างเมื่อเรานำเอา 2 ซึ่งเป็น int มาบวกกับ 4 ซึ่งเป็น double ผลลัพธ์จะกลายเป็น 6.0 ซึ่งเป็น double แต่เมื่อเราเอา int 2 กับ int 4 มารวมกันจะกลายเป็น 6 ซึ่งเป็น int