Java基础语法01-03


Java基础语法01-03

01、注释

  1. 单行注释(idea快捷键ctrl+/)
  2. 多行注释(idea快捷键ctrl+shift+/)
  3. 文档注释
/**
 * Created by Q on 2021/4/17.
 */

public class HelloWorld {
    public static void main(String[] args) {
//单行注释输出hello world
        System.out.println("Hello World");
    }

/*多行注释
多行注释*/

/**
 * @author Q
 * @decription JavaDoc文档注释
 */
}

02、标识符与关键字

2-1 标识符

Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。

标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。

标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。

另外,Java 区分大小写,因此 name 和 Name 是两个不同的标识符。

注意:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。

标识符分为两类,分别为关键字和用户自定义标识符。

关键字是有特殊含义的标识符,如 true、false 表示逻辑的真假。

用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。注意:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。

合法与不合法标识符示例。

合法标识符:date、$2021、_date、D_$date 等。

不合法的标识符:1111.com、1com、for、if 等。

标识符用来命名常量、变量、类和类的对象等。因此,在我们命名标识符时,应赋予它一个有意义或有用途的名字。

2-2 关键字

关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。

Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。

保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。

Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。

数据类型:boolean、int、long、short、byte、float、double、char、class、interface。

流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。

修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。

动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。

保留字:true、false、null、goto、const。

注意:由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。

03、数据类型

  • 强类型语言:Java c++ (先定义后使用)
  • 弱类型语言:javascript python

java数据类型

  1. 基本类型(primitive type)数值类型+布尔类型

    • 整数 :int byte short long
    • 小数:float double
    • 字符:char
    • 布尔型:true false

    字符串String是类不是关键字

/**
 * Created by Q on 2021/4/18.
 */
public class Demo01 {
    public static void main(String[] args) {
//        八大基本类型

//        整数
        int num1 = 1000000; //最常用  4字节
        byte num2 = 111; //-128--127 1字节
        short num3 = 11111;  //2字节
        long num4 = 1111111L; //long类型要在数字后加L 8字节

//        小数:浮点数
        float num5 = 1.111F; //float类型要在数字后加F 4字节
        double num6 = 3.14159265358979; //8字节

//        字符
        char aaa = 'a'; //注意单引号不是双引号,2个字节
        //        String name = "李四";
        // 字符串String是类不是关键字

//        布尔型:是非
        boolean flag = true; //1位

        System.out.println(flag);
    }
}
  • 扩展
/**
 * Created by Q on 2022/1/5.
 */
public class Demo02 {
    public static void main(String[] args) {
        //整数拓展 进制  二进制(0b开头)  十进制   八进制(0开头)  十六进制(0x开头)
        int i1 = 0b10;
        int i2 = 010;
        int i3 = 0x10;

        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("===========================");

        //==================================================
        //浮点数拓展    银行业务表示(钱的计算)
        //BigDecimal   数学工具类(如果需要计算,而且不能让它有误差就使用这个类)
        //最好完全避免使用浮点数进行比较
        //==================================================
        float f = 1.1f;
        double d = 1.1d;
        System.out.println(d == f);    //false
        float f1 = 12544524154441f;
        float f2 = f1 + 1;
        System.out.println(f1 == f2);       //true(精度丢失)
        System.out.println("===========================");

        // 字符扩展
        char c1='a';
        char c2='中';
        //我们通过单引号来表示字符常量
        System.out.println(c1);
        System.out.println((int)c1);
        System.out.println(c2);
        System.out.println((int)c2);
        //强制转换可以把字符转换成数字,所有的字符本质还是数字
        // Unicode 编码表:97=a 65=A  (本质上还是数字)
        // 2字节    65536字符  Excel最长有2的16次方=65536
        //U0000   UFFFF
        char c3='\u0061';
        System.out.println(c3);//a
        //转义字符(转义字符它有特殊的意思)
        // \t    制表符
        // \n    换行
        //  转义字符有非常的多,可以自己去查询一下
        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");
        System.out.println("===============================");
        String sa = new String("Hello World");
        String sb=new String("Hello World");
        System.out.println(sa==sb);    //false    两个对象是不同的
        String sc = "Hello World";
        String sd="Hello World";
        System.out.println(sc==sd);    //true

        //布尔值扩展
        boolean flag=true;
        if (flag==true){}
        if (flag){}  //省略
    }
}
  1. 引用类型(reference type)类 接口 数组