01.注释
// 单行注释 /* */ 多行注释 /** */ 文档注释
02.标识符和关键字
1.所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始。
2.首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何字符组合。
3.不能使用关键字作为变量名或方法名。
4.java中对于字母的大小写很敏感。
5.合法标识符举例:csdn,$saly,_value
非法标识符举例:123abc,-saly,#abc,*jsjs
可以使用中文命名,但是一般不建议使用。
03.数据类型
强类型语言:要求变量严格符合规定,所有变量必须在定义后使用。
public class 滴 {
public static void main(String[] args) {
String a=10;
System.out.println(a);
}
}
放在IDEA中会报错,因为10是一个int型,而String a=10,a为字符串即将10改为"hellow"即可。
String a="hellow"
java分为两种数据类型:
◆位(bit) :是计算机内部数据储存的最小单位,11001100是- 个八位二进制数。
◆字节(byte) :是计算机中数据处理的基本单位,习惯上用大写B来表示,byte占一个字节即2^8(-128+127,转化为十进制)
◆1B (byte,字节) = 8bit (位)
◆字符:是指计算机中使用的字母、数字、字和符号
◆float是有效数字八位(自己的理解)
float a=10.003346516f;
System.out.println(a);//10.003347
float a=101616.003346516f;
System.out.println(a);//101616.0
基本数据扩展:
(1)整数类型
int i=10;//二进制
int i2 = 010; //八进制 0
int i3 = 0x11; //十六进制 0x
0~9 A~F F=16
System.out.println(i);
System.out.print1n(i2);
System.out.println(i3);
结果:i=2
i2=8
i3=17
(2)浮点数类型有舍入误差,精确计算时会四舍五入。
float f = 0.1f;
double d = 0.1/10;
System.out.println(f);//返回值为0.1
System.out.println(d);//返回值为0.1
System.out.println(f==d);//返回值为false
float f = 2323232323232323f;
double d = f+1;
System.out.println(f);//返回值为2.32323237E15
System.out.println(d);//返回值为2.32323236757504E15
System.out.println(f==d);//true
解决方法:在要求高精度计算时使用BigDecimal进行计算,BigDecimal是一个数学工具类。
(3)字符拓展
char f = '尚';
char d = 'S';
System.out.println(f);//返回值为:尚
System.out.println((int)f);//返回值为:29579
System.out.println(d);//返回值为:S
System.out.println((int)d);//返回值为:87
返回值是数字,说明底层字符类型实际上在本质上还是数字。
(4)转义字符
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
04.数据类型转换
1.自动转换:低到高自动转换
2.强制转换:高到低需要用 (类型)变量名 进行转换
低(精度)-------------------------------------高
byte、short、char < int < long < float < double
自动转换例子-int转换double:
public class Demo01{
public static void main(String[] args){
int a = 1;
double b = a;
System.out.println(a);//输出结果:1
System.out.println(b);//输出结果:1.0
}
强制转换例子:float转换int:
public class 滴 {
public static void main(String[] args) {
float a=10.0033f;
int b=(int)a;
System.out.println(a);//a为10.0033
System.out.println(b);//b为10
}
}
注意点:
1.不能对布尔值进行转换,因为布尔值按位存储,运算逻辑有问题。
2.不能把对象类型转为不相干类型。(人不能转化成猪,但是字符可以转化为数字,因为字符的底层就是数字。)
3.在把大容量转为低容量的时候用强制转换。
4.转换的时候可能存在内存溢出或者精度问题。
public class Demo03{
public static void main(String[] args){
int a = 128;
byte b = (byte)a;
System.out.println(a);//输出结果:128
System.out.println(b);//输出结果:-128 内存溢出,因为byte类型范围只有-128-127,所以在超出范围之后会输出最大范围值
}
}
public class Demo03{
public static void main(String[] args){
double a = 12.21238;
System.out.println((int)a);//输出结果:12 精度不准在double转int的时候把小数点后的数值忽略了
}
}