注释
三种注释
-
单行
-
多行
- /*
- */
-
文档
-
/**
-
*/
-
有趣的代码注释
/***
-
_ooOoo_
-
o8888888o
-
88" . "88
-
(| -_- |)
-
O\ = /O
-
____/`---'\____
-
. ' \\| |// `.
-
/ \\||| : |||// \
-
/ _||||| -:- |||||- \
-
| | \\\ - /// | |
-
| \_| ''\---/'' | |
-
\ .-\__ `-` ___/-. /
-
___`. .' /--.--\ `. . __
-
."" '< `.___\_<|>_/___.' >'"".
-
| | : `- \`.;`\ _ /`;.`/ - ` : | |
-
\ \ `-. \_ __\ /__ _/ .-` / /
-
======`-.____`-.___\_____/___.-`____.-'======
-
`=---=' *
-
.............................................
-
佛祖保佑 永无BUG */
————————————————
版权声明:本文为CSDN博主「Mr_YDK」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ydk888888/article/details/81563608
标识符和关键字
- 大小写字母 美元$ 下划线 开始
- 关键字不能命名 大小写敏感
数据类型
-
强类型语言
-
所有变量 必须先定义在使用
java的数据类型分为;两大类
-
基本类型(primitive type)
- 整数类型
- 浮点类型
- 字符类型 char
-
引用类型(reference type)
数据类型扩展
进制的表示
二进制:以0b开头,填充的值为0,1
八进制:以0开头,填充的值为0,1,2,3,4,5,6,7
十六进制:以0x开头 填充的值为0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
// 二进制
int a = 0b0010;
int a1 = 0b0012; // 错误 二进制填充的值为0,1
System.out.println(a); // 2
// 八进制
int b = 0010;
int b1 = 0018; // 错误 八进制填充的值为0,1,2,3,4,5,6,7
System.out.println(b); // 8
// 十六进制
int c = 0x0010;
int c1 = 0x001h; // 错误 十六进制填充的值为0,1,2,3,4,5,6,7,8,9,a,b,c,e,f
System.out.println(c); // 16
public class Hello04 {
public static void main(String[] args) {
int i = 10;
int i1 = 010;
int i2 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i1);
/* 10
16
8
*/
}
}
使用浮点数会精度缺失
银行业务不用浮点数标识 使用BigDecimal
字符型 (int)强制转换
char c1 = 'a';
char c2 = '中';
char c3 = '\u0061';
System.out.println((int) c1);
System.out.println(c1);
System.out.println((int)c2);
System.out.println(c3);
/*
97
a
20013
a
*/
转义字符 \t空格 \n换行
布尔值扩展
Boolean flag = true;
if (flag){
}
类型转换
-
不能对布尔类型的转换
-
高转低强制转换
-
转换会存在精度问题
溢出 超出
-
Java的基本数据类型包括八种:
整数类型(byte,short,int, long)
浮点数类型(double,float)
布尔类型(bool ean)
字符类型(char)
类型从小到大依次为:
byte short int long float double
(char)
1.JAVA基本类型之间转换的两种方式:
1).自动(隐式)类型转换:从小类型到大类型,不需要强制转换符
此处将int类型变量a的值赋值给double类型变量b,因为是小类型转换成大类型,int类型变量a的值会自动转换成double类型并赋值给变量b
2).强制类型转换:从大类型到小类型,需要强制转换符实现强制转换
强制转换符:(需要转换成的类型)变量
此处将double类型变量a的值赋值给int类型变量b,因为是大类型转换成小类型,需要强制转换符先将double类型变量a的值转换成int类型再赋值给int类型变量b
2.关于byte、short、char赋值与运算的强转规则:
1).不参与运算,整数直接量可以直接赋值给byte,short,char,不需要强转。
2).byte,short,char型变量参与运算时,需要强转
b1与b2不参与运算,整数直接量可以直接赋值给byte;参与运算后,b1+b2和的值默认为int类型,需要强制转换成byte类型再赋值给byte类型变量b3
END
注意事项
- 强转有可能产生精度丢失
- 例如:double类型变量a的值为5.123,强制转换成int类型后数值为5,小数位舍弃,产生了精度丢失。
变量
实例变量
不初始化 默认为0 0.0
布尔 为 false
其余为空
类对象
使用static关键字 不用 new 类
局部变量
必须先声明 并赋予初始值
常量
final 关键字 定义的变量大写 final double PI = 3.14;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5nSLVaJn-1616422177355)(C:\Users\AppData\Roaming\Typora\typora-user-images\image-20210322211217375.png)]
运算符
operator
public static void main(String[] args) {
int a = 3;
int b = a++; //先赋值 再加加
// a = a+1;
// a = 4
int c = ++a; //先加加 再赋值
// a = a+1;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
/* 5
3
5*/
&& ||
与或非运算符
短路运算
int a = 3;
boolean d = (a<3) && (a++>a);//第一个条件不成立 第二个条件不执行 反之a= 4
System.out.println(d);
System.out.println(a);
/* false
3*/
位运算
// 位运算 2*8
System.out.println(2<<3);
//16
三元运算符
System.out.println(a+b+""); //加和
System.out.println(""+a+b); //拼接
javaDoc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8cKYIJz0-1616422177357)(C:\Users\AppData\Roaming\Typora\typora-user-images\image-20210322220632207.png)]