JavaSE 学习笔记 - 基础语法

注释

//  单行注释
/*
    多行注释
*/
/** 文档注释
 * @Description helloWorld
 * @Author 菜鸟
 * */

标识符&关键字

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

数据类型

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

Java的数据类型分为两大类:

  • 基本类型(primitive type)
    • 数值类型
      1. 整数类型 byte占1个字节 short占2个字节 int占4个字节 long占8个字节
      2. 浮点类型 float占4个字节 double占8个字节
      3. 字符类型 char占2个字节
    • boolean类型 占1位其值只有true和false两个
  • 引用类型(reference type)
    • 接口
    • 数组

字节:

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示,
  • 1B(byte,字节)=8bit(位)
  • 字符:是指计算机中使用的字母、数字、字和符号
  • 1bit表示1位, 1B表示一个字节,1B=8bit. 1024B=1KB 1024KB=1M 1024M=1G

拓展

整数扩展:

进制:
    二进制:(0b)
    十进制
    八进制:(0)
    十六进制:(0x)

浮点数扩展:

float\double 有限 离散 舍入误差 大约 接近但不等于
对于比较精确的计算(如银行系统)
    可以使用数学工具类(如 BigDecimaL)

强制类型转换:

    char = 'a';
    System.out.println(int(a));
输出结果:97
所有字符的本质还是数字(Unicode表)

转义字符:

转义字符 字符值
\' 一个单撇号(')
\'' 一个双撇号(")
\? 一个人问号(?)
\\ 一个反斜杠(\)
\b 退格
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
···

对象 从内存分析:

String sa = new String("hello");
String sb = new String("hello");
System.out.print("sa=sb:");
System.out.println(sa == sb);
String sc = "hello";
String sd = "hello";
System.out.print("sc=sd:");
System.out.println(sc == sd);
输出结果:
sa=sb:false
sc=sd:true

类型转换

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

强制转换 : (类型)变量名 高-->低
自动转换 :  自动转换    低-->高 

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

注意:

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

变量、常量、作用域

变量

变量:可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

type varName [=value][{,varName[=value]}]
//数据类型 变量名=值:可以使用逗号隔开来声明多个同类型变量。

注意:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
    //1类变量 static
    static double salary = 2500;
    //2实例变量:从属于对象
    int age;
    //main方法
    public static void main(String[] args) {
        //3局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);
        //变量类型 变量名字 =new Demot08();
        Demo demo = new Demo();
        System.out.println(demo.age);
    }
    //其他方法
    public void add(){
    }

常量

常量:初始化后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI = 3.14;
常量名一般使用大写字符。
final static double Pi = 3.14;
static final double Pi2 = 3.14;
//修饰符不区分先后

命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run0,runRun0

运算符

  • 算术运算符:+,-,*,/,%,++,--
  • 赋值运算符=
  • 关系运算符:>,<,>=,<=,==,!=, instanceof
  • 逻辑运算符:&,‖,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解)
  • 条件运算符: ?:
  • 扩展赋值运算符:+=,-=,*=,/=

运算符的优先级:

Java运算符及优先级 转载自(冰湖一角)大佬的博客

包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
  • 包语句的语法格式为: package pkg1[.pkg2[.pkg3...]];
  • 一般利用公司域名倒置作为包名:
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能 import package1[.package2...].(classname|*);

JavaDoc

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

  • 参数信息

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

使用IDEA输出javadoc:

  1. 在IDEA中选择工具(Tool)并选择Generate JavaDoc(生成javaDoc)

  2. 配置各种参数

    • 选择生成JavaDoc文档的范围。
    • 输出目录最好新建一个文件夹。
    • 区域设置: 简体中文就是zh_CN、 繁体(台湾)zh_tw、 繁体(香港)zh-hk、 英语(香港)en-hk、 英语(美国)en-us、 英语(英国)en-gb、 英语(全球)en-ww
    • 其他命令行参数:中国,参数一般为: -encoding UTF-8 -charset UTF-8
    • 设置完成后点击确定(OK)即可生成Doc文档

本文章使用limfx的vscode插件快速发布