目录
注 释
注释本身并不会被执行,只是为了方便程序员读程序
- 单行注释:只对某一行起注释作用
// 注释内容
- 多行注释:从起点至终点,其间起作用
/*
注释内容
*/
- JavaDoc 文档注释:对整个文档的注释,可加参数
/**
* @Description HelloWorld
* @Author 安然
*
*/
标识符 & 关键字
一、关 键 字
二、标 识 符
类名、方法名、变量名都被成为标识符
注意:
- 标识符可由字母、数字、美元符$、下划线_ 组成,其中,除数字以外都可作为开头
- 不能使用关键字作为变量名或方法名
- 标识符区分大小写
数 据 类 型
一、基 本 类 型
注意:
1、整数
- 直接使用整数时,默认为 int 类型
- 定义为 long 类型时,要在数字后面加 L 或 l (尽量用大写)
例如:
long num = 30L;
2、浮点
- 直接使用小数时,默认为 double 类型
- 定义为 float 类型时,要在小数后面加 F 或 f
例如:
float num = 5.20F;
3、字符
- 用 ' ' 使用单个字符
例如:
char c = '国';
- 字符串用 String 类来定义,用 " "
例如:
String name = "安然";
4、布尔:值为 true 或 false
二、基 本 类 型 的 拓 展
1、整数
- 二进制:0b
- 八进制:0
- 十进制
- 十六进制:0x
输出:
10
8
17
2、浮点数
- 浮点数在计算时,有限、离散、舍入误差、接近但不等于
- 最好完全避免使用浮点数进行比较
- 面试题:针对于银行业务,要使用 BigDecimal 数学工具类
3、字符
- 所有的字符本质还是数字,可强制类型转换为数字并输出
- \u 表示转换
例如:'\u0061' 表示字符 a
- 转义字符
三、引 用 类 型
四、类 型 转 换
1、强制类型转换
- 精确度:高 --> 低
- 格式:(类型)变量名
例如:
int i = 10;
byte b = (byte)i;
2、自动类型转换
- 精确度:低 --> 高
注意:
- 不能对布尔类型进行转换
- 不能把对象类型转换为不相干的类型
- 强制类型转换的时候可能存在内存溢出,或精度问题
变量、常量、作用域
一、变 量
- Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
- 数据类型 变量名 = 值;
- 可用逗号隔开来生命多个同类型变量,但不建议使用
注意:
- 每个变量都有类型,基本类型 or 引用类型
- 变量名必须是合法的标识符
- 变量声明必须是一条完整的语句,以分号结束
二、作 用 域
- 类变量(静态变量):定义在类体中,方法体之外,且用 static 修饰
创建对象时,不会自动初始化
与类共存亡
- 实例变量:定义在类体中,方法体之外,无 static 修饰
从属于对象,无需初始化即可使用
创建对象时,会自动初始化为默认值
- 局部变量:定义在方法体中
只在其所在的大括号内起作用,且必须声明和初始化值
三、常 量
- 初始化之后不能再改变的值
- final 变量类型 变量名 = 值;
final double PI = 3.14;
- 常量名一般用全大写
四、变量的命名规范
- 类成员变量:首字母小写 & 驼峰原则:monthSalary
- 局部变量:首字母小写 & 驼峰原则
- 常量:大写字母 & 下划线:MAX_VALUE
- 类名:首字母大写 & 驼峰原则:Man,GoodMan
- 方法名:首字母小写 & 驼峰原则:run(), runRun()
运 算 符
1、算数运算符
- + :最终结果的类型为最高精度,
若最高精度低于 int,则最终结果类型为 int
也可作为字符串连接符
面试题
int a = 10;
int b = 20; //当遇到字符串时,再全部转换为字符串
System.out.println("" + a + b); // 1020
System.out.println(a + b+ ""); // 30
- % :取余 / 模运算
2、关系运算符
- 结果为布尔类型
- instanceof 为判断对象
A a = new A();
B b = new B();
System.out.println(a instanceof A); // true
System.out.println(b instanceof B); //true
System.out.println(a instanceof B); //false
System.out.println(b instanceof A); //false
3、逻辑运算符
- 短路运算:按优先级进行计算,如果某一表达式已经可以确定整个式子的值,则不再进行其后的运算
4、位运算符(逐位比较)
- & :与
当二者都为1时才为1,否则为0
- | :或
当二者都为0时才为0,否则为1
- ^ :异或
当二者相同时为0,不同时为1
- ~ :取反
0变1,1变0
- >> 和 << :左移 和 右移
>> 相当于 / 2
<< 相当于 * 2
(之后详细整理一下>>、<<、>>>)
- 面试题:如何高效率地计算 2 * 8 ?
使用 << 操作
5、三元运算符
- x ? y : z
若 x 为 true,则结果为 y,否则为 z
包 机 制
一、自 定 义 包
1、目的:更好地组织类,区别类名的命名空间
2、格式:package pkg1[ .pkg2 [ .pkg3 ... ] ] ;
3、规范:
- 命名:一般利用公司域名倒置作为包名
例如:com.baidu.www
- 位置:非注释的第一行
二、引 入 包
1、格式:import pkg1[ .pkg2 [ .pkg3 ... ] ] ;
import pkg1.* ; //表明引入 pkg1 下的所有类
2、规范:有 package 时放在非注释第二行,无 package 时放在第一行
注意:导入包时避免类名重复
JavaDoc
一、文 档 注 释
1、类别
- 类注释:类体之外
- 方法注释:类体内,方法体外
2、参数
二、javadoc生成文档
- 命令行方式
(1)打开该文件所在目录
(2)命令行输入 javadoc -encoding UTF-8 -charset UTF-8 Doc.java
注意:-encoding UTF-8 -charset UTF-8 为了防止中文出现乱码而加入的参数
Doc.java 需要生成文档的文件
- IDEA方式
狂神说Java
总 结
今天的学习总的来说还可以,从最初的方向再开始仔细学,希望这次,我们能走的更远更深刻。
如果确定了方向,还是要坚定的选择自己的路,旁人的言论,听听作罢,最终的决定权还是掌握在自己的手中!