关键字

abstract assert boolean byte break
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

数据类型(强类型语言)

Java基础(第一篇) - 图1

  1. int i = 10;
  2. int i2 = 010; // 八进制
  3. int i3 = 0x10; //十六进制
  4. ------------------------
  5. // float 有限 离散 舍入误差 大约 接近单不等于
  6. // 避免使用浮点数进行比较
  7. // 使用BigDecimal类
  8. float f = 0.1f;
  9. double d = 1.0/10;
  10. System.out.print(f == d); // false
  11. float d1 = 1222222222222f;
  12. float d2 = d1 + 1;
  13. System.out.print(d2 == d1); // true
  14. ---------------------------
  15. char c1 = 'a';
  16. char c2 = '中';
  17. System.out.print((int)c1); // 强制转换

类型转换

  • 强制类型转换 (类型)变量名称 高 — 低
  • 自动转换 低 — 高 ```java / 注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换到低容量得时候,强制转换 4.转换得时候可能存在内存溢出,或者精度问题 /

int num = 10_0000_0000; int year = 20; int total = year * num; System.out.print(total); // 内存溢出 System.out.print((long)total); //依然溢出,转化之前就已经有问题了

System.out.print((long)year * num); //将整个运算提升至long

float num = 1.2f; double num1 = 1.3; System.out.print((int) num); // 1 精度问题 System.out.print((int) num1); // 1 精度问题

  1. <a name="eGX2n"></a>
  2. ## 变量
  3. <a name="v3Tel"></a>
  4. ### 变量声明
  5. ```java
  6. type varName [=value] [{, varName[=value]}];
  7. // 类型 变量名称 [=值]; 可以使用逗号声明多个同类型的变量
  8. int a, b, c; // 不建议写入一行
  9. String name = "name";

变量作用域

  1. 类变量
  2. 实例变量
  3. 局部变量

    1. public class Variable {
    2. static int allClicks = 0;// 类变量
    3. String str = "hello world";// 实例变量
    4. public void method() {
    5. /*
    6. 局部变量作用域
    7. */
    8. int i = 0; // 局部变量
    9. /*
    10. 实例变量的使用
    11. */
    12. Variable variable = new Variable();
    13. System.out.print(variable.str); // "hello world"
    14. /*
    15. 类变量的使用
    16. */
    17. System.out.print(allClicks); // 0
    18. }
    19. public void method2() {
    20. /*
    21. 无法访问其他方法中的局部变量
    22. */
    23. System.out.print(i);
    24. }
    25. }

    常量

    1. public class ConstDemo {
    2. // 修饰符, 不区分先后顺序
    3. // 静态 的 常量 double类型
    4. static final double PI = 3.14;
    5. public static void main(String[] args) {
    6. System.out.print(PI);
    7. }
    8. }

    命名规范

  • 见名知意
  • 驼峰命名法
  • 常量:使用大写字母和下划线: MAX_COUNT
  • 类名:首字母大写 + 驼峰命名法

    运算符

  • 算数运算符: +, -, *, /, %, ++, —

  • 赋值运算符 =
  • 关系运算符 >, <, >=, <=, ==, !=instanceof
  • 逻辑运算符 &&, ||, !
  • 位运算符 &, |, ^, ~, >>, <<, >>>
  • 条件运算符 ?
  • 扩展赋值运算符 +=, -=, *=, /=

    包机制

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间

  • 包语句的语法格式为package pkg1[.pkg2[.pkg3]];
  • 一般利用公司域名倒置作为包名com.baidu.www
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入改包。使用 import语句可完成此功能import package1[.package2...].(classname | *)

    JavaDoc

  • Javadoc命令是用来生成自己的API文档的

    • author

      1. package com.java.base;
      2. /**
      3. * @author: xiaoyi
      4. * @version: 1.0
      5. * @since 1.8
      6. */
      7. public class Doc {
      8. String name;
      9. /**
      10. *
      11. * @param name
      12. * @return
      13. * @throws Exception
      14. */
      15. public String test(String name) throws Exception {
      16. return name;
      17. }
      18. }

      切到当前java类的目录下执行 javadoc -encoding UTF-8 -charset UTF-8 Doc.java
      生成如下文档:
      image.png