4/10/58

Hinomaru Zumou เรื่องย่อ

Hinomaru Zumou เรื่องย่อ


ซูโม่ เป็นศิลปะการต่อสู้ของญี่ปุ่นที่มาตั้งแต่โบราณ โดยผู้เข้าต่อสู้จะต้องสวม มาวาชิ(ผ้านุ่งซูโม่) และสู้กันบนโดโยะ(สนามซูโม่)

ซูโม่ ถือว่าเป็นกีฬาชนิดหนึ่งที่ ไม่จำกัดอายุ สำหรับผู้ที่เข้าต่อสู้

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

อุชิโอะ ฮิโนะมารุ เด็กชายตัวเล็กที่รักและชื่นชอบในกีฬา ซูโม่ จึงต้องการและคาดหวังตำแหน่ง โยโกสุนะ ที่เป็นตำแหน่งสูงสุดของซูโม่ แต่ว่าก็มีอุปสรรคต่าง ๆ ขวางอยู่ ซึ่งอุปสรรคที่สำคัญของเขาก็คือ ขนาดตัวของเขาที่เล็กกว่าปกติ ทำให้เป็นปัญหาในการเล่นซูโม่อย่างมาก เค้าจะฝ่าฟันอุปสรรคไปได้อย่างไร ติดตามอ่านกันได้ที่ Hinomaru Zumou เรื่องราวของเด็กหนุ่มผู้รักซูโม่ ติดตามเรื่องราวของโลกซูโม่กันได้เลย รับรองมันแน่ ๆ

2/10/58

Boolean ใน Java

Boolean ใน Java

บทความนี้เรามาทำความรู้จักกับ Boolean ในภาษา Java กันครับ ว่าคืออะไร และใช้ยังไง

Boolean ที่เรากล่าวถึงจะอยู่ใน java.lang.Boolean ซึ่งเป็นตัว Wrapper Class ของ boolean ที่เป็น Primitive Type

เราสามารถสร้าง Bolean Object ได้จาก boolean หรือจาก String ก็ได้ ถ้าเราไปดูใน constructor ของ Boolean จะเห็นว่ารับได้ทั้ง boolean และก็ String ตามรูปด้านล่าง


ถ้าเราเขียนโค้ดก็จะได้ดังตัวอย่างด้านล่าง

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  Boolean b1 = new Boolean(false);
  Boolean b2 = new Boolean("true");
 }
}

การ convert Boolean เป็น boolean

เราสามารถสร้าง Boolean Object ได้จาก boolean ในทำนองเดียวกัน เราก็สามารถแปลง Boolean ไปเป็น boolean ได้เหมือนกัน ตามตัวอย่างโค้ดด้านล่าง

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  Boolean b1 = new Boolean(false);
  Boolean b2 = new Boolean("true");

  boolean bool1 = b1.booleanValue();
  boolean bool2 = b2.booleanValue();
 }
}

การแปลง boolean เป็น Boolean โดยใช้ valueOf

จากข้างบนจะเห็นว่าเราสามารถแปลง boolean เป็น Boolean ได้โดยการ new แต่ก็ยังมีวิธีการแปลง boolean เป็น Boolean ได้โดยใช้ method valueOf ตามตัวอย่างโค้ดด้านล่าง

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  Boolean b1 = Boolean.valueOf(false);
  Boolean b2 = Boolean.valueOf("true");
 }
}

การแปลง String เป็น boolean

จากหลาย ๆ ตัวอย่างที่ผ่านมาเราได้แปลง String เป็น Boolean ซึ่งเป็น Object กันไปแล้ว เรามาดูวิธีการแปลง String เป็น boolean ที่เป็น primitive type กันดูบ้างครับ ตามตัวอย่างด้านล่าง

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  String strBoolean = "true";

  // String to boolean conversion
  boolean theValue = Boolean.parseBoolean(strBoolean);

  System.out.println(theValue);
 }
}

จากโค้ดตัวอย่างด้านบน ในการแปลง String เป็น boolean ที่เป็น primitive type นั้น เราได้ใช้ method parseBoolean ที่อยู่ใน Class Boolean ในการแปลง เรามาลองสังเกตุ Class Boolean นี้ซักหน่อยตามรูปด้านล่าง


ตามรูปจะเห็นว่าในการแปลง String เป็น Boolean นั้นโดยผ่าน constructor หรือ valueOf ก็ต้องผ่าน parseBoolean เช่นเดียวกัน

การใส่ค่าตัวแปร args method main ใน Eclipse

การใส่ค่าตัวแปร args method main ใน Eclipse

ถ้าเราลองสังเกตุดี ๆ จะเห็นว่า method main ในภาษา Java นั้นจะมีการรับพารามิเตอร์ที่เป็น array ที่ส่วนมากจะตั้งชื่อว่า args อยู่ เราสามารถส่งค่าเข้าไปได้ ดังนั้นบทความนี้เราจะมาดูวิธีการส่งค่าไปให้กับตัวแปร args โดยใช้ Eclipse กันครับ

เริ่มด้วยสร้าง Method main จากนั้นก็ให้คลิกขวาเลือก Run As แล้วก็เลือก Run Configurations... ตามรูปด้านล่าง


จะปรากฎหน้าต่าง Run Configurations ขึ้นมา ให้เราเลือก Class จากด้านซ้าย ซึ่งจะเป็น Default จากที่เราเปิด แล้วมาในแถบของ Arguments ให้เราใส่ค่าลงในช่อง Program arguments ตามรูปด้านล่าง


จากนั้นให้เราลองกด Run ดูผลลัพธ์ก็จะออกมาประมาณนี้


จากผลลัพธ์จะเห็นว่าเราสามารถใส่ค่าให้กับตัวแปร args ได้ การเว้นบรรทัดเป็นการบอกว่าคือตัวใหม่

แค่นี้เราก็ได้วิธีใส่ค่าให้กับตัวแปร args ได้แล้ว

ค่า MAX กับค่า MIN ของ Primitive Type

ค่า MAX กับค่า MIN ของ Primitive Type

เรามาดูค่า MAX กับค่า MIN ของ Primitive Type กันครับ ซึ่งก็รู็กันอยู่แล้วว่าค่า Primitive Type นั้นมีอยู๋ด้วยกัน 8 ชนิด ซึ่งแต่ละชนิดก็มีขนาดที่ต่างกันไป เรามาดูค่าที่เป็นไปได้ของแต่ละชนิดกัน

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  System.out.println("Byte.MIN = " + Byte.MIN_VALUE);
  System.out.println("Byte.MAX = " + Byte.MAX_VALUE);
  System.out.println("Short.MIN = " + Short.MIN_VALUE);
  System.out.println("Short.MAX = " + Short.MAX_VALUE);
  System.out.println("Integer.MIN = " + Integer.MIN_VALUE);
  System.out.println("Integer.MAX = " + Integer.MAX_VALUE);
  System.out.println("Long.MIN = " + Long.MIN_VALUE);
  System.out.println("Long.MAX = " + Long.MAX_VALUE);
  System.out.println("Float.MIN = " + Float.MIN_VALUE);
  System.out.println("Float.MAX = " + Float.MAX_VALUE);
  System.out.println("Double.MIN = " + Double.MIN_VALUE);
  System.out.println("Double.MAX = " + Double.MAX_VALUE);
 }
}

จากโค้ดจะเป็นการแสดงค่าต่ำสุดกับค่าสูงสุดใน Primitive Type แต่ละชนิด ซึ่งใน Wrapper Class ก็จะมี Constant อยู่ เมื่อรันโค้ดด้านบนแล้วเราก็จะได้คำตอบดังด้านล่าง

Byte.MIN = -128
Byte.MAX = 127
Short.MIN = -32768
Short.MAX = 32767
Integer.MIN = -2147483648
Integer.MAX = 2147483647
Long.MIN = -9223372036854775808
Long.MAX = 9223372036854775807
Float.MIN = 1.4E-45
Float.MAX = 3.4028235E38
Double.MIN = 4.9E-324
Double.MAX = 1.7976931348623157E308

1/10/58

การ Wrapping Primitive ใน Wrapper Object

การ Wrapping Primitive ใน Wrapper Object

เรามาดูตัวอย่างโค้ดการแปลง Primitive Type มาเป็น Wrapper class กันครับ เรามาดูคู่ Primitive Type กับ Wrapper Class กันก่อน

Primitive Type Wrapper class
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double

ตัวอย่างโค้ดการ Wrapping

package info.doesystem.howto;

public class DoesystemInfo {
 public static void main(String[] args) {
  // wrapping boolean
  Boolean refBoolean = new Boolean(true);
  boolean priBool = refBoolean.booleanValue();

  // wrapping byte
  Byte refByte = new Byte((byte) 123);
  byte priByte = refByte.byteValue();

  // wrapping character
  Character refChar = new Character('x');
  char priChar = refChar.charValue();

  // wrapping short
  Short refShort = new Short((short) 123);
  short priShort = refShort.shortValue();

  // wrapping integer
  Integer refInt = new Integer(123);
  int priInt = refInt.intValue();

  // wrapping long
  Long refLong = new Long(123L);
  long priLong = refLong.longValue();

  // wrapping Float
  Float refFloat = new Float(12.3F);
  float priFloat = refFloat.floatValue();

  // wrapping Double
  Double refDouble = new Double(12.3D);
  double priDouble = refDouble.doubleValue();
 }
}

จากโค้ดจะสังเกตุเห็นว่าในการสร้าง Wrapper Class จะมี constructor ที่รับพารามิเตอร์ Primitive Type นั้น ๆ อยู่

ขนาดและค่าเริ่มต้นของ Primitive Types ในภาษา Java

ขนาดและค่าเริ่มต้นของ Primitive Types ในภาษา Java

ในภาษา Java นั้นจะมีข้อมูลที่เรียกว่า primitive type อยู่ ซึ่งมีอยู่ด้วยกัน 8 ชนิด คือ byte, short, int, long, char, float, double และ boolean

ถ้าเราจะจัดกลุ่มของ primitive type เราสามารถแบ่งออกได้เป็น 4 กลุ่ม คือ
1. Integers ประกอบด้วย byte, short, int และ long
2. Floating-point numbers ประกอบไปด้วย float และ double
3. Characters ประกอบไปด้วย char
4. Boolean ประกอบด้วย boolean

ขนาดของ primitive type

int A 32-bit (4-byte) integer value
short A 16-bit (2-byte) integer value
long A 64-bit (8-byte) integer value
byte An 8-bit (1-byte) integer value
float A 32-bit (4-byte) floating-point value
double A 64-bit (8-byte) floating-point value
char A 16-bit character using the Unicode encoding scheme
boolean A true or false value

ค่าเริ่มต้นของ primitive type

boolean false
byte 0
short 0
int 0
long 0L
char \u0000
float 0.0f
double 0.0d

ค่าคงที่ constant ในภาษา Java

ค่าคงที่ constant ในภาษา Java

บทความนี้เรามาดูการประกาศค่าคงที่ หลักการในการประกาศค่าคงที่ กฎต่าง ๆ สิ่งที่ควรทำ และตัวอย่างการใช้งานค่าคงที่กันครับ

ในการกระกาศค่าคงที่นั้นจะมีแบบแผนในการประกาศอยู่ ซึ่งเราจะใช้คำว่า final ในการบอกว่าเป็นค่าคงที่ แล้วตามด้วยตัวแปร กรณีของตัวแปรในเราจะใช้ตัวพิมพ์ใหญ่ทั้งหมด และจะคั่นคำด้วยเครื่องหมาย underscore ตามตัวอย่าง

package info.doesystem.howto;

public class DoesystemInfo {
 static final int NUMBER_OF_MONTHS = 12;

 public static void main(String[] args) {
  System.out.println(DoesystemInfo.NUMBER_OF_MONTHS);
 }
}

จากตัวอย่างนี้เราใช้ static final เพื่อบอกว่าเป็นค่าคงที่ประจำ Class จากนั้นก็ตั้งชื่อตัวแปร NUMBER_OF_MONTHS โดยใช้เครื่องหมาย underscore คั่นแต่ละคำและเป็นตัวพิมพ์ใหญ่หมด

ในการเรียกใช้ static final นั้นก็ให้เราพิมพ์ชื่อ Class จากนั้นก็ตามด้วยชื่อตัวแปรได้เลย

package info.doesystem.howto;

public class DoesystemInfo {
 static final int NUMBER_OF_MONTHS = 12;

 public static void main(String[] args) {
  System.out.println(DoesystemInfo.NUMBER_OF_MONTHS);
  System.out.println(sumOne(2));
 }

 public static int sumOne(int value) {
  final int ONE = 1;
  return value + ONE;
 }
}

ตัวอย่างนี้เป็นการประกาศค่าคงที่ใน method เราก็ใช้ final เลย