关键字和保留字

image.png

命名

命名规范

  1. 项目名、包名全小写(aaabbbccc)
  2. 类名全首字母大写 (Aaabbbccc)
  3. 变量名、方法名首字母小写其他首字母大写(AaaBbbCcc)
  4. 常量全大写(AAABBBCCC)
  5. 命名必须遵守以下规则
    1. 由26个字母大小写、0-9、下划线、$组成
    2. 数字不能开头
    3. 不可以使用关键字和保留字
    4. 严格区分大小写、不能有空格

统一性

  1. 公司项目
    1. 作者名.公司名.项目名.模块名
  2. 团队项目
    1. 作者名.团队名.项目名.模块名
  3. 其他自定义

    1. indi.发起者名.项目名.模块名(个体项目,非独立开发)
    2. pers.作者名.项目名.模块名(独立完成,可分享项目)
    3. priv.作者名.项目名.模块名(杜密完成,非公开项目)
    4. onem与indi相同,推荐使用indi

      数据类型

  4. 基础数据类型:

    1. 整数:byte、short、int、long
      1. byte:1字节-2**7 到 2**7-1
      2. short:2字节-2**15 到 2**15-1
      3. int:4字节-2*31 到 2**31-1
      4. long:8字节-2*63 到 2*63-1
    2. 浮点数:float、double
      1. float:4字节(±3.403E38)小数有效7位
      2. double:8字节(±-1.798E308)小数有效14位
    3. 字符型:char
      1. char:2字节(只能保存一个字符)用'' 单引号表示
      2. ASCII、UTF8、GBK
    4. 布尔值:boolean
      1. true、false
  5. 引用数据类型:
    1. 类:class
    2. 接口:interface
    3. 数值:array
      1. string:用""双引号表示

        为什么int类型能自动强转byte

        1个字节 = 1个字符 = 8个二进制位
        byte是1个字节 8个二进制位
        short是2个字节 16个二进制位
        int是4个字节 32个二进制位 ```java 127、-128在 byte 二进制表示 127 => 0111 1111 -128 => 1000 0000

127、-128在 short 二进制表示 127 => 0000 0000 0111 1111 -128 => 1111 1111 1000 0000

127、-128在 int 二进制表示 127 => 0000 0000 0000 0000 0000 0000 0111 1111 -128 => 1111 1111 1111 1111 1111 1111 1000 0000

  1. intshortbyte时截取“正数前的0”或“负数前的1”时不会照成数据丢失
  2. <a name="nDMqf"></a>
  3. # ![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1645579287701-2bccd209-24af-4c60-bafd-5767322ac240.png#clientId=ue4e307cd-19a5-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=271&id=u6a9bbdac&margin=%5Bobject%20Object%5D&name=image.png&originHeight=541&originWidth=962&originalType=binary&ratio=1&rotation=0&showTitle=false&size=70125&status=done&style=none&taskId=u03b0f7e7-e280-4168-8ac3-3a6be9d827f&title=&width=481)
  4. <a name="KzchS"></a>
  5. # 数据自动转换
  6. 1. 数值
  7. 1. byte<short<int<long<float<double
  8. 1. 当容量小的与容量大的进行运算,自动提升容量
  9. 1. bytecharshort运算结果为int
  10. 2. 字符
  11. 1. 数值+字符=数值+字符值
  12. 1. 数值遇到字符串自动转换字符
  13. 1. 数值可以变成字符串、字符串不能变成数值
  14. <a name="xX2W0"></a>
  15. # 进制表示
  16. 1. binary-二进制0b111(以0b开头)
  17. 1. decimal-八进制0127(以0开头)
  18. 1. octal-十进制123
  19. 1. hex-十六进制0x11A(以0x开头)
  20. 运行自动转换为十进制
  21. <a name="HVqJH"></a>
  22. # 二、十进制转换
  23. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642422897520-c7dca69c-4b5b-4523-abdc-8cd0ff6df1a7.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=168&id=ua4fb0303&margin=%5Bobject%20Object%5D&name=image.png&originHeight=335&originWidth=522&originalType=binary&ratio=1&rotation=0&showTitle=false&size=12748&status=done&style=none&taskId=u0079d83f-a5dc-42c8-bd6a-47e9d44ffd5&title=&width=261)<br />二进制转十进制:2**4+2**2+2**1=22<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642423796736-7cb778cb-6057-4b1e-847f-6b411ae55bd4.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=124&id=uf33c968e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=248&originWidth=446&originalType=binary&ratio=1&rotation=0&showTitle=false&size=10959&status=done&style=none&taskId=u780ea6a6-a357-4fae-a80e-1ddd3c20a13&title=&width=223)<br />十进制转二进制:除2留余,到1或0为止,倒序记录<br />13->1101
  24. 1. 二进制原码(二进制)
  25. 1. 二进制反码(二进制除最前的符号外,各位取反)
  26. 1. 二进制补码(反码+1)反
  27. 1. 计算机底层用补码方式存储
  28. <a name="NAUCp"></a>
  29. # 二八十进制转换
  30. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642424113976-1faca9a4-1880-4161-8f7d-33c083f7a1fe.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=228&id=u9738102f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=455&originWidth=711&originalType=binary&ratio=1&rotation=0&showTitle=false&size=174238&status=done&style=none&taskId=u18efcd23-858f-4c1a-8107-55967efc79c&title=&width=355.5)<br />二转八、十六时,三四个为一组进行计算<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642424205488-239ea62a-4d00-4745-a01a-be59fe6beed5.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=238&id=u43b28a1e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=475&originWidth=628&originalType=binary&ratio=1&rotation=0&showTitle=false&size=155789&status=done&style=none&taskId=uf9658993-582e-40c8-a0c0-c1fb84acd18&title=&width=314)<br />八、十六转二时,三四个为一组进行拆分
  31. <a name="GLSiK"></a>
  32. # &和&&的区别
  33. - 相同点1.&和&&的运算结果相同
  34. - 相同点2.当符号左边是true时,都会执行右边运算符
  35. - 不同的:当符号左边是false时,&会执行右边,&&不会执行
  36. |和||的区别
  37. - 相同点1.|和||的运算结果相同
  38. - 相同点2.当左边是false时,都会执行右边
  39. - 不同点:当符号左边是true时,|会继续执行右边,||不会执行
  40. <a name="vCiNU"></a>
  41. # 加减的优先级低于加减
  42. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642479889804-163a5831-96d2-47f3-b4be-d0ddde56587d.png#clientId=u75c91b4d-5594-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u35512163&margin=%5Bobject%20Object%5D&name=image.png&originHeight=520&originWidth=533&originalType=url&ratio=1&rotation=0&showTitle=false&size=23269&status=done&style=none&taskId=ua6d97c4b-d829-4191-8377-0bd39e7f7bc&title=)
  43. <a name="A5QvX"></a>
  44. # switch-case
  45. ```java
  46. switch(val){
  47. case 1:break;
  48. case 2:break;
  49. default:
  50. }
  51. //val允许类型
  52. //byte、short、char、int、枚举类型(JDK5.0)
  53. //String(JDK7.0)

强制停止

System.exit(0);

时间戳

System.currentTimeMillis();

获取键盘输入数据

  1. import java.util.Scanner;
  2. Scanner scanner = new Scanner(System.in);
  3. int number = scanner.nextInt();
  4. boolean bool = scanner.nextBoolean();
  5. double decimal = scanner.nextDouble();
  6. String str = scanner.next();

日历模块

  1. import java.util.Calendar;
  2. Calendar calendar = Calendar.getInstance();
  3. int month = canender.get(Calender.MONTH) //当前月

Scanner

  1. Java.util.Scanner scan = new Java.util.Scanner(System.in);
  2. import java.util.Scanner; //引入键盘扫描类
  3. Scanner input=new Scanner(System.in);//创建一个键盘扫描类对象
  4. int i = input.nextInt(); //输入整型
  5. long l = input.nextLong(); // 长整型
  6. String str = input.next(); //输入字符串型
  7. float flo = input.nextFloat();//输入浮点数类型
  8. double dou = input.nextDouble();//输入双精度浮点数
  9. String str = input.nextLine(); //输入字符串,接受空白