Java基础复习篇

Java基础复习篇

1. 程序运行机制

  • 编译型(类比:直接翻译全文)

    开发操作系统、C/C++

  • 解释型(类比:翻译官逐步解释)

    网页、脚本语言(java script)等

Java属于编译型和解释型相结合

2. 注释

  • 单行注释

    //单行注释
    
  • 多行注释

    /*多行注释*/
    
  • 文档注释(Java Dos)

    /**
    *@Author zhangshao
    */
    

注意:大厂注释规范

image-20220919101915900

3.标识符和关键字

关键字
preview
标识符

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

  • 所有的标识符由任意顺序的字母(A-Z或者a-z),美元符($)、或者下划线(_)组合,但是标识符不能以数字开头
  • 不能使用关键字作为标识符
 // 错误标识符
        int 1a=3;
        int #a=1;
        int a#=1;
        int a!=1;
        String Hello World="发现世界"(有空格导致的错误)

4.数据类型

Java为强类型语言,js为弱类型语言

强类型语言:使用严格符和规定,所有变量必须先定义才能使用。

4.1 java的数据类型分为基本类型引用类型
image-20220921104308354
4.2 补充:
  • 位(bit):计算机内部数据储存的最小单位
  • 字节(byte):计算机数据处理的基本单位
  • 1B(1字节)=8b(位)
  • 1024B=1KB
  • 1024KB=1MB
  • 1024M=1G
  • 1024G=1T
4.3 数据类型范围的计算方式

例子:int整形

int整形占4个字节,1个字节=8个比特位,int则有32个比特位,因为在计算机的二进制中有一个符号位,32-1=31,剩下31个位置存放数字

计算:每个位置只能是0,1这两个数字中的任意一个,有两种情况,所以范围为-231~231-1

public class Demo1 {
    public static void main(String[] args) {
        //整数
       byte num1=127;
       short num2=32767;
       int num3=2147483647;
       long num4=922375555555L;//Long类型要在数字后加L
       //浮点数
        float num5=23.9F;//float类型要在数字后加F/f
        double num6=3.13333;
        //字符
        char name='张';
        //字符串String不是关键字,是类名;
        String name1="张三";
        //布尔值
        boolean flag=true;
    }
}
4.4 数据类型补充
  1. 整数类型扩展

    • 二进制:0b

    • 八进制:0

    • 16进制:0x

      public class Demo1 {
          public static void main(String[] args) {
              int num1=0b1001;
              int num2=010;
              int num3=0x10;
              System.out.println(num1);//9(详情到进制转换查看)
              System.out.println(num2);//8
              System.out.println(num3);//16
          }
      }
      
  2. 浮点数扩展

    !!!最好不要使用浮点数进行比较会出现精度问题

        float num1=0.1f;
        double num2=1/10;
        System.out.println(num1==num2);//false
        float num3=2311111111f;
        float num4=num3+1;
        System.out.println(num3==num4);//true(存在很大的精度问题)
    
    
  3. 字符扩展

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

    java采用Unicode编码(三种编码见补充)

  4. 字符串(String属于引用数据类型)扩展

        String str1="Hellow";
        String str2="Hellow";
        System.out.println(str1==str2);//true
        String str3=new String("Hellow");
        String str4=new String("Hellow");
        System.out.println(str3==str4);//false
        System.out.println(str3.equals(str4));//true
    
  5. 布尔值扩展

    boolean flag=true;
    if(flag)//老手
    if(flag==true)
    
4.5 类型转换
  • 低------------------------------------------------------------------>高

    byte->short-> in t->long->float->double

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

  • 类型转化分为强制类型转化和自动类型转化

    int num1=1000;
    byte num2=(byte) num1;
    System.out.println(num2);//-24(强制转化高->低,存在内存溢出问题)
    System.out.println((int)23.7);//23
    System.out.println((int)-45.8F);//-45(强制转化高->低,存在精度问题)
    char num5= (char) num1;
    System.out.println(num5);//8
    double num3=num1;
    float num4=num1;
    System.out.println(num3);//1000.0(自动转化低->高)
    System.out.println(num4);//1000.0(自动转化低->高)
    char c='a';
    int d=c+1;
    System.out.println(d);//98(变量c自动转化为int型进行运算)
  • 操作较大的数的时候易发生溢出问题
          //JDK7特性,数字之间可以用下划线分割
          int money=1_000_000_000;
          int years=20;
          int total=money*years;
          System.out.println(total);//-1474836480,计算的时候溢出
          long total1=money*years;
          System.out.println(total1);//默认还是int,转化之前已经存在问题
          long total2=money*(long)years;
          long total3=(long)money*years;
          System.out.println(total2);//20000000000(其中一个变成高,计算的时候另一个自动由低转化为高)
          System.out.println(total3);

5. 变量

  • Java是强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
5.1 变量作用域
  • 类变量(静态变量)是类中处于方法之外的变量,用static修饰;
  • 实例变量
  • 局部变量

6.常量

初始化后不能再改变的值!不会变动的值;常量名使用大写

final double PI=3.14;

7.变量命名规范

image-20220921204717455

8.运算符

8.1补充:在数值类型中,若级别小于in t,进行计算的时候,最终的数据类型会自动转化为in t,如果高于in t,最终数据结果会取其中最高的一个(例如:操作较大的数的时候易发生溢出问题例子)
        long a=123123123123123123L;
        int b=123;
        short c=10;
        byte d=8;
        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//Int
        System.out.println(c+d);//Int
8.2 ++ 自增/-- 自减(一元运算符)
       int a=3;
       int b=a++;
       System.out.println(a);//a=4
       System.out.println(b);//b=3先给b赋值再自增
       int c=++a;
       System.out.println(a);//a=5
       System.out.println(c);//b=5先自增再给c赋值
8.3 幂运算

使用工具类计算

double pow=Math.pow(2,3);
        System.out.println(pow);//8.0
8.4 三元运算符
int a=3;
int c=a>3?4:3;
System.out.println(c);//3
8.5 位运算符
8.6 字符串连接符
 int a=3;
 int b=5;
 System.out.println(""+a+b);//35
 System.out.println(a+b+"");//8

9.包机制

  • 一般利用公司域名倒置作为包名

  • import package.java.io.ObjectStreamField;
    import package.zhang.*
        //.*通配符,导入包下所有文件
    
  • 阿里开发手册:包名统一使用小写,点分隔符之间,有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用负数形式。例如:应用工具类包名com.alibaba.ai.util、类名为MessageUtils;

10. JavaDoc生成文档

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

  • 参数信息

image-20220922215831064
10.1 通过命令行生成文档
package com.zwy.basic;

/**
 * @author Zhangwenyu
 * @version 1.0
 * @since 1.8
 */
public class JavaDoc {
    String name;

    /**
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name)throws Exception{
        return name;
    }
}

image-20220922214826547

生成的html文件

image-20220922215053477

10.2 用idea生成文档
  1. 首先随便新建一个文件夹

  2. 选中所要生成的包

  3. 点击顶部工具(Tools)菜单,并选择生成javadoc(Generate JavaDoc)这个选项

  4. ①然后会弹出一个界面,然后在输出目录(Output directory )输入框后面的按钮点击进去选择我们刚才创建 的文件夹(JavaDoc),②然后在区域设置(locale框)里填写zh_CN,意思是这个代表的就是中文,③输完之后在下面的其他命令行式参框(Other command line arguments:)中输入下面这行编码-encoding utf-8 -charset utf-8(k可以看到和前面的Dos命令框做法一致),意思是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。

    image-20220922223655499

    5.打开文件夹生死的html文件

posted @ 2024-06-27 15:59  cxy领域展开  阅读(19)  评论(0)    收藏  举报