It all depends on the situation, I think ternary is very usefull to clean up your code in most cases.
Following example would be alot messier if using if else statements:
public static Area createCubicArea(Position p1, Position p2) { int minX = (p1.getX() < p2.getX()) ? p1.getX() : p2.getX(); int maxX = (p1.getX() > p2.getX()) ? p1.getX() : p2.getX(); int minY = (p1.getY() < p2.getY()) ? p1.getY() : p2.getY(); int maxY = (p1.getY() > p2.getY()) ? p1.getY() : p2.getY(); int minZ = (p1.getZ() < p2.getZ()) ? p1.getZ() : p2.getZ(); int maxZ = (p1.getZ() > p2.getZ()) ? p1.getZ() : p2.getZ(); Area cubicArea = new Area(); for(int i = 0; i <= (maxX - minX); i++) { for(int j = 0; j <= (maxY - minY); j++) { for(int k = 0; k <= (maxZ - minZ); k++) { cubicArea.add(new Position(minX +i, minY +j, minZ +k)); } } } return cubicArea; }