进制
二进制 0b 十进制 八进制0 十六进制0x
在数字前添加前缀
浮点拓展
float 有限 离散 舍入误差 大约 接近但不等于
BigDecimal
float f =0.1;
double d=1.0/10;
System.out.println(f==d);//输出结果为flase
float d1=231542125462f;
float d2=d1+1;
System.out.println(d1==d2);//true
System.out.println("Hello world");
字符拓展
char c1='a';
char c2='中';
int c3=int(c1);
char c4='\u0061';
字符本质为数字
编码 Unicode 2字节 0-65536
转义字符
\t 制表符
\n 换行
布尔值拓展
boolean flag =true;
if(flag){}
类型转换
在运算中不同类型的数据先转换成同一类型,然后进行运算
强制转换 (类型)变量名 从高到低需要强制类型转换
自动转换 从低到高
- 不能对布尔型进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制类型转换
- 转换的时候可能存在内存溢出,或者精度问题
变量
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}];
- 每个变量都有类型 (基本类型、引用类型)
- 变量名必须为合法的标识符
- 变量的声明是一条完整的语句
变量在声明的时候建议一个一个声明
驼峰原则
变量作用域
类变量 static(静态)
实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u000 null 布尔值默认为false
局部变量
常量
final
常量名一般使用大写
//修饰符,不存在先后顺序
运算符
当除Long类型的整数进行运算的时候默认为int
一元运算符(自增、自减)
++ –
int a=10;
a=a++;//先进行赋值在进行自增
a=++a;//先进行自增在进行赋值
逻辑运算符
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(b&&a));//两真为真
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
//d=false c=5
位运算效率比较高
三元运算符
//x? y: z
//如果 x==true 则结果为y否则为z
包机制
包机制用于区别类名的命名空间
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名
为了使用包的成员,我们需要明确导入要使用的包
尽量不要使用重名的类
导入要使用的包
import
import package1[.package2...](classname|*);
尽量不要使用重名的类