لا يمكن تنفيذ البنية التسلسلية إلا بشكل تسلسلي ولا يمكنها إصدار أحكام واختيارات، لذلك هناك حاجة إلى بنية فرعية.
تحتوي Java على بنيتين متفرعتين:
تحتوي عبارة if على تعبير منطقي وعبارة واحدة أو أكثر.
بناء جملة عبارة If كما يلي:
if(布尔表达式) { //如果布尔表达式为true将执行的语句}
إذا تم تقييم التعبير المنطقي على أنه صحيح، فسيتم تنفيذ كتلة التعليمات البرمجية الموجودة في عبارة if. وإلا، فسيتم تنفيذ التعليمات البرمجية التي تتبع كتلة عبارة If.
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是if 语句"); } } }
نتائج تجميع وتشغيل التعليمات البرمجية أعلاه هي كما يلي:
这是if 语句
يمكن أن يتبع عبارة if عبارة else. عندما تكون قيمة التعبير المنطقي لعبارة if خاطئة، سيتم تنفيذ كتلة عبارة else.
استخدام if…else هو كما يلي:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是if 语句"); }else{ System.out.print("这是else 语句"); } } }
نتائج تجميع وتشغيل التعليمات البرمجية أعلاه هي كما يلي:
这是else 语句
يمكن أن يتبع عبارة if عبارة else if...else، والتي يمكنها الكشف عن مجموعة متنوعة من المواقف المحتملة.
عند استخدام عبارات if، else if، else، عليك الانتباه إلى النقاط التالية:
تنسيق بناء الجملة إذا...else هو كما يلي:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码}else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码}else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码}else { //如果以上布尔表达式都不为true执行代码}
public class Test { public static void main(String args[]){ int x = 30; if( x == 10 ){ System.out.print("Value of X is 10"); }else if( x == 20 ){ System.out.print("Value of X is 20"); }else if( x == 30 ){ System.out.print("Value of X is 30"); }else{ System.out.print("这是else 语句"); } } }
نتائج تجميع وتشغيل التعليمات البرمجية أعلاه هي كما يلي:
Value of X is 30
من القانوني استخدام عبارات if-else المتداخلة. هذا يعني أنه يمكنك استخدام عبارة if or else if ضمن عبارة if or else if الأخرى.
يكون تنسيق بناء الجملة المتداخل if…else كما يلي:
if(布尔表达式1){ ////如果布尔表达式1的值为true执行代码if(布尔表达式2){ ////如果布尔表达式2的值为true执行代码} }
يمكنك تداخل عبارات else if...else تمامًا مثل عبارات if.
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
نتائج تجميع وتشغيل التعليمات البرمجية أعلاه هي كما يلي:
X = 30 and Y = 10
تحدد عبارة التبديل ما إذا كان المتغير يساوي قيمة في سلسلة من القيم، وتسمى كل قيمة فرعًا.
تنسيق بناء جملة التبديل كما يلي:
switch(expression){ case value : //语句break; //可选case value : //语句break; //可选//你可以有任意数量的case语句default : //可选//语句}
يحتوي بيان التبديل على القواعد التالية:
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); case 'F' : System.out.println("你需要继续努力"); break; default : System.out.println("无效等级"); } System.out.println("你的等级是" + grade); } }
نتائج تجميع وتشغيل التعليمات البرمجية أعلاه هي كما يلي:
良好你的等级是C