JavaSE基础笔记

目录

注释

优点及作用

分类

单行注释

多行注释

文档注释

标识符、关键字

定义

注意

数据类型

语言分类

Java数据类型分类

基本类型

引用类型

类型转换

原因

注意

变量

定义

作用域

注意事项

命名规范

常量

定义

运算符

分类

算术运算符

赋值运算符

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

逻辑运算符

位运算符

条件运算符

扩展赋值运算符

面试题

包机制

作用

语法格式

import关键字

作用

格式

注意

JavaDoc

作用

参数信息

生成API文档


注释

优点及作用

  • 书写注释可以养成好的习惯

  • 对代码进行解释,便于观看代码者理解

  • 在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。

  • 注释的内容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。

  • 注意事项:多行和文档注释都不能嵌套使用。

分类

  1. 单行注释

  2. 多行注释

  3. 文档注释

单行注释

语法

  • //

 //我是一行注释

作用区域

  • //”标识后的单行区域

多行注释

语法

  • /* ....... */

 /*
 我是一行注释
 我是一行注释
 */

作用区域

  • 标识中的多行文本

文档注释

语法

  • /** 注释文字 */

 /***
 *注释文字
 *注释文字
 */

作用区域

  • 标识中的多行文本

区别

  • 专门为了用javadoc工具自动生成文档而写的注释,它是一种带有特殊功能的注释

  • 与一般注释的最大区别在于起始符号是/*而不是/或//

  • 文档注释只负责描述类(class)、接口(interface)、方法(method)、构造器(constructor)、成员字段(field)

  • 文档注释必须写在类、接口、方法、构造器、成员字段前面

  • 文档注释中内容尤描述部分与标记部分组成,标记部分跟在描述部分之后,且前面必须有一个空行间隔

常见标记

  1. @author 作者,没有特殊格式要求,名字或组织名称都可以

  2. @version 软件版本号(注意不是java版本号),没有特殊格式要求

  3. @param 方法参数,格式为: @param 参数名称 参数描述

    • 可以在参数描述中说明参数的类型

    • 可以在参数名称和参数描述之间添加额外的空格来对齐

    • 破折号或其他标点符号不能出现在参数描述之外的地方

  4. @return 方法返回值,格式为: @return 返回值描述 ,如果方法没有返回值就不要写@return

  5. @deprecated 应该告诉用户这个API被哪个新方法替代了,随后用 @see 标记或 {@link} 标记指向新API

  6. @throws (或 @exception )包含方法显式抛出的检查异常(Checked Exception),至于非显示抛出的其他异常(Unchecked Exception),除非特别有必要,否则就别写了。一个原则就是,只记录可控的问题,对于不可控的或不可预测的问题,不要往上面写。

  7. 自定义标记

标识符、关键字

定义

  • Java所有组成部分都需要名字,类名、变量名和方法名都被成为标识符

 

注意

  • 所有标识符都必须以字母(A-Z或a-z)、美元符($)、下划线(_)开头

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

  • 关键字不可用于类名、变量名及方法名等

  • 尽量保持良好的命名规范,标识符对于字母的大小写极为敏感

  • 标识符可以使用中文命名,但通常不建议,也不建议使用拼音。

数据类型

语言分类

  1. 强类型语言

    • Java属于强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义在使用

    • 安全性高,速度慢

  2. 弱类型语言

    • 对于变量的要求可以不符合规范

    • 安全性低,速度快

Java数据类型分类

 

基本类型

数值类型

  1. 整数类型

    • byte:占1个字节范围

    • short:占2个字节范围

    • int:占4个字节范围 //最常用

    • long:占8个字节范围 //Long类型要在数字后加"L",用来区分类型

  2. 浮点类型

    • 完全避免使用浮点数进行比较

    • float:占4个字节 //Float类型要在数字后加"F",用来区分类型

    • double:占8个字节

  3. 字符类型

    • char:占2个字节

  4. 字符串类型

    • String:不是关键字,而是类

布尔类型

  1. boolean:占1个“位”

数据储存单位

  • 位(bit):计算机内部储存最小的单位,11001100是一个八位二进制数,

  • 字节(byte):是计算机中数据处理的基本单位,习惯上用“B”来表示

  • 字符:计算机中使用的字母、数字、字和符号,本质还是数字

  • 转换规则

    1. 1bit表示一“位”

    2. 1byte表示一“字节” 1B=1b

    3. 1024B = 1KB

    4. 1024KB = 1MB

    5. 1024Mb = 1GB

    6. 1024GB = 1TB

引用类型

  1. 接口

  2. 数组

类型转换

原因

  • 由于Java是强类型语言,所以在某些运算中需要用到类型转换

  • 而在运算中,不同类型的数据要先转换为相同类型,在进行运算

 

  • 而从高到低转换,成为强制类型转换

    1. 格式:(类型)变量名

  • 而自动类型转换则是从低到高转换

注意

  1. 不能对布尔类型进行转换

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

  3. 在高容量向低容量进行转换时,要强制转换

  4. 转换时要注意内存溢出或精度问题

    • 溢出问题解决:

    • 先将运算数中的一个数先进行转换,运算结果则自动转换

变量

定义

  • 变量就是可以变化的量

  • Java是一种强类型语言,每一个变量都必须声明其类型

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

 

作用域

  • 类变量:声明在类中,方法体之外,但必须声明为 static 类型,也叫静态变量

  • 实例变量:定义在类中,方法体之外的变量。这种变量从属于对象,在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问

    • 若实例变量没有定义初始值,则为默认值

    • 数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。必须变量声明和初始化,且都是在方法中,方法结束后,变量就会自动销毁

 

注意事项

  1. 每个变量都有类型,类型可以是基本类型也可以是引用类型

  2. 变量名必须是合法的标识符

  3. 变量声明是一个完整的语句,所以每一条声明变量都需要以“;”结尾

  4. 不建议在一条声明语句中定义多个变量

命名规范

 

常量

定义

  • 初始化之后就不能在改变值,且不会变动

  • 可以理解为一种特殊的变量,值被设定后,在程序运行过程中不允许改变

  • 需要使用final关键字修饰(修饰符不存在先后顺序

  • 常量名一般使用大写字母

运算符

分类

算术运算符

  • +

  • -

  • *

  • /

  • %

  • ++

  • __

    1. 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算

    2. 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

 

  1. 任何整数类型相运算时,只要有一个Long类型,则结果为Long,若没有Long,则都为Int

赋值运算符

  • =:将右边的操作数赋给左边变量或或常量等

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

逻辑运算符

  1. &&:两个皆为真,结果才为真

    • 短路运算:若前为假,则其后不再执行

  2. ||:两个其一为真,结果即为真

  3. !:若真则假,若假则真

位运算符

 

  • &:上下位比较,若两个都为1,才为1,否则为0

  • |:上下位比较, 若两个都为0,才为0,否则为1

  • ^:上下位比较,若两个相同为0,否则为1

  • ~:每一位若0则1,若1则0

  • <<:相当于*2 效率极高!!!!!!!

  • ">>":相当于/2 效率极高!!!!!!!

  • ">>>":按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

    • 面试题:2*8怎么最快:2<<3(2的二进制向左位移三次,相当于三次2乘2)

条件运算符

  • "? :" :也被称为三元运算符(必须掌握)

三元运算符优点

  • 使代码精简且便于理解

 x ? y :z
 //若x为true,则结果为y,否则为z

扩展赋值运算符

 *=:a=a*b
 +=:a=a+b
 -=:a=a-b
 /=:a=a/b

面试题

  • 字符串连接位置的变化对输出语句中数字运算的影响

 int a = 10;
 int b = 20;
 System.out.println(""+a+b);---->1020
 System.out.println(a+b+"");---->30
 //""相当于字符串,在字符创拼接中,如果字符串在前,后面内容会拼接
 //字符串在后面,前面的依旧进行运算

包机制

作用

  1. 可以更好地组织类,用于区别类名的命名空间,可以有效地防止命名冲突

  2. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用

  3. 采取了树形目录的存储方式,同一个包中的类名是不同的,不同包中的类名是可以相同的,同时调用两个不同包中同名的类时,应该加上包名以区分,

  4. 包也限定了访问权限,拥有包访问权限的类,才可以调用某个包中的类

  5. 更容易实现访问控制,并且让定位相关类更加简单

语法格式

 packge pkg1[.pkg2[.pkg3…]];

import关键字

作用

  • 想要使用某一个包中的类时,需要使用import来明确的导入这个类所在的包

格式

 import package1[.package2…].(classname|*);

注意

  • 在创建包时,一般利用公司域名倒置作为包名

  • 在调用本包中的一个类时,不用导包

  • packge语句应位于类的最上方

  • import语句应为与packge语句之后,类声明之前

  • 将类放在包中,包名成为类名的一部分

  • 且包名应与相应的字节码所在的目录结构相吻合

  • 想要调用一个包中所有类时,可以使用通配符“ * ”,来调用包中的所有类

JavaDoc

作用

  • JavaDoc命令用作生成自己的API文档

  • 加在什么上就是什么的注释

参数信息

  • @author-----作者名

  • @version----版本号

  • @since-------指明需要最早使用的jdk版本

  • @param-----参数名

  • @return-----返回值情况

  • @throws----异常抛出情况

 

生成API文档

  • 在命令行使用javadoc命令

  • 使用idea工具生成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值