در این آموزش با عبارات (expressions) ، دستورات (statements) ، بلاک ها (blocks) و تفاوت بین عبارت و دستور آشنا می شوید. ما در آموزش های قبل از عبارات ، دستورات و بلاک ها استفاده کردیم بدون اینکه در مورد آن ها خیلی توضیح دهیم. اکنون می دانید متغیرها ، اپراتورها و لیترال ها چه هستند ، پس درک این مفاهیم ساده تر خواهد بود.
۱-عبارات جاوا (Java Expressions)
عبارات شامل متغیرها ، اپراتورها ، لیترال ها و فراخوانی متد است که مقدار واحدی را ارزیابی می کند.
بیایید مثالی بزنیم:
int score;
score = 90;
در اینجا ، score=90 عبارتی است که int را برمی گرداند.
Double a = 2.2, b = 3.4, result;
result = a + b – 3.4;
در اینجا ، a + b – 3.4 عبارت است.
if (number1 == number2)
System.out.println(“Number 1 is larger than number 2”);
در اینجا ، number2 == number1 عبارتی است که boolean برمی گرداند. به همین ترتیب ، ” Number 1 is larger than number 2 ” یک عبارت رشته ای است.
۲-دستورات جاوا (Java Statements)
دستورات یک واحد کامل اجرا را تشکیل می دهند. مثلا،
int score = 9*5;
در اینجا ، ۹*۵ عبارتی است که ۴۵ را بر می گرداند، و int score=9*5 یک دستور است.
عبارات بخشی از دستورات هستند.
عبارات دستوری
بعضی عبارات را می توان با ; خاتمه داد که به عنوان دستور شناخته می شوند. مثلا:
number = 10;
در اینجا ، number=10 عبارت است و number=10; دستوری است که کامپایلر می تواند آن را اجرا کند.
++number;
در اینجا ، ++number عبارت است در حالی که ++number; یک دستور است.
دستورات تعریفی
دستورات تعریفی متغیرها را تعریف می کند. مثلا،
Double tax = 9.5;
دستور فوق متغیر tax با مقدار اولیه ی ۹٫۵ را تعریف می کند.
همچنین ، دستورات جریان کنترل وجود دارد که در تصمیم گیری و حلقه ها در جاوا استفاده می شوند. دستورات جریان کنترل را در آموزش های بعدی یاد خواهید گرفت.
۳- بلاک جاوا
بلاک گروهی از عبارات (صفر یا بیشتر) است که در براکت محصور شده اند {}. مثلا،
class AssignmentOperator {
public static void main(String[] args) {
String band = “Beatles”;
if (band == “Beatles”) { // start of block
System.out.print(“Hey “);
System.out.print(“Jude!”);
} // end of block
}
}
در بالا دو عبارت
System.out.print(“Hey “);
و
System.out.print(“Jude!”);
داخل بلاک ذکر شده وجود دارد.
یک بلاک ممکن است هیچ عبارتی نداشته باشد. مثال های زیر را در نظر بگیرید:
class AssignmentOperator {
public static void main(String[] args) {
if (10 > 5) { // start of block
} // end of block
}
}
class AssignmentOperator {
public static void main(String[] args) { // start of block
} // end of block
}