数据类型拓展
整数拓展
//整数拓展 进制
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F
System.out.println(i);//10
System.out.println(i2);//8
System.out.println(i3);//16
浮点数拓展
//最好完全避免使用浮点数进行比较
//float 有限 离散 舍入误差 大约 接近但不等于
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//false
float d1 = 2323232323f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);//输出 a
System.out.println((int)c1);//输出 97 强制转换
System.out.println(c2);//输出 中
System.out.println((int)c2);//输出 20013
//所有的字符本质还是数字
//编码 Unicode 2个字节 0-65536 输出65536字符
//Unicode表输出对应的值,97 = a ,65 = A
布尔值拓展
//布尔值拓展
boolean flag = true;
if (flag==true){}
if (flag){}//效果一样
//代码要精简易读
类型转换
运算中,不同类型的数据先转化为同一类型,然后进行计算。
低------------------------------------------------------>高
byte,short, char->int->long->float->double
强制类型转换
(类型)变量名 高–>低 需要强制转换
int i = 128;
byte b = (byte)i;
自动类型转换
低---->高
int i = 128;
double b = i;
补充知识点
java中
- ‘’ (单引号):用于表示字符。例如,
char c = 'a';
表示字符a
。单引号只能包含一个字符。 - “” (双引号):用于表示字符串。例如,
String s = "hello";
表示字符串"hello"
。双引号可以包含零个或多个字符
总结:
char
使用单引号('a'
)。String
使用双引号("hello"
)。
变量
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
类变量
//类变量 static
static double salary = 2500;
实例变量
实例变量:从属于对象; 如果不自行初始化,这个类型的默认值0/0.0
局部变量
//局部变量:在方法里使用,,使用之前必须声明和初始化值
常量
1.常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
2.所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名=值;
final double PI=3.14;
3.常量名一般使用大写字符。
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词以外,后面单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则: run(),runRun()
运算符
Java 语言支持如下运算符:
算术运算符:+、-、*、/、%、++、–
赋值运算符:=
关系运算符:>、<、>=、<=、==、!=、instanceof
逻辑运算符:&&、||、!
位运算符:&、|、^、~、>>、<<、>>>
条件运算符:?:
扩展赋值运算符:+=、-=、*=、/=
注意:
如果计算中有一个参数为long那么结果类型也为long
如果没有long,结果都为int