التعليمات الشرطية المتداخلة

بالإضافة إلى الربط، يمكن أيضاً شبك تعليمة شرطية ضمن تعليمة أخرى. كان بإمكاننا كتابة المثال السابق كما يلي:
كود:
if (x == 0) {
  System.out.println ("x is zero");
} else {
  if (x > 0) {
    System.out.println ("x is positive");
  } else {
    System.out.println ("x is negative");
  }
}
الآن يوجد تعليمة شرطية خارجية لها فرعين. الفرع الأول يحوي تعليمة طباعة بسيطة، لكن الفرع الثاني يحتوي على تعليمة شرطية ثانية، والتي تملك فرعين بدورها هي الأخرى. لحسن الحظ، كلا هذين الفرعين يحتوي على تعليمة طباعة، مع أنه يمكن أن يكونا تعليمات شرطية أخرى أيضاً.
لاحظ أيضاً أن الترتيب جعل البنية واضحة، ومع هذا فإن التعليمات الشرطية المتداخلة تصعب قراءتها سريعاً. بشكل عام، ستكون فكرة جيدة أن تتفادى هذه التعليمات المتداخلة بقدر المستطاع.
من جهة أخرى، هذا النوع من البنية المتداخلة (nested structure) شائع، وسنراه ثانية فيما بعد، فمن الأفضل لك إذاً أن تعتاد عليه.