02_Java基础篇

1、注释、标识符、关键字

1.1、注释

  • 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了

  • 注释并不会被执行,是给我们写代码的人看的

  • 书写注释是一个非常好的习惯

  • 平时写代码一定要规范

  • Java中的注释有三种:

    • 单行注释

      //单行注释
      
    • 多行注释

      /*
        多行注释
        多行注释
       */
      
    • 文档注释

      /**
       * @author 文档注释 
       * @param 文档注释 
       */
      

1.2、标识符

  • 关键字

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符

1.3、标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合

  • 不能使用关键字作为变量名或者方法名

  • 标识符是大小写敏感

  • 合法标识符举例:age、$salary、_value、__1_value

  • 非法标识符举例:123abc、-salary、#abc

  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

    public static void main(String[] args) {
        String 王者荣耀 = "倔强青铜";
        System.out.print(王者荣耀);
    }
    

2、数据类型

  • 强类型语言

    • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
  • 弱类型语言

    • vb、javascript等
  • Java的数据类型分为两大类

    • 基本数据(primitive type)
      • 数值类型
        • 整数类型

          • byte:占1个字节,范围:-2^7 ~ 2^7-1(-128~127)
          • short:占2个字节,范围:-2^15 ~ 2^15-1(-32768~32767)
          • int:占4个字节,范围:-2^31 ~ 2^31-1(-2147483648~2147483647)
          • long:占8个字节,范围:-2^63 ~ 2^63-1(-9223372036854775808~9223372036854775807)
        • 浮点类型

          • float:占4个字节,范围:-3.403E38 ~ 3.403E38
          • double:占8个字节,范围:-1.798E308 ~ 1.798E308
        • 字符类型

          • char:占2个字节
      • 布尔类型
        • 占1位,其值只有true和false两个
    • 引用类型(reference type)
      • 类 (Byte、Integer、Long、Float、Double、Boolean、String)
      • 接口
      • 数组
  • 什么是字节

    • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
    • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
    • 1B(byte,字节)= 8bit(位)
    • 字符:是指计算机中使用的字母、数字、字和符号

    1bit表示1位

    1Byte表示一个字节1B = 8b

    1024B = 1KB

    1024KB = 1M

    1024M = 1G

  • 数据类型扩展:

    • 整数拓展 - 进制:逢几进一

      • 二进制:0b开头,0~1
      • 八进制:0开头,0~7
      • 十进制:0~9
      • 十六进制:0x开头,09,AF
      public static void main(String[] args) {
          int a = 0b10;   //二进制
          int b = 010;    //八进制
          int c = 10;     //十进制
          int e = 0x10;   //十六进制
          System.out.println(a);
          System.out.println(b);
          System.out.println(c);
          System.out.println(e);
      }
      

      输出结果:

      2
      8
      10
      16
      
    • 浮点数拓展:

      • float:有限、离散、舍入误差、大约、接近但不等于

      • double

        public static void main(String[] args) {
            float f = 0.1f;   //0.1
            double d = 1.0/10;  //0.1
            System.out.println(f==d);//false
            float d1 = 23131313131313f;
            float d2 = d1 + 1;
            System.out.println(d1==d2);//true
        }
        
      • 最好完全避免使用浮点数进行比较

      • BigDecimal:数据工具类, 用于银行业务表示

    • 字符拓展:

      • 所有的字符本质还是数字

        public static void main(String[] args) {
            char c1 = 'a';
            char c2 = '中';
            System.out.println(c1);  //a
            System.out.println((int)c1); //97
            System.out.println(c2); //中
            System.out.println((int)c2); //20013
        }
        
      • 编码 - Unicode:占2个字节,最多表示65536(2的16次方)个字符

        public static void main(String[] args) {
            char c3 = '\u0061';
            System.out.println(c3); //a
        }
        
      • 转义字符:

        • \t:制表符
        • \n:换行
        • \r:回车
        • ......

3、类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    低 ----------------------------------------------------------> 高

    byte,short,char --> int -- > long --> float --> double

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换 高转低 (类型)变量名

    int i = 127;
    byte b = (byte)i;
    
  • 自动类型转换 低到高

    int i = 128;
    double b = i;
    

注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,强制转换,反之,自动转换
  4. 转换的时候可能存在内存溢出,或者精度问题

4、变量、常量

4.1、变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName [=value] [{, varName[=value]}];
数据类型 变量名 = 值; //可以使用逗号隔开来声明多个同类型变量

  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每个声明都必须以分号结束

4.2、变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Variable {
    static int allClicks = 0;  //类变量
    String str = "hello world";  //实例变量
    
    public void method() {
        int i = 0;  //局部变量
    }
}

4.3、常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
  • 常量名一般使用大写字符
final 常量名 = 值;
final double PI = 3.14;

4.4、变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:say(),sayHello()

5、运算符

  • Java语言支持如下运算符:
    • 算术运算符:+、-、*、/、%、++、--

    • 赋值运算符:=

    • 关系运算符:>、<、>=、<=、==、!=、instanceof

    • 逻辑运算符:&&,||,!

    • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

      • & (与):遇0则0
      • | (或):遇1则1
      • ^ (异或):不进位加 ,相同为0,相异为1
      • ~ (取反):1-0 、 0-1
      • ">>"(右移):补符号位 正整数右移动1位等同于除以2
      • << (左移) :最低位补0 正整数左移1位等同于乘以2 (2 * 2 * 2 == 2 << 2,后者效率高)
      • ">>>" (无符号左移):只补0
    • 条件运算符:? : ( x ? y : z)

      int score = 80;
      String type = score < 60 ? "不及格" : "及格";
      
    • 扩展赋值运算符:+=,-=,*=,/=

6、包机制、JavaDoc

6.1、包机制

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

  • 包语句的语法格式为:

    package pkg1[. pkg2[. pkg3...]];

  • 一般利用公司域名倒置作为包名 如:com.baidu.www

  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句

    import package1[.package2...].(classname|*);

6.2、JavaDoc

  • javadoc命令是用来生成自己API文档的
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
/**
 * @author zy
 * @version 1.0
 * @since 1.8
 */
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }

    /**
     * @author zy
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception {
        return name;
    }
}
  • 在dos中使用javadoc命令来生成API文档
javadoc -encoding UTF-8 -charset UTF-8 HelloWorld.java



  • 使用IDEA来生成API文档

    1. 点击Tools,选择Generate JavaDoc

    2. 选择输入目录,并设置参数,该参数是为了防止输出乱码

posted @ 2020-11-17 23:54  蓝色空间号  阅读(102)  评论(0)    收藏  举报