1 package com.led.daorumysql; 2 3 4 /** 5 * @Description:alibaba java development manual 6 * @author 86157 7 * 8 */ 9 public class AlibabaStyle { 10 /** 11 * 【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果 12 * 是非空代码块则: 13 * 1) 左大括号前不换行。 14 * 2) 左大括号后换行。 15 * 3) 右大括号前换行。 16 * 4) 右大括号后还有 else 等代码则不换行;表示终止右大括号后必须换行。 17 * 2. 【强制】 左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格。 18 * 代码块缩进 4 个空格,如果使用 tab 缩进,请设置成 1 个 tab 为 4 个空格 19 * @param args 20 */ 21 public static void main(String[] args) { 22 //方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式 23 String localValue; 24 //常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长 25 String MAX_STOCK_COUNT = "3"; 26 String SUCCESS = "success"; 27 //运算符之间左右加空格(运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号、三目运行符等) 28 String s1 = "a"; 29 String s2 = null; 30 int k = 3; 31 String s3 = (k > 0) ? "k is larger than zero" : "k is smaller than zero"; 32 //long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1混淆,造成误解 33 long j = 2L; 34 long j2 = Long.valueOf(k); 35 //if、else、switch、while、for等语句符号之间加空格 36 if ("a".equals(s1)) { 37 System.out.println("s1 is a"); 38 } else { 39 System.out.println("s1 is not a"); 40 } 41 /*一定要先进行null判断,"".equals(s1)而不是s1.equals("") 42 * Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 43 * 正例: "test".equals(object) 44 */ 45 if (s2 == null || "".equals(s1)) { 46 System.out.println("s2 is null or empty string"); 47 } 48 for (int i = 0; i < 5; i++) { 49 System.out.println(i); 50 } 51 switch (k) { 52 case 1: 53 System.out.println("Monday"); 54 break; 55 case 2: 56 System.out.println("Tuesday"); 57 break; 58 case 3: 59 System.out.println("Wednesday"); 60 break; 61 case 4: 62 System.out.println("Thursday"); 63 break; 64 default: 65 System.out.println("~~~~~"); 66 break; 67 } 68 while (k > 0) { 69 k --; 70 System.out.println("k=" + k); 71 } 72 } 73 //法参数在定义和传入时,多个参数逗号后边必须加空格 74 public void test(int a, int b, String c){ 75 /** 76 * 单行字符数限制不超过 120 个,超出需要换行,换行时,遵循如下原则: 77 * 1) 换行时相对上一行缩进 4 个空格。 78 * 2) 运算符与下文一起换行。 79 * 3) 方法调用的点符号与下文一起换行。 80 * 4) 在多个参数超长,逗号后进行换行。 81 * 5) 在括号前不要换行, 82 */ 83 StringBuffer sb = new StringBuffer(); 84 sb.append("1").append("2") 85 .append("3") 86 .append("4") 87 .append("5"); 88 } 89 public int compare(String s1, String s2) { 90 int n1 = s1.length(); 91 int n2 = s2.length(); 92 int min = Math.min(n1, n2); 93 for (int i = 0; i < min; i++) { 94 char c1 = s1.charAt(i); 95 char c2 = s2.charAt(i); 96 if (c1 != c2) { 97 c1 = Character.toUpperCase(c1); 98 c2 = Character.toUpperCase(c2); 99 if (c1 != c2) { 100 c1 = Character.toLowerCase(c1); 101 c2 = Character.toLowerCase(c2); 102 if (c1 != c2) { 103 return c1 - c2; 104 } 105 } 106 } 107 } 108 return n1 - n2; 109 } 110 111 }