Java基础学习笔记(一)

2021/4/14 20:28:05

本文主要是介绍Java基础学习笔记(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

注释

  1. 单行注释://
  2. 多行注释:/* */
  3. 文档注释:/** */

字节

计算机内部数据存储的最小单位是位(bit),计算机数据处理的基本单位是字节B(byte),1 B=8 bit。

Java中的数据都是有符号的,一个byte可以存储 -128 ~ 127 的数值,为什么呢?以下为解释:

  1. 计算机中带符号的整数都是使用二进制的补码
  2. 正数的补码就是它本身,而负数的补码,是在原二进制值上按位取反(反码)再加1
  3. 一个byte有8 bit,最高位表示符号,“0”表示正数,“1”表示负数
  4. 正数最大值为 0111 1111,就是十进制的 +127。加1变成 1000 0000,第一位表示负数,其他位按位取反为 111 1111,再加1,成为1000 0000,换算成十进制为 128,再加上前面的负号就是 -128。整个过程像一个表盘,指针走到最大值,再往前走,变成最小值。(可以尝试继续加1,二进制数值为 1000 0001,是十进制的 -127)

标识符

  1. 可以用字母(a-z或A-Z),美元符($),下划线(_)开头。
  2. 首字母之后可以是字母(a-z或A-Z),美元符($),下划线(_),数字的组合。
  3. 不能使用关键字作为变量名或方法名
  4. 大小写敏感
  5. 可以用中文命名

数据类型

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

基本类型

primitive type

  1. 数值类型

    • 整数:byte、short、int(二进制以0b开头,八进制以0开头,十六进制以0x开头)、long(数值后加L)
    • 浮点:float(数值后加F)、double
      • 浮点数是离散的,会舍入误差,结果是个约数,所以最好避免float型的数值比较,银行业务会用BigDecimal类来表示数值
    • 字符:char(单字符)
      • String可以定义字符串,单String是类,不是关键字
      • char可用(int)强制转换成数值,字符的本质还是数字
      • Unicode编码 U0000 ~ UFFFF,char a ='\u0031'
      • 转义字符:\t 制表符,\n 换行符
  2. boolean类型:占一位,值为true或false

  3. 类型由字节大小从底到高排序为

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

    运算中,不同类型的数据会先转化为同一类型,有以下注意事项:

    • 由低到高是自动转换,不需要更多操作
    • 由高到低是强制转换,(byte)i,有可能会造成内存溢出,或精度问题
    • 不能对布尔值进行转换
    • 不能把对象类型转换为不相干类型
    • 运算中会自动转换成对象的最高位,低于int类型的运算结果为int类型

引用类型

reference type

  1. 接口
  2. 数组

命名规范

  1. 要能见名知意
  2. 类成员变量/局部变量/方法名:首字母小写和驼峰原则:lastName
  3. 常量:大写字母和下划线:MAX_VALUE
  4. 类名:首字母大写和驼峰原则:GoodMan

运输符

  1. 一元运算符

    ++自增,--自减

    b = a++ 相当于 b=a, a=a+1

    b = ++a 相当于 a=a+1,b=a

    --类似

  2. 二元运算符

    +、-、*、/、%(模运算,取余)

  3. Math工具类,pow幂

  4. 逻辑运算符,与(&&)、或(||)、非(!)

    public class Test {
        public static void main(String[] args) {
            boolean a = true;
            boolean b = false;
    
            System.out.println("a && b:"+(a&&b));
            System.out.println("a || b:"+(a||b));
            System.out.println("!(a && b"+!(a&&b));
        }
    }
    

    与、或运算在第一次遇到false,运算就停止了

    public class Test {
        public static void main(String[] args) {
            int a = 3;
            boolean b = (a<1)&&(a++<4);  //结果a没有执行加1,短路运算
            System.out.println(a);
            System.out.println(b);
        }
    }
    
  5. 位运算符(按位计算),与(&)、或(|)、非(~)、异或(^)相同为0否则为1、左移(<<)、右移(>>)

    -- 左移的神奇之处,<<相当于乘以2,>>相当于除以2,直接与底层二进制打交道,位运算的效率很高
    0000 0000  0
    0000 0001  1
    0000 0010  2
    0000 0100  4
    0000 1000  8
    0001 0000  16
    
  6. 扩展赋值运算符,+=、-=、*=、/=,a+=b相当于 a=a+b

  7. 字符串连接符 +,+两侧有一个为String类型,会都转换为String类型进行连接

    public class Test {
        public static void main(String[] args) {
            int a =10;
            int b =20;
    
            System.out.println(""+a+b);  //1020,String类型在左
            System.out.println(a+b+"");  //30,String类型在右
        }
    }
    
  8. 三元运算符,()?y : z ,如果()内条件为true,结果输出y,否则输出z。功能相当于if语句

    public class Test {
        public static void main(String[] args) {
            int score = 80;
            String type = score<60 ? "不及格" : "及格";
            System.out.println(type);
        }
    }
    
  9. 优先级

包机制

包的本质就是文件夹,用于区别类名的命名空间,一般利用公司域名倒置作为包名,com.baidu.www

在使用某一包的成员,需要在程序中明确导入该包 import package1[.package2].classname/ *;

JavaDoc

可以利用注释信息生成帮助文档,类似与api:

https://www.oracle.com/cn/java/technologies/java-se-api-doc.html

https://docs.oracle.com/javase/8/docs/api/

生成方式:

  1. 通过命令行:javadoc 参数 Java文件

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

  2. IDEA方式

    1. 代码样式

      package com.okami;
      
      /**
       * @author 作者名
       * @version 版本号
       * @since 指明需要最早使用的jdk版本
       * @param 参数名
       * return 返回值情况
       * @throws 异常抛出情况
       */
      public class Doc {
          String name;
      
          /**
           *
           * @param name
           * @return
           * @throws Exception
           */
          public String test(String name) throws Exception{
              return name;
          }
      
      }
      
    2. 点击Tools->Generate JavaDoc

    3. Other command line arguments: -encoding utf-8 -charset utf-8

    4. 在输出目录中找到 index.html 打开

快捷方式

  1. 跳转类文件:例如String,ctrl+鼠标左键点击String


这篇关于Java基础学习笔记(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程