Java基础语法

01、注释

  1. 为什么要写注释
    • 注释为对代码的解释和说明,其目的是让人们能够更加轻松地了解代码
  2. 书写注释是一个非常好的习惯
  3. 平时写代码一定要注意规范 (具体可以参照阿里巴巴Java开发手册)
  4. 注释有三种:单行注释,多行注释,文档注释

02、标识符和关键字

  1. 关键字
  2. 关键字不能作为类名,变量名以及方法名
  3. Java所有的组成部分都需要名字,类名,变量名以及方法名都被称为标识符
  4. 标识符注意点:
    1. 所有的标识符都应该以字母a-z,美元$,或者下划线开始
    2. 首字符之后可以是字母a-z,美元$,或者下划线_,或任何数字字符组合
    3. 不能使用相同的变量名和不能使用关键词作为变量名
    4. 标识符是大小敏感的
    5. 可以使用中文命名,但一般不建议使用,也不建议使用拼音,这样很low

03、数据类型讲解

  1. 数据类型

    1. 强类型语言:是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。
    2. 弱类型语言:弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。
  2. Java的数据类型

    1. 分两个大类

    2. 基本类型

      1. 八大基本数据类型

        1. // 整数
        2. int num1 = 10;
        3. byte num2 = 20;
        4. short num3 = 30;
        5. long num4 = 30L;
        6. // 小数、浮点数
        7. float num5 = 50.1f;
        8. double num6 = 3.13432;
        9. // 字符
        10. char name = "字";
        11. // 布尔值
        12. boolean flag = false;
    3. 引用类型

      1. 接口
      2. 数组

04、数据类型扩展及面试题讲解

  1. 整数拓展

    1. // 进制,二进制0b,十进制,八进制0,十六进制0x
    2. int i = 10;
    3. int i2 = 010;
    4. int i3 = 0x10
  2. 浮点数拓展

    1. // float 长度有限 舍入误差,大约,接近但不等于
    2. // double 最好完全使用浮点数进行比较
    3. // BigDecimal 数学工具类
    4. float f = 0.1f;
    5. double d = 1.0/10;
    6. System.out.println(f==d); //false
    7. float f1 = 12312312123f;
    8. float f2 = f1 + 1;
    9. System.out.println(d1==d2); //true
  3. 字符拓展

    1. char c1 = 'A';
    2. char c2 = "中";
    3. System.out.println(c1); // A
    4. System.out.println((int)c1); // 强制转换 65
    5. System.out.println(c2); // 中
    6. System.out.println((int)c2); // 强制转换 20013
    7. // 所有的字符本质还是数字
    8. // 编码 uincode 2字节,长度 0 - 65536
    9. char c3 = '\u0061'
    10. System.out.println(c3); // 1
    11. //转义字符 \t 制表符 \n 换行
    12. String sa = new String("hello");
    13. String sb = new String("hello");
    14. System.out.println(sa==sb); // false
    15. String sc = "hello";
    16. String sd = "hello";
    17. System.out.println(sc==sd); // true
  4. 布尔值拓展

    1. bolean flag = true;
    2. if(flag == true){} //新手
    3. if(flag){} //老手

05、类型转换

  1. Java是强类型语文,有些运算需要用到类型转换

  2. 强制转换 ,高—>低

  3. 自动转换,低—>高

  4. 注意点:

    1. 不能对布尔值进行转换

    2. 不能把对象类型转换为不相当的类型

    3. 在高容量转低容量时,强制转换

    4. 转换时,可能存在内存溢出,或者精度丢失

      1. int i = 128;
      2. byte b = (byte)i; // 强制转换
      3. // 内存溢出
      4. System.out.println(i); // 128
      5. System.out.println(b); // -128
      6. // 精度丢失
      7. System.out.println((int)23.7); // -23
      8. System.out.println((int)-30.78f); // -30
      9. char c = 'a';
      10. int d = c+1;
      11. System.out.println(d); // 98
      12. System.out.println((char)d)); // b
      13. // 操作比较大的数的时候,注意溢出问题
      14. // JDK7新特性,数字之间只可以用下划线分割
      15. int money = 10_0000_0000;
      16. int years = 20;
      17. int total = money * years;//-1474836480,计算的时候溢出
      18. long total2 = money * years;//-1474836480,默认是int,转换之前就已经存在问题了
      19. long total3 = money * ((long)years); //先转类型,再运算

06、变量、常量、作用域

  1. 变量

    1. 什么是变量:就是可以变化的量,跟解数学方程写X一样

    2. Java变量是程序中的最基本存储单元

      1. // 定义一个基本类型的变量
      2. int a = 1;
      3. // 定义一个引用类型的变量
      4. String name = "jack";
      1. public class Variable{
      2. static int allClicks = 0;// 类变量
      3. String str = "Hello world";// 实例变量,从属于对象,如果不初始化,有默认值 null
      4. public void method(){
      5. int i = 0;// 局部变量,必须声明和初始化值
      6. }
      7. }
  2. 常量

    1. 常量,初始化后不能再改变值。像奶茶店的大杯,中杯,小杯,定义了就不能改了

    2. 常量名一般用大写字符

      1. // 修饰符,不分先后顺序
      2. static final double PI = 3.14;
  1. 变量的命名规范

07、基本运算符

  1. 算术运算符:+,-,*,/ ,%,++,—

  2. 赋值运算符:=

  3. 关系运算符:>,<,>=,<=,!=

  4. 逻辑运算符:&&,||,!

  5. 位运算符: &,|,^,~ ,>>, << (与二进制相关)

  6. 条件运算符:? :

  7. 扩展赋值运算符:+=,-=,*=,/=

    1. // 赋值运算符
    2. int a = 10;
    3. int b = 20;
    4. //算术运算符
    5. System.out.println(a+b); // 30
    6. System.out.println(a-b); // -10
    7. System.out.println(a*b); // 200
    8. System.out.println(a/b); // 0 由于是int类型,会取整
    9. // 关系运算符
    10. System.out.println(a>b); // false
    11. System.out.println(a<b); // true
    12. System.out.println(a>=b); // false
    13. System.out.println(a<=b); // true
    14. System.out.println(a==b); // false
    15. System.out.println(a!=b); // true

08、自增自减运算符、初识Math类

  1. 自增自减,一元运算符

    1. int a = 10;
    2. int b = a++;// 执行这段代码后,先给B赋值,再自增 b = a; a = a+1;
    3. int c = ++a;// 执行这段代码后,再自增,先给c赋值 a = a+1;c = a;
    4. System.out.println(a);
    5. System.out.println(b);
    6. System.out.println(c);
    7. // 幂运算 2^3 2*2*2 = 8
    8. System.out.println(Math.pow(2, 3));

09、逻辑运算符、位运算符

    1. //逻辑运算符 与(and) 或 (or) 非 (取反)
    2. boolean a = true;
    3. boolean b = false;
    4. // a && b : false 两个变量都为真,结果为 true
    5. System.out.println("a && b : "+(a&&b));
    6. // a || b : true 两个变量其一为真,结果为true
    7. System.out.println("a || b : "+(a||b));
    8. // !(a && b) : true 如果是真的,变为假,如果是假,变为真
    9. System.out.println("!(a && b) : "+!(a&&b));
    10. //位运算符
    11. /*
    12. A = 0001 1100
    13. B = 0000 1101
    14. --------------
    15. A&B = 0000 1100
    16. A|B = 0011 1101
    17. A^B = 0011 0001
    18. ~B = 1111 0010
    19. */
    20. >> *2
    21. << /2

10、三元运算符及小结

  1. 扩展赋值运算符

    1. int a = 10;
    2. int b = 20;
    3. a+=b; // a = a + b;
    4. a-=b; // a = a - b;
    5. // 字符连接符 + String
    6. System.out.println(""+a+b); // 1020
    7. System.out.println(a+b+""); // 30
  2. 三元运算符

    1. // x ? y :z
    2. // 如果 x == true,则结果为y,否则结果为z
    3. System.out.println(true?"是正确的":"错误的"); // 是正确的

11、包机制

  1. 想当于文件夹,为了更好组织文件
  2. 包语法格式为
  3. package pkg1[.pkg2[.pak3...]];
  4. 引用包使用:import
  5. 导包语法格式为
  6. import pkg1[.pkg2[.pak3...]];

12、JavaDoc生成文档

  1. javadoc 命令是用来生成自己API文档的
  2. javadoc -encoding UTF-8 -charset UTF-8 文件名
  3. 参数信息
    1. @author 作者名
    2. @version 版本号
    3. @since 使用的jdk版本
    4. @param 参数名
    5. @return 返回值
    6. @throws 异常抛出情况

 

posted @ 2021-05-31 14:18  仝仝168  阅读(50)  评论(0)    收藏  举报