Java 基础
注释
单行注释
//单行注释
多行注释
/*
多行注释
多行注释
*/
文档注释
/**
*文档注释
*/
标识符
- 只能以字母、$、_开头
- 首字符之后可以是字母、$、_、数字的组合
- 不能使用关键字作为变量名或方法名
- 大小写敏感
关键字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
数据类型(Java是强类型语言)
1 基本数据类型
1.1 数值类型
1.1.1 整数类型
二、八、十、十六进制:0b、 、0、0x
- byte : 1个字节(8位)-128~127
- short : 2个字节 ,-32768~32767
- int : 4个字节
- long : 8个字节(long类型要在数字后面加个L long a = 30L)
1.1.2 浮点类型(小数)
有限、离散,存在舍入误差,接近,接近但不等于,最好完全避免使用浮点数进行比较
所以银行业务不使用浮点数表示,而是使用BigDecimal这个数学工具类
- float : 4个字节(float类型要在数字后面加个F long a = 30F)
- double : 8个字节
1.1.3 字符类型
所有字符本质还是数字
常见转义字符
\t | 制表符 |
---|---|
\n | 换行符,将光标移动到下一行开头 |
\\ | \ |
\" | " |
\' | ' |
\r | 回车符,光标移到行首,如’\r’后面还有内容会覆盖原来的内容 |
? | ? |
- char : 2个字节
1.2 boolean类型
- 只能取值为true或false
2 引用数据类型
-
类
-
接口
-
数组
类型转换
运算中,不同类型的数据先转换为同一类型,然后再进行运算。
低-->高 |
---|
byte,short,char->int->long->float->double |
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 再把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出或精度问题
强制类型转换(高-->低)
(需转换的类型)变量名 //注意避免内存溢出
自动类型转换(低-->高)
变量
变量作用域
类变量
关键词static
实例变量
从属于对象,默认值为
数值 | 布尔值 | else |
---|---|---|
0或0.0 | false | null |
局部变量
必须声明和初始化值
常量
final 常量名=常量值
运算符
算术运算符 | +,-,*,/,%,++,-- |
---|---|
赋值运算符 | = |
关系运算符 | >,<,>=,<=,==,!=,instanceof |
逻辑运算符 | &&,||,! |
位运算符 | &,|,^(异或),~,>>(右移),<<,>>> |
条件运算符 | ? :(x ? y : z, 如果x==true,则结果为y,否则为z) |
扩展赋值运算符 | +=,-=,*=,/= |
字符串连接符 | + |
int b = a++; //先给b赋值,a再自增
int b = ++a; //a先自增,再给b赋值
2*8怎么运算最快? 2<<3,左移3位(位运算效率高)
int a = 10, b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&= | 从右向左 |
14 | |=、^=、~=、«=、»=、>>>= | 从右向左 |
包机制
一般利用公司域名倒置作为包名:cn.edu.bupt.www
JavaDoc
- javadoc命令是用来生成自己API文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早适合用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况