JAVA学习一
注释
单行注释://注释内容
多行注释:/* 注释内容 */
文档注释:/**
*
*
*/
标识符
标识符:类名、变量名以及方法名都被称为标识符
关键字:电脑语言里事先定义的,有特别意义的标识符,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
数据类型
基本类型
整数类型:byte(字节型,占一个字节),short(短整型,占两个字节),int(整型,占四个字节),long(长整型,占八个字节,数值后面要加上L来区分)
浮点类型:float(单精度数据类型,占四个字节,数值后面要加上F来区分),double(双精度数据类型,占八个字节)
字符类型:char(字符类型,占两个字节)
字符串类(也可以当数据类型来使用):String
boolean类型:值只有true和false
数据值类型按照范围从小到大为:
byte,short,int,long,float,double
注:数字之间可以用(_)下划线分割,下划线不会输出。
溢出问题
操作比较大的数的时候,注意溢出问题
eg:
int money =10_0000_0000; int years = 20; int total1 = money*years; System.out.println(total1);//输出结果为-1474836480,发生了溢出 long total2 = money*years; System.out.println(total2);//输出结果仍为-1474836480,转换之前的计算已经发生了溢出。 long total3 = money*((long)years);//先把一个数转化为long,计算时就会发生自动转换,使结果为long类型 System.out.println(total3);//输出结果为20000000000
引用类型
类,接口,数组
数据类型扩展
整型的进制表示方法:
-
二进制:0b+数值
-
十进制:直接数值
-
八进制:0+数值
-
十六进制:0x+数值
浮点数扩展:
float类型的特点:有限、离散、舍入误差、大约、接近单不等于
例:银行业务怎么表示钱?
不能使用浮点数表示钱,使用BigDecimaL(数学工具类)
重点:最好完全避免使用浮点数进行比较
字符扩展:所有的字符本质还是数字,可以通过强制转换成int型来实现。
Unicode编码表:一个数字代表一个字符
eg:char c ='\u0061';
System.out.println(c);
输出结果为:a
String a = new String("A"); String b = new String("A");//ab分配的是两块不同的内存空间,ab指向的是两个不同的地址 System.out.println(a==b); String c = "A"; String d = "A";//分配的是同一块内存空间,cd指向的是同一个地址 System.out.println(c==d);
运行结果:
false
true
转义字符:
强制转换
强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型。(由于数据类型只能自动由取值范围小向取值范围大的类型进行转换)
格式:
范围大的类型 范围大的变量名=数值;
范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;
自动类型转换:由取值范围小向取值范围大的类型进行转换
数据值类型按照范围从小到大为:
byte,short,char,int,long,float,double
注:
-
对于数值类型,整型和浮点型都是彼此兼容的,但是数值类型和字符类型和布尔类型是不兼容的,字符类型和布尔类型也不是互相兼容的。boolean类型不能发生数据类型转换。
-
运算时,不同类型的数据先转化为同一类型,然后进行运算。
-
转换时,尽量不要发生内存溢出,尽量不要发生太大的精度丢失。
-
不能对布尔类型进行强制转换
-
不能把对线类型转换为不相干的类型