JavaSE01_基础

1 注释

  • 单行注释

    // 这是单行注释
    
  • 多行注释

    /*
    * 这是多行注释
    * 这是多行注释
    */
    
  • 文档注释

    /**
    * @author		标识一个类的作者
    * @deprecated	指明一个过期的类或成员
    * @exception	标识一个类抛出的异常
    * @param		说明一个方法的参数
    * @return		说明返回值类型
    * @see			指定一个到另一个主题的链接
    * @version		指定类的版本
    */
    

2 标识符

  • 标识符以字母(A-Z 或 a-z),美元符($)、或下划线(_)开始

  • 首字母后可以是字母(A-Z 或 a-z),美元符($)、下划线(_)或数字的任意字符组合

    // 合法标识符
    age
    $salary
    _value
    __1_value
           
    // 非法标识符
    123abc
    -salary
    #abc
    
  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感

  • 可以使用中文命名,但不建议,也不建议使用拼音

3 数据类型

  • 强类型语言:要求变量使用要严格符合规定,所有变量都必须先定义后才能使用(强类型语言的安全性更高,但速度较弱类型语言慢)

  • Java的数据类型分为基本类型(primitive type)引用类型(reference type)

Java数据类型

  • long类型要在数字后加Lfloat类型要在数字后加F

    long num1 = 30L;
    float num2 = 3.14F;
    
  • 整数类型可以以不同的进制表述

    int num1 = 10;		// 十进制
    int num2 = 0b1010;	// 二进制,以0b或0B开头
    int num3 = 012;		// 八进制,以0开头
    int num4 = 0xa;		// 十六进制,以0x或0X开头
    
  • Java7之后,数字之间可以使用下划线进行分割

    int money = 1_000_000_000;
    

4 类型转换

  • Java是强类型语言,在计算时需要考虑类型优先级

    类型优先级

  • 强制转换(转换时需要注意类型的范围

    // 强制转换是由高类型转换为低类型
    int i = 128;
    byte b = (int) i;	// 由于byte范围为-128~127,此时b为-128
    
  • 自动转换

    // 由低类型转换至高类型时可以直接转换
    int i = 128;
    double d = i;
    
  • boolean类型不能转换

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

  • 高类型和低类型进行运算时,结果会自动转换为高类型值

    int a = 1000000000;
    int b = 2000000000;
    long result1 = a * b;	// 此时先做int的乘法,再转换为long,结果错误
    long result2 = (long) a * b;	// 此时相当于两个long值相乘,结果正确
    

5 变量

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

type varName [=value] [{, varName[=value]}];
// 数据类型 变量名 = 值;
// 可以使用逗号隔开声明多个同类型变量(不推荐)

6 变量作用域

public class Variable {
    static int allClicks = 0;	// 类变量
    String str = "Hello World";	// 实例变量
    
    public void method() {
        int i = 0;	// 局部变量
    }
}
  • 局部变量:

    必须声明和初始化值,在方法内部定义,在定义该局部变量的方法外部无法直接调用

  • 实例变量

    从属于对象,如果不进行初始化,则为该类型的默认值(数值类型:00.0,布尔值:falsechar类型:\u0000,引用类型:null

  • 类变量

    可以在类中的任意地方直接调用

7 常量

常量(Constant)是一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变,使用final关键字修饰

final double PI = 3.14;

8 变量的命名规范

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

9 运算符

Java语言支持如下运算符:

  • 算术运算符:+-*/%++--

    int a = 3;
    
    int b = a++;	// 先给b赋值,再自增
    int c = ++a;	// 先自增,再给c赋值
    
  • 赋值运算符:=

  • 关系运算符:>>=<<===!=instanceof

  • 逻辑运算符:&&||!

    // &&和||是短路运算,如果从第一项中已经可以知道结果,就不会计算后面的内容
    int i = 5;
    boolean b = (c < 4) && (c++ > 10);	// 不会执行c++的运算
    
  • 位运算符:&|^~>><<>>>

    • ^:异或,相同二进制位异或结果为0,不同二进制位异或结果为1
    • >>:右移,移位前最高位是0,右移后补0;移位前最高位是1,右移后补1(符号不变)
    • >>>:右移,移位后最高位补0
    • <<:左移,空位补0,移除的高位舍弃
  • 条件运算符:? :

  • 扩展赋值运算符:+=-=*=/=

10 运算符优先级

优先级运算符结合性
1()[]{}从左向右
2!+(正)、-(负)、~++--从右向左
3*/%从左向右
4+-从左向右
5<<>>>>>从左向右
6<<=>>=instanceof从左向右
7==!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13? :从右向左
14=+=-=*=/=&=|=^=~=
<<=>>=>>>=
从右向左

11 包机制

  • 为了更好地组织类,Java提供了包机制,用于区分类名的命名空间,其语法格式为:

    package pkg1[.pkg2[.pkg3...]];
    
  • 一般使用公司域名倒置作为包名:com.kayne.blog

  • 为了能够使用某一个包中的成员,需要在程序中明确导入该包,使用import关键字

    import pkg1[.pkg2...].(classname|*);
    

12 JavaDoc

在类前或方法前添加文档注释之后,可以通过JavaDoc生成对应的API文档

  • 通过命令行生成

    javadoc -encoding UTF-8 -charset UTF-8 xxx.java
    
  • 通过IDEA生成(v.2019.3.1)

    在选择需要生成文档的代码后:
    JavaDoc1

    然后选择文档输出目录,以及设置编码方式:
    JavaDoc2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值