overclockzonefanpage  overclockzoneth  TV  
Results 1 to 5 of 5

Thread: ภาษาจาวาช่วยหน่อย

  1. #1
    OverclockZone Member devilking's Avatar
    Join Date
    14 Oct 2007

    Default ภาษาจาวาช่วยหน่อย

    ช่วยอธิบายผลลับมันหน่อย

    ผลลับ
    num1=-96
    num2=6
    num3=1.0
    x=20 y= 20
    zz =3
    xxx=2.5


    โคต

    public class testCasting{

    public static void main(String[]args){


    //1

    byte num1 =(byte) 160;

    System.out.println("num1 =" + num1);


    //2

    short a = 1;int num2 = a + 5;

    System.out.println("num2 =" + num2);


    //3

    int b =3;float num3 =(float)b/3;

    System.out.println("num3 =" + num3);


    //4

    int x; long y; x =20; y =x;

    System.out.println("x ="+ x +",y="+ y);


    //5

    short xx =1, yy =2, zz;zz =(short)(xx + yy);

    System.out.println("zz = "+zz);


    //6

    double xxx = 2.5f;

    System.out.println("xxx ="+xxx);

    }

    }

  2. #2
    OverclockZone Member
    Join Date
    15 Mar 2008
    Location
    Old Trafford

    Default

    ไม่ค่อยเข้าใจคำถามครับ
    ก็ได้ผลลัพธ์มาแล้วนี่ แล้วจะถามผลลัพธ์ทำไมอีกหว่า -*-
    หรือจะถามว่าทำไมมันถึงได้ผลลัพธ์เท่านั้นรึเปล่า ???

  3. #3
    OverclockZone Member
    Join Date
    15 Mar 2008
    Location
    Old Trafford

    Default

    ถ้าใช่ก็ ตามนี้เลย
    Quote Originally Posted by devilking View Post

    //1
    ข้อนี้อธิบายยากอยู่เหมือนกัน(จริงๆไม่ชัวร์) รอเรปอื่น
    byte num1 =(byte) 160;

    System.out.println("num1 =" + num1);


    //2
    short a = 1;int num2 = a + 5;

    System.out.println("num2 =" + num2);
    short กับ int เป็นชนิดของตัวแปร(เป็นจำนวนเต็ม แต่จำไม่ได้ว่ามีค่าเท่าไรถึงเท่าไร รอเรปอื่น)
    num2 แถวบนเก็บผลลัพธ์ของa + 5 (ซึ่งa=1) ทำให้มันเก็บค่า6
    System.out.println เป็นคำสั่งให้แสดงผลออกมาทางหน้าจอ
    ในเครื่องหมาย"...." หมายถึงมันจะแสดงผลออกมาตามที่อยู่ในเครื่องหมาย
    num2 แถวล่าง(หลังเครื่องหมาย+) คือให้แสดงผลลัพธ์ออกมา
    ก็จะแสดงผลลัพธ์ออกมาเป็น
    num2=6

    //3

    int b =3;float num3 =(float)b/3;

    System.out.println("num3 =" + num3);
    ข้อแรกอธิบายไปค่อนข้างละเอียดแล้ว หลังๆจะไม่พูดซ้ำแล้วนะ
    float เป็นจำนวนทศนิยมทำให้num3มีค่าเป็นทศนิยม
    b/3 จะได้ผลลัพธ์เท่ากับ1(เพราะb=3)
    เวลาแสดงผลลัพธ์ออกมาก็จะมี.0มาด้วย เพราะมันกลายเป็นทศนิยมแล้ว
    ก็จะแสดงผลลัพธ์อออกมาเป็น
    num3=1.0

    //4

    int x; long y; x =20; y =x;

    System.out.println("x ="+ x +",y="+ y);
    ข้อนี้ก็y=20 (เพราะโค้ดกำหนดมาให้ว่า x=20 แล้วy=x)
    ก็จะแสดงผลลัพธ์อออกมาเป็น
    x=20 y=20


    //5

    short xx =1, yy =2, zz;zz =(short)(xx + yy);

    System.out.println("zz = "+zz);
    zz=3(เพราะ xx=1 และ yy=2)
    ก็จะแสดงผลลัพธ์อออกมาเป็น
    zz=3


    //6

    double xxx = 2.5f;

    System.out.println("xxx ="+xxx);
    ข้อนี้ไม่ชัวแฮะ
    fหลัง2.5นี่ย่อมาจาก float(มั๊ง) คืออันนี้มันก็จะเป็นทศนิยมอ่ะ
    double ก็เป็นจำนวนทศนิยม
    ก็ไม่มีอะไร ก็แสดงผลธรรมดา ไม่ได้คำนวณอะไร

    Last edited by louis1524; 7 Jul 2008 at 14:52:18.

  4. #4
    OverclockZone Member devilking's Avatar
    Join Date
    14 Oct 2007

    Default

    อยากรู้ผลลับ ออกมาได้อย่างไง

  5. #5
    OverclockZone Member
    Join Date
    15 Mar 2008
    Location
    Old Trafford

    Default

    จัดไป


Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •