Java基础

Java基础

注释

  • 单行注释

    //

  • 多行注释

    /*

    */

  • 文档注释

    /**

    *@Author

    *@Description

    *...

    */

注重注释规范

数据类型

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

java的数据类型分为两大类

基本类型

  • 整数类型

    • byte:1个字节
    • short:2个字节
    • int:4个字节
    • long:8个字节 定义的数后面加个L long num = 30L

    扩展:进制

    • 二进制 0b

    • 十进制

      int i = 10;
      
    • 八进制 0

      int i = 010;
      
    • 十六进制 0x

      int i = 0x10;
      
  • 浮点类型

    • float:4个字节 定义的数后面加个F float num = 50.1F
    • double:8个字节

    扩展:银行业务怎么表示?

    float是有限的,也是离散的,存在舍入误差,是个大约的数,即接近但是不等于,所以最好避免使用浮点数进行比较

    float f = 0.1f;       //0.1
    double d = 1.0/10;    //0.1
    System.out.println(f == d); //输出的是false
    
    float d1 = 23131312312312313f;
    float d2 = d1 + 1;
    System.out.println(d1 == d2);//输出的是true
    

    所以如何表示银行业务---》使用一个类,名为BigDecimal 这是一个数学工具类

  • 字符类型

    • char:2个字节 字符只有一个字

    注:字符串string不是关键字,它是类

    扩展

    所有的字符本质还是数字

    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
    
    char c3 = '\u0061';
    System.out.println(c3);       //a
    
    

    涉及到编码问题:Unicode编码 2字节 最多表示65536个字符 早些年的Excel表格只有2^16 = 65536行

    转义字符:

    • \t 制表符
    • \n 换行
    • ...
  • boolean类型:占1位

引用类型

  • 接口
  • 数组

扩展

==比较,如果比较的对象是基本数据类型,则比较其值是否一致;如果比较的是引用数据类型,则比较对象的地址是否一致

        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

数据类型转换

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

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

  • 强制类型转换

    (类型)变量名 高--->低

    存在内存溢出的问题或是精度问题!

    int i = 128;      //128
    byte b = (byte)i; //-128
    
    int c = (int)23.7;   //23
    int d = (int)-45.89f //-45
    
  • 自动类型转换

    低--->高

注:

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

变量

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

变量作用域:

  • 类变量

    有关键字static

  • 实例变量

    和类变量相比没有static

  • 局部变量

    写在方法里面

public class Demo2 {

    //类变量 static  从属于该类,与类一同消失
    static double salary = 2500;  //自动类型转换

    //实例变量:从属于对象,可以不初始化,不初始化就是这个类型的默认值  数值类型初始化为0或者0.0;布尔型默认false;其他默认都是null
    String name;
    int age;
    public static void main(String[] args) {
        // 局部变量:必须声明和初始化
        int i= 10;
        System.out.println(i);

        // age作为一个实例变量从属于Demo2这个类就得这么使用
        Demo2 demo02 = new Demo2();
        System.out.println(demo02.age);  // 0
        System.out.println(demo02.name); // null

        // salary可以直接用
        System.out.println(salary);      //2500.0
    }
}

常量

初始化后不能改变的值,需要使用关键字 final

final 常量名 = 值;

常量名一般使用大写字符

static final double PI = 3.14;
// 修饰符不存在先后顺序,将static和final换个位置也没事

命名规范

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

运算符

算术运算符、赋值运算符、关系运算符、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>、>>>)、条件运算符、扩展赋值运算符

记录一下位运算:将A、B两个数都换位二进制,然后每个位上与或非

  • ^:异或
  • ~:非

面试题:如何最快计算2×8?

  1. 2×8 = 2×2×2×2

  2. 将2左移3位

注:

  • 算术运算符会自动向高容量转型,比如int+long会变成long;short+byte会自动转为int

  • 关于算数运算符的+,如果左右两边有一个是String类型,是有点讲究的

    int a = 10;
    int b = 20;
    System.out.println(""+a+b);  //1020   字符串出现在前面,则也将ab看成字符串,拼接起来了
    System.out.println(a+b+"");  //30     先完成a+b的操作,然后拼接一个空字符串
    

包机制

类似于文件夹

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

包语句语法格式为

package pkg1[.pkg2[.okg3...]]

为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。使用import导入。用*可以导入包内所有的类。

JavaDoc

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

参数信息:

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

可在类所在文件夹下输入cmd打开命令提示符,使用javadoc+java文件生成自己的api文档,在index.html中查看

javadoc -encoding UTF-8 -charset UTF-8 xxx.java

设置两个UTF-8编码以防乱码

同样也能在IDEA中生成JavaDoc文档,具体方法如下:

  1. 左上角工具--->生成JavaDoc
  2. 选择将整个项目生成文档还是只生成当前文件或者自定义范围
  3. 选择输出目录
  4. 在区域设置选项中输入zh_CN,这样文档的语言就是中文
  5. 在其他命令行实参中一般可输入 -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/7/docs/api

可能会遇到的情况

  1. 单词的大小写不能出现问题,大小写敏感
  2. 尽量用英文
  3. 文件名和类名必须一致,并且首字母要大写
  4. 符号使用中文输入法打出,会报错
posted @   20220629  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示