Java基础01——基础知识1

注释、标识符、关键字

注释

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

  • 单行 //一行文字

  • 多行 /* 一段文字 */

  • 文档注释 /** */

  • 试着搜搜有趣的代码注释


标识符

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
  • 所有的标识符都应以大小写字母、美元符($)、或者下划线(_)开始
  • 首字母之后可以是任意字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 汉字也可以作为变量名(不建议使用,不规范)

关键字

​ Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

​ 详见关键字


数据类型

  • Java是一种强类型语言,需要变量的使用要严格符合规定,所有的变量都必须先定义后才能使用

基本类型

  • 整数类型

    byte占一个字节范围:-128~127; short占2个字节范围:-32768~32767;

    int(最常用) 占4个字节范围:-2147483648~2147483647;

    long(使用时数值后要加L) 占8个字节范围;

  • 浮点类型

    float(使用时数值后要加F)占4个字节; double占8个字节;

  • 字符类型

    char占2个字节;

  • boolean类型

    占1位 只有true和false两个值

  • String不是关键字,类

引用类型

​ 类、接口、数组

拓展

  • 整数拓展

    二进制0b 十进制 八进制0 十六进制0x

    int i = 10;
    int i2 = 010;//八进制0
    int i3 = 0x11;//十六进制0x	输出时转变为十进制
    
  • 浮点数拓展

    浮点数存在有限、离散、舍入误差的特性,表示大约,接近但不等于

    最好完全避免使用浮点数进行比较

    eg:

    float f = 0.1f;//0.1
    double d = 1.0/10;//0.1
    System.out.println(f==d);//false,相同的数比较后得到假值
    
    float d1 = 232331313123123f;
    float d2 = d1 + 1;
    System.out.println(d1==d2);//true,不相同的数却得到真值
    

    ps:BigDecimal 数学工具类, 可用于银行业务表示钱

  • 字符拓展

    //所有的字符本质还是数字
    char c1 = 'a';//Unicode编码表示中 'a' 为 '\u0061' 
    char c2 = '中';
    System.out.println(c1);
    System.out.println((int)c1);//强制类型转换
    System.out.println(c2);
    System.out.println((int)c2);
    
    //得到结果:
        a
        97
        中
        20013
        //编码 Unicode 表:(97 = a 65 = A)	2字节	0 ~ 65536
        //U0000 UFFFF
    
    //转义字符
            // \t 制表符(table)
            // \n 换行
            // ...
    
  • 布尔值拓展

    boolean flag = true;
    
    if(flag==true){}//等同于下面
    if(flag){}//老手
    //Less is More!	代码要精简易读
    

类型转换

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

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

  • 不能对布尔值进行转换

  • 不能把对象类型转换为不相干的类型

  • 再把高容量转换到低容量的时候,强制转换

  • 转换的时候可能会存在内存溢出或者精度的问题

  • 低 ————————————————高

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

强制转换

  • 高到低

        System.out.println((int) 23.7);
    	System.out.println((int)-45.89f);
        //输出
        23
        -45
    

自动类型转换

  • 低到高

        char c = 'a';
        int d = c+1;
        System.out.println(d);
        System.out.println((char) d);
        System.out.println("==================");
        //输出
        98
        b
    

溢出问题

        int i = 128;
        byte b = (byte)i;//内存溢出
        System.out.println(i);
        System.out.println(b);
        //输出
        128
        -128
            
		int money = 10_0000_0000;//数字间可以用下划线分割
        int years = 20;
        int total = money*years;//计算时会溢出        
        long total2 = money*years;//默认是int,转换前已经存在问题?
        long total3 = money*((long)years);//先把一个数转换为long
		System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
		//输出
		-1474836480
        -1474836480
        20000000000

  • 命令行生成Doc文档 : javadoc 参数 Java文件

  • IDEA生成JavaDoc文档

posted @ 2022-04-06 15:07  纯鹿人  阅读(76)  评论(1)    收藏  举报