数据类型
强类型语言
所有的变量都是必须严格符合规定,所有的变量必须先定义后才可以使用
整数扩展:
public class Demo{
public static void main(String[] args){
//整数拓展 进制 二进制 八进制 十进制 十六进制
int a0 = 0b; //二进制
int a1 = 10; //十进制平时都是十进制 10
int a2 = 010; //八进制0 8
int a3 = 0x10; //十六进制0x 0-9 A-F 16
int a4 =
}
}
浮点数扩展
public class Demo{
public static void main(String[] args){
float f =0.1f; //0.1
double d= 0.1; //0.1
//虽然都是0.1,但是f跟d是不相等的。涉及精度问题
float d1 = 2123123f; //2123123
float d2 = 1+d1; //2123124
//虽然d1不等于d2,但是他们是会相等
}
}
float 有限 离散 舍入误差 大约 接近不等于
double
最后完全不要使用浮点数去比较,因为浮点数存在精度问题,会出现一些意想不到的错误。
如果是银行业务。应该使用BigDecimal这个类。
字符扩展
public class Demo{
public static void main(String[] args){
char c1 ='a';
System.out.println((int)c1); //强制转换
/*
输出为97,
所有的字符本质还是数字
根据编码unicode表查询,2字节,65536,2的16次方
u0000 uFFFF
*/
char c2 = '\u0061';// \u开头代表用unicode表查询0061位是大写的A
System.out.println((c2); //强制转换
//输出大写A
}
}
转义字符
public class Demo{
public static void main(String[] args){
System.out.println("hello\tworld")
/*
输出为hello world
\t 空格
\n 换行
···
有很多转义字符,java输出都支持转义字符
*/
}
}
课外支持
public class Demo{
public static void main(String[] args){
System.out.println("hello\tworld")
String s1 = new String(orginal "hello")
String s2 = new String(orginal "hello")
s1 == s2 //输出flast 由于内存问题,他们虽然一样的
}
}
布尔值扩展
public class Demo{
public static void main(String[] args){
boolean flag =ture
if (flag){}//老手
if (flag==ture){}//新手
//两个写法是一样的
}
}