JavaSE-基本语法
基本语法
注释,标识符,关键字
1.注释
书写注释是一个良好的习惯
- 单行注释 //
- 多行注释 /* */
- 文档注释/** */ 其中有些注解可以识别 比如:@Description 文档描述 @Author 作者
2.关键字
java已经定义好的具有特定功能的名字,可以简单理解为某个人的一种特殊能力
3.标识符
配合关键字使用,可以简单理解为是谁拥有这项特殊能力,而标识符就是定义这个人是谁,给一个称呼
注意:标识符的规范
- 开头字符以英文字母大小写,$ ,_
- 开头字符后的字符除了以上的可用外还可以用数字
- 不能使用关键字作为方法名或变量名
- 标识符区分大小写
- 不推荐使用拼音式命名,最好就是起的名字有其容易识别的意义
- 可以使用中文命名,有人会说这不是违反了标识符的规定吗,但是java是支持编码utf-8所以就会识别符合
数据类型
1.强类型语言,弱类型语言
要求变量使用时要严格规定,所有变量必须要定义后使用(定义了数据类型,如果不经过转换永远都是当初定义的数据类型),反之弱类型语言
2.Java数据类型
- 位bit:是计算机内部二进制最小的单位 0/1
- 字节byte:是计算机中处理数据的最小单位,习惯用B来表示
1bit=1位
1B=8bit
1024B=1KB
1024kb=1m
1024m=1gb
2.1基本数据类型
八大基本数据类型
- byte
- short
- int
- long
- float
- double
- char
- boolean
1.默认整数为int,所以long类型数据要后面加L加以注明,大小写都可
2.默认浮点类型为double,所以float类型数据要在后面加以F注明,大小写都可
3.浮点类型超过4字节的整数范围就会用科学计数法,所以同样是4字节的int,8字节的long表示的范围都小于浮点数
2.1.1整数拓展(面试题)
- 整数的进制问题
- float和double的问题
- 字符拓展
- 转义字符
市场的编码规范
Unicode是ASCII的拓展
Utf-8是解决Unicode内存面对一些简单字符占用过大的问题,因为utf-8是可变的内存
2.2引用数据类型
- 接口
- 数组
- 类
类型转换
java是强类型语言,所以进行一些运算需要用到类型转换
类型不同的需要转化成同一类型运算
低到高 自动类型转换
高到低 强制类型转换
-
数值较大对于溢出的问题
-
注意点
-
1.不能对布尔值进行转换
-
2.不能把对象类型换为不相干的类型
-
3.强制转换的时候可能会出现精度问题
变量,常量
1.变量
- 变量是可以变化的量
- java是一种强类型语言,每个变量都必须要有类型
- java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域
注意不推荐使用一行声明多个同类型变量,虽然也可以使用,但是可读性差 - 注意事项
- 每个变量都要有类型,类型可以基本类型和引用类型
- 变量名要是合法的标识符
- 变量声明是一条完整的语句,要有分号结束
1.1变量的作用域
- 类变量(静态变量)(成员变量)
- 实例变量 (成员变量)
- 局部变量
- 一些细节
2.常量
- 常量:初始化后不能改变的值,不会变动的值
- 常量可以理解为一种特殊的变量,它的值设定了,程序过程中不允许改变
- 常量名一般用大写字符
- 修饰符不分大小
命名规范
- 所有变量,方法,类名:见名其义
- 类成员变量:首字母小写和驼峰原则:monthDay
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线: MAX_VALUE
- 类名:首字母大写和驼峰原则:MendTake
- 方法名:首字母小写和驼峰原则
运算符
- 算数运算符:+ ,- ,* ,/ ,% ,++ ,- -
- 赋值运算符:=
- 关系运算符:> , < , >= , <= , == , !=
- 逻辑运算符:&& , || , !
- 位运算符:&,|,^,~,>>,<<,>>>(了解即可)
- 条件运算符:? :
- 扩展赋值运算符:+=,-+,*=,/=
1.注意点
- 自增,增减算数运算符 ++ ,- -的问题
- 幂运算的问题
- 短路运算
如果&&的左边结果为false,就不会执行右边的代码 - 位运算的面试题
2*18=16 ,最快的效率算出来,就是利用位运算的<< - 字符串连接符的面试题
字符串在前面,后面不管是什么都只会拼接,如果字符串在后面前面的代码依旧会运算,注意虽然结果不一样,但是返回的结果还是string字符串类型 - 三元运算符
x ?y:z 如果x为true则执行y否则z - 运算的优先级 (了解即可)
开发的过程中优先级最好用(),优先执行,大大提高可读性
包机制,JavaDoc
1.包机制
- 一般利用公司域名倒置作为包名
- 为了使用某个包下的成员,需要用import导入
- package来命名区别类名的命名空间
2.JavaDoc
- javadoc命令是用来生成自己的api文档
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @return 返回情况
- @throws 抛出异常