01
注释
书写注释是一个好习惯!
Java中的注释有三种:
- 单行注释
- 多行注释
- 文档注释
02
标识符
1、关键字:
概念:Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
2、书写标识符的注意事项
- 所有标识符都应该以字母(A-Z或a-z),美元符($)、下划线(_)开头。
- 首字符之后可以是字母(A-Z或a-z),美元符($)、下划线(_)或数字的任意组合。
- 不能使用关键字作为变量或者方法名...
- 标识符是大小写敏感的。
- 可以使用中文或拼音命名,但是非常不建议!
03
数据类型
注:Java是一种强类型的语言,要求变量的使用严格符合规定,所有变量都必须先定义后才能使用。
知识拓展:
- 进制:二进制 0b、十进制、八进制 0、十六进制 0x,前面加上对应的内容,以表示不同的进制。
- 例如,银行业务涉及到大量小数的数据,在使用float和double时会遇到问题。浮点数是有限的、离散的、存在舍入误差、接近但不相等,所以最好完全避免使用浮点数进行比较。要使用数学工具类里的BigDecimal类。
- 转义字符:
04
类型转换
由于Java是强类型语言,所以某些运算需要用到类型转换。转换分为强制类型转换和自动类型转换。
在运算中,不同类型的数据先转化为同一类型,然后进行计算,转化的优先级规则符合上图。
强制类型转换使用(),但要注意内存溢出的情况,例如:
原因,通过源码可以看到,byte类型可以表示的范围是-128 - 127:
注意事项:
- 不能对布尔值进行转换。
- 不能把对象类型转换为不相干的类型。
- 在把高容量转换到低容量的时候,要强制类型转换。
- 转换的时候可能存在溢出或者精度问题,操作比较大的数的时候也要注意溢出问题。
05
变量、常量、作用域
1、变量
概念:可以变化的量。在Java中,每个变量都必须声明其类型。变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
例如:
public class Demo { public static void main(String[] args) { int a = 1; int b = 2; int c = 3; String name = "秃然编程"; char i = '我'; char j = '是'; char k = '谁'; }}
2、常量
概念:不会变动的值,初始化后不能再改变值。可以理解为一种特殊的变量,它是值被设定后,在程序运行过程中不允许被改变的。
例如:
/** *@Author 秃然编程 */public class Demo { static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); }}
3、作用域
变量作用域:类变量、实例变量、局部变量
例如:
public class Demo { /* 实例变量:从属于对象 如果不自行初始化,会输出这个类型的默认值 数值型:0 、 0.0,布尔值:false 除基本类型,其余默认值为null */ String name; int age; //类变量 static static double salary = 10000; public static void main(String[] args) { //局部变量:必须声明和初始化,其生命周期只在这个大括号内。 int i = 666; System.out.println(i); //使用实例变量 Demo demo = new Demo(); System.out.println(demo.name); System.out.println(demo.age); //使用类变量 System.out.println(salary); } public void other(){ System.out.println(); }}
输出的结果为:
关于命名规范:
① 所有变量、方法、类名要做到见名知意
② 类成员变量:首字母小写和驼峰命名法,例:monthSalary
③ 局部变量:首字母小写和驼峰命名法
④ 常量:大写字母和下划线,例:MAX_VALUE
⑤ 类名:首字母大写和驼峰命名法
⑥ 方法名:首字母小写和驼峰原则
06
运算符
- 算术运算符:+ , - , * , / , % , ++ , --
- 赋值运算符:=
- 关系运算符:> , < , >= , <= , == , !=instanceof
- 逻辑运算符:&& , || , !
- 位运算符:& , | , ^ , ~ , >> , << , >>>
- 条件运算符: ? :
- 扩展赋值运算符:+= , -= , *= ,/=
- 有很多运算需要用到工具类操纵,比如Math中有很多的方法。
短路运算:当运算符左边的关系运算结果是false时,不再对右边的关系运算进行计算。
public class Demo { public static void main(String[] args) { int a = 5; boolean b = (a < 4) && (a++ < 4); System.out.println(a); System.out.println(b); }}
输出的结果是:5 false
位运算:效率高。
public class Demo { public static void main(String[] args) { //快速运算2 * 8 = 16 System.out.println(2 << 3); }}
字符串连接符 :+ ,存在字符串类型时,还要注意运算的顺序:
public class Demo { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("秃然编程" + a + b); System.out.println(a + b + "秃然编程"); }}
结果:
三元运算:x ? y : z 如果x == true,则结果为y,否则结果为z。
07
包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
一般利用公司域名倒置作为包名,例如cn.sunfanshen.www
为了能够使用某一个包的成员,需要在程序中明确导入该包。使用import语句:
08
JavaDoc
JavaAPI文档,JDK8的查看地址:https://docs.oracle.com/javase/8/docs/api/
中文文档,分享地址:https://www.52pojie.cn/thread-595074-1-1.html
常用的参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
使用命令行生成文档:javadoc -encoding UTF-8 -charset UTF-8
阿里巴巴Java开发手册
下载地址:
https://developer.aliyun.com/topic/java2020?utm_content=g_1000113416