DefaultComesLast
Since Checkstyle 3.4
Description
          Check that the 
        
default is after all the cases in a switch statement.
        
          Rationale: Java allows default anywhere within the
          switch statement. But it is more readable if it comes after the last case.
        
Properties
| name | description | type | default value | since | 
|---|---|---|---|---|
| skipIfLastAndSharedWithCase | Control whether to allow defaultalong withcaseif they are not last. | boolean | false | 7.7 | 
Examples
To configure the check:
<module name="Checker">
  <module name="TreeWalker">
    <module name="DefaultComesLast"/>
  </module>
</module>
Example:
public class Example1 {
  public void method() {
    int i = 2, x;
    switch (i) {
      case 1:
        break;
      case 2:
        break;
      default:
        break;
    }
    switch (i) {
      case 1:
        break;
      case 2:
        break;
    }
    switch (i) {
      case 1:
        break;
      default: // violation, 'Default should be last label in the switch'
        break;
      case 2:
        break;
    }
    switch (i) {
      case 1:
        break;
      default:
      case 2:
        break;
    }
    switch (i) {
      case 1: x = 9;
      default: x = 10; // violation, 'Default should be last label in the switch'
      case 2: x = 32;
    }
  }
}
To configure the check to allow default label to be not last if it is shared with case:
<module name="Checker">
  <module name="TreeWalker">
    <module name="DefaultComesLast">
      <property name="skipIfLastAndSharedWithCase" value="true"/>
    </module>
  </module>
</module>
Example:
public class Example2 {
  public void method() {
    int i = 2, x;
    switch (i) {
      case 1:
        break;
      case 2:
        break;
      default:
        break;
    }
    switch (i) {
      case 1:
        break;
      case 2:
        break;
    }
    switch (i) {
      case 1:
        break;
      default: // violation, 'Default should be last label in the switch'
        break;
      case 2:
        break;
    }
    switch (i) {
      case 1:
        break;
      default: // violation, 'Default should be last label in the case group'
      case 2:
        break;
    }
    switch (i) {
      case 1: x = 9;
      default: x = 10; // violation, 'Default should be last label in the switch'
      case 2: x = 32;
    }
  }
}
Example of Usage
Violation Messages
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
Package
com.puppycrawl.tools.checkstyle.checks.coding






