นิพจน์และโครงสร้างควบคุม ของภาษาjava
ข่าวสาร
Clash of Clans เกมวางแผนกลยุทธบุกโจมตี | Android Apps
Clash of Clans เกมวางแผนกลยุทธบุกโจมตี | Android Apps
   แอพพลิเคชั่นClash of Clans เปิดให้ดาวน์โหลดฟรีโดยAndroid Apps ถือเป็นแอพพลิเคชั่นเกมสร้างฐานทัพและกองกำลัง เพื่อบุกโจมตีผุ้เล่นคนอื่นๆ
แอพพลิเคชั่นปริศนาฟ้าแลบ คำถามพามันส์| Android Apps
แอพพลิเคชั่นปริศนาฟ้าแลบ คำถามพามันส์| Android Apps
   แอพพลิเคชั่นปริศนาฟ้าแลบ เปิดให้ดาวน์โหลดฟรีโดยAndroid Apps หนึ่งในแอพพลิเคชั่นเกมคำถามปริศนาฟ้าแลบ ได้รวบรวมคำถามจากรายการไว้มากมายเกี่ยวกับคำถาม
หน้าที่ของระบบปฏิบัติการ
หน้าที่ของระบบปฏิบัติการ
   ระบบปฏิบัติการเป็นส่วนที่ช่วยเหลือผู้ใช้งานในการควบคุมระบบ โดยที่คุณไม่จำเป็นต้องทราบโครงสร้าง หรือกลไกการทำงานของเครื่องเลย
nexus 7 แท็บเล็ตที่ดีเยี่ยมในขนาดเหมาะมือ
nexus 7 แท็บเล็ตที่ดีเยี่ยมในขนาดเหมาะมือ
   Nexus 7 สร้างสรรค์โดยเอซุส มาพร้อม NVIDIA Tegra 3 ควอด์คอร์ ที่เร็ว แรง ลื่นไหล ตอบสนองทันใจ รันหลายแอพพร้อมกันได้ตลอดเวลา พร้อมจอภาพขนาด 7 นิ้ว
ไวรัสลงเครื่องคอมพิวเตอร์เกิดจากอะไร
ไวรัสลงเครื่องคอมพิวเตอร์เกิดจากอะไร
   ไวรัสลงเครื่องคอมพิวเตอร์ เป็นปัญหาพื้นฐานที่ทุกเครื่อง ทุกคนต้องเคยเจอแน่นอน เรียกได้ว่าหากจะเก่งด้านคอมพิวเตอร์ต้องผ่านปัญหาการเจอไวรัสคุกคามเสียก่อน
โน๊ตบุ๊ค รุ่นต่างๆ กล้องประเภทต่างๆ

วีดีโอน่ารู้ : ฟังก์ชั่นIF คำนวณเกรด ในExcelควรรู้


แจกโปรเจคPHPฟรี
การเขียนโปรแกรม >> ภาษา JAVA >> นิพจน์และโครงสร้างควบคุม ของภาษาjava

นิพจน์และโครงสร้างควบคุม ของภาษาjava 

นิพจน์และโครงสร้างควบคุม ของภาษาjava

อัพเดทวันที่: 17 ก.พ. 2557

สามารถเข้าไปดาวน์โหลดไฟล์โปรเจค หรือติดตามข่าวสารได้ที่

ไวยากรณ์ภาษาจาวา

สัญลักษณ์และคำที่ใช้ในภาษาจาวาประกอบด้วย

คอมเม็นต์ (comment)           เช่น //  หรือ /*     */

การตั้งชื่อ (identifier)   เช่น ชื่อคลาส ชื่อเมธอด ชื่อตัวแปร หรือชื่อค่าคงที่        

คีย์เวิร์ด (keywords)     คือชื่อที่มีความหมายพิเศษในภาษาจาวา เช่น if   for   ฯลฯ        

สัญลักษณ์แยกคำ (separators)  เช่น  ;     (  )   ,    .   {  }

ช่องว่าง (white space)        เช่น ช่องว่าง  แท็ป  การขึ้นบรรทัดใหม่

ข้อมูลค่าคงที่ (literals)   คำที่ใช้แสดงข้อมูล ที่เป็นตัวเลขจำนวนเต็ม  ตัวเลขทศนิยม ตัวอักขระ  ข้อความ หรือ ค่าทางตรรกะ(boolean)

ชนิดข้อมูลแบบพื้นฐาน

ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทใหญ่ๆคือ  ชนิดข้อมูลแบบพื้นฐาน (primitive data type) และชนิดข้อมูลแบบอ้างอิง (reference data type)

ชนิดข้อมูลแบบพื้นฐานแบ่งออกเป็น 4 ประเภทดังนี้
     1.ชนิดข้อมูลตรรกะ (Logical) คือชนิด  boolean
     2.ชนิดข้อมูลอักขระ (Textual) คือชนิด  char
     3.ชนิดข้อมูลตัวเลขจำนวนเต็ม (Integral) คือชนิด  byte,short,int และ long
     4.ชนิดข้อมูลตัวเลขทศนิยม (Floating point) คือชนิด  float และ double
ขนาดและช่วงค่าของชนิดข้อมูลแบบพื้นฐาน

ชนิดข้อมูล ขนาด(บิต) ช่วงค่า
boolean 1 true
char 16 '\u0000' ถึง '\uFFFF'
byte 8 -128 ถึง +127
short 16 -32,768 ถึง +32,767
int 32 -2 ยกกำลัง 31 ถึง +2 ยกกำลัง 31-1
long 64 -2 ยกกำลัง 63 ถึง +2 ยกกำลัง 63-1
float 32 -3.40E +38 ถึง +3.40E+38
double 64 -1.80E+308 ถึง +1.80E+308

ตัวแปรและการกำหนดค่า

-ตัวแปรในภาษาจาวาอาจเป็นตัวแปรที่มีชนิดข้อมูลแบบพื้นฐานหรือชนิดข้อมูลแบบอ้างอิง
-ตัวแปรที่มีชนิดข้อมูลแบบพื้นฐานจะเก็บค่าของตัวแปรในหน่วยความจำ  เช่น int x = 7;
-ตัวแปรที่มีชนิดข้อมูลแบบอ้างอิงจะเก็บตำแหน่งอ้างอิงในหน่วยความจำ เช่น String s = new String(“Thana”);                   

ภาษาจาวาจะกำหนดตำแหน่งอ้างอิงเริ่มต้นให้มีค่าเป็น null โดยอัตโนมัติ ซึ่งเนื้อที่ในหน่วยความจำเพื่อเก็บข้อมูลต่างๆ ของตัวแปรชนิดข้อมูลแบบอ้างอิงจะถูกสร้างขึ้น เมื่อมีการเรียกใช้คำสั่ง new
ตัวอย่าง   คำสั่ง   Date d;   และคำสั่ง  d = new Date(16,8,2002);        

การส่งตัวแปรผ่าน argument

กรณีที่ส่งตัวแปรชนิดข้อมูลแบบพื้นฐานให้กับ argument  การเปลี่ยนแปลงค่าของ argument ในเมธอดจะไม่มีผลกระทบต่อค่าของตัวแปรที่ส่งมา

กรณีที่ส่งตัวแปรชนิดข้อมูลแบบอ้างอิงให้กับ argument จะเป็นการส่งตำแหน่งอ้างอิงให้กับ argument จึงทำให้ค่าของตัวแปรที่ส่งมาจะถูกเปลี่ยน แปลงตาม argument ในเมธอด

ตัวอย่างโปรแกรม

 import java.util.*;

 

 public class ArgumentPassing {

  public void method1(int x) {

  x = 3;

  }

  public void method2(Date d) {

  d.setDate(1);

  d.setMonth(1);

  d.setYear(2002);

  }

  public int method3() {

  return 0;

  }

      

public static void main(String args[]) {

  int x = 4;

  ArgumentPassing obj = new ArgumentPassing();

  Date d1 = new Date(16,12,1980);

  obj.method1(x);

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

  obj.method2(d1);

  System.out.println("Date = "+d1);

  obj.method3();

  }

 }

การแปลงชนิดข้อมูล

การแปลงชนิดข้อมูลมีสองรูปแบบคือ

-การแปลงข้อมูลที่กว้างขึ้น (widening conversion) คือการแปลงจากชนิดข้อมูลที่มีขนาดเล็กกว่าไปเป็นชนิดข้อมูลที่มีขนาดใหญ่กว่า

-การแปลงข้อมูลที่แคบลง (narrowing conversion) คือการแปลงจากชนิดข้อมูลที่มีขนาดใหญ่กว่าไปเป็นชนิดข้อมูลที่มีขนาดเล็กลง ซึ่งอาจมีผลให้เสียความละเอียดของข้อมูลบางส่วนไป

ตัวอย่างของการแปลงชนิดข้อมูล

ภาษาจาวาจะปรับชนิดข้อมูลให้อัตโนมัติ ในกรณีต่อไปนี้

กำหนดค่าชนิดข้อมูลที่เล็กกว่าให้กับตัวแปรชนิดข้อมูลที่ใหญ่กว่าอาทิเช่น

int i = 4;

long l = i;

นิพจน์ i จะถูกปรับชนิดข้อมูลจาก int ให้เป็น long โดยอัตโนมัติ

กำหนดค่าชนิดข้อมูลจำนวนเต็มให้กับจำนวนเลขทศนิยมอาทิเช่น

double x = 3;

นิพจน์ 3 จะถูกปรับชนิดข้อมูลจาก int ให้เป็น double โดยอัตโนมัติ

Typecasting

ภาษาจาวาจะสามารถทำการแปลงชนิดข้อมูล ให้เป็นชนิดข้อมูลที่มีขนาดเล็กลงได้ โดยใช้วิธีการที่เรียกว่า typecasting 

รูปแบบ

                                (targetType) expression

ตัวอย่าง

                                int amount = (int)3.0;

นิพจน์

นิพจน์ คือข้อความที่อาจประกอบด้วยข้อมูลค่าคงที่ ตัวแปร ตัวดำเนินการ และวงเล็บ  นิพจน์ แบ่งเป็น
    1.นิพจน์คณิตศาสตร์ (Arithmetic Expression)
    2.นิพจน์ตรรกศาสตร์ (Logical Expression)

ขอบเขตของตัวแปร

ตัวแปรในภาษาจาวามี 2 ประเภท
     1.ตัวแปรที่เป็นคุณลักษณะของออปเจ็คหรือคุณลักษณะของคลาส
     2.ตัวแปรภายใน
สำหรับค่าคงที่หรือตัวแปรที่อยู่ภายในบล็อกของเมธอด จะมีขอบเขตการใช้งานอยู่ภายในบล็อกเท่านั้น

ค่าเริ่มต้นที่ถูกกำหนดให้อัตโนมัติ

ชนิดข้อมูล ค่าเริ่มต้น
boolean false
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0
char '\u0000'
คลาส null

ตัวอย่างแสดงขอบเขตของตัวแปร

public class VariableScopeDemo {

  public int i;    // object variable

  public void method1() {

  int j = 4;   // local variable

  int k = 2;   // another local variable 

  }

  public void method2() {

  int j = 0;   //local variable

  System.out.println(i);   // calling an object variable i

//  System.out.println(k);   // illegal

  }

}

ตัวอย่างแสดงตัวแปรภายในและตัวแปรของออปเจ็ค

public class ScopeExample {

                private int i=1;

                public void method1() {

                                int i=4, j=5;

                                this.i = i+j;

                                method2(7);

                }

                public void method2(int i) {

                                int j=8;

                                this.i = i+j;

                }

}

public class TestScoping {

                public static void main(String args[]) {

                                ScopeExample scope = new ScopeExample();

                                scope.method1();

                }

}

ตัวดำเนินการแบบต่างๆ

ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators)

เ้ครื่องหมาย ความหมาย ตัวอย่างนิพจน์
+ บวก a+b
- ลบ a-b
* คูณ a*b
/ หาร a/b
% เศษจากการหาร a%b

ตัวดำเนินการแบบสัมพันธ์ (Relational Operators)

เครื่องหมาย ความหมาย ตัวอย่าง ผลลัพธ์
< น้อยกว่า 3<4 true
<= น้อยกว่าหรือเท่ากับ 3<=4 true
> มากกว่า 3>4 false
>= มากกว่าหรือเท่ากับ 3>=4 false
== เท่ากับ 3==4 false
!= ไม่เท่ากับ 3!=4 true

ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators)

เครื่องหมาย ความหมาย
! กลับค่าทางตรรกะ
&& หรือ & AND ค่าทางตรรกะ
|| หรือ | OR ค่าทางตรรกะ
^ Exclusive-OR ค่าทางตรรกะ

ตัวดำเนินการแบบบิต (Bitwise Operators)

ตัวดำเนินการข้อมูลเชิงบิตของเลขจำนวนเต็ม

ตัวดำเนินการ ความหมาย
~ Complement
& AND
| OR
^ XOR

ตัวดำเนินการแบบ shift บิต

ตัวดำเนินการ ความหมาย
>> signed right shift
>>> unsigned right shift
<< left shift

ตัวดำเนินการของข้อความ

เครื่องหมาย + เป็นตัวดำเนินการที่จะเชื่อมข้อความสองข้อความเข้าด้วยกัน

ตัวถูกดำเนินการ (Operand) ตัวหนึ่งจะต้องเป็นข้อมูลชนิดข้อความ

การที่ตัวถูกดำเนินการอีกตัวหนึ่งไม่ใช่ข้อมูลชนิดข้อความ ตัวถูกดำเนินการจะถูกให้เป็นข้อมูลชนิดข้อความอัตโนมัติ

Tag : นิพจน์และโครงสร้างควบคุม ไวยากรณ์ภาษาจาวา ชนิดข้อมูลแบบพื้นฐาน การแปลงชนิดข้อมูล การส่งตัวแปรผ่าน argument

หน้าหลัก
ความตั้งใจ
กว่าจะเป็นเว็บไซต์
แผนผังเว็บไซต์

คุยกับผู้ทำเว็บไซต์
-เริ่มต้นสาขาวิทยาการคอมพิวเตอร์
ติดตามข่าวสาร กด Like เลย
เกี่ยวกับเรา
e-mail : support@rangforever.com


ได้รับการสนับสนุนโดย


----
รวบรวมข่าวสารไอที เทคนิคการเขียนโปรแกรมภาษาphp css javascript jsp c# แจกโปรแกรมที่เขียน แจกระบบ แจกโค้ดฟังก์ชันต่างๆ สอนการใช้งานโปรแกรมออฟฟิศ word excel โปรแกรมตกแต่ง ตัดต่อ สร้างภาพ adobe photoshop adobe Illustrater จัดเต็มกับความรู้ในเนื้อหาโปรแกรมเมอร์แบบเจาะลึก พร้อมวีดีโอสอนการใช้งานโปรแกรม การเขียนโปรแกรม เพิ่มความรู้ ปูทักษะการเขียนโปรแกรมแบบฟรีๆ พร้อมเรียนรู้ไปกับเราได้ที่ www.rangforever.com