目录
3.Java程序中变量声明为int型,除非不足以表示大数,才使用long
5.通常情况下,应该使用 double 型,因为它比 float 型更精确。
一、数据类型
基本数据类型有 8 中 数值型 [byte , short , int , long , float ,double] char , boolean
二、整数类型
1.基本介绍
2.整型的使用细节
1.Java各整数类型有固定的范围和字段长度,不受具体os[操作系统]的影响,以保证java程序的可移植性
2.Java的整型常量(具体值)默认为int型,声明long型常量须后加'l'或'L'
(编译器先读取1L,发现字节有8个,将它放进int发现放不下,即报错。)
代码:
public class IntDetail {
//编写一个 main 方法
public static void main(String[] args) {
//Java 的整型常量(具体值)默认为 int 型,声明 long 型常量须后加‘l’或‘L’
int n1 = 1;//4 个字节
//int n2 = 1L;//对不对?不对
long n3 = 1L;//对
}
}
3.Java程序中变量声明为int型,除非不足以表示大数,才使用long
4.bit:计算机中的最小存储单位
byte:计算机中基本存储单元
1byte = 8 bit
三、浮点类型
1.基本介绍
2.浮点型的分类
- 浮点数=符号位+指数位+尾数位
- 尾数部分可能丢失,造成精度损失(小数都是近似值)。
3.浮点型的使用细节
1.Java各浮点类型有固定的范围和字段长度,不受具体os[操作系统linux、mac、]的影响,以保证java程序的可移植性
2.Java的浮点型常量(具体值)默认为double型,声明float型常量须后加'f'或'F'
(float=1.1为错误,浮点型数值默认为double型,则1.1为double型,为8字节,放入float中,发现放不下,即报错)
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {
//Java 的浮点型常量(具体值)默认为 double 型,声明 float 型常量,须后加‘f’或‘F' //float num1 = 1.1; //对不对?错误
float num2 = 1.1F; //对的
double num3 = 1.1; //对
double num4 = 1.1f; //对
4.浮点型常量有两种表示形式
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式: 5.12e2【5.12*10的2次方=512.0】
5.12E-2【5.12/10的2次方或5.12*10的-2次方=0.0512】
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {
//十进制数形式:如:5.12 512.0f .512 (必须有小数点)
double num5 = .123; //等价 0.123
System.out.println(num5);
//科学计数法形式:如:5.12e2 [5.12 * 10 的 2 次方 ] 5.12E-2 []
System.out.println(5.12e2);//512.0
System.out.println(5.12E-2);//0.0512
}
}
5.通常情况下,应该使用 double 型,因为它比 float 型更精确。
double num9 = 2.1234567851;
float num10 = 2.1234567851F;
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {
//通常情况下,应该使用 double 型,因为它比 float 型更精确。
//[举例说明]double num9 = 2.1234567851;float num10 = 2.1234567851F;
double num9 = 2.1234567851;
float num10 = 2.1234567851F;
System.out.println(num9);
System.out.println(num10);
}
}
6.浮点数使用陷阱: 2.7 和 8.1 / 3 比较
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {double num11 = 2.7;
double num12 = 8.1 / 3; //2.7
System.out.println(num11);//2.7
System.out.println(num12);//接近 2.7 的一个小数,而不是 2.7
}
}
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {double num11 = 2.7;
double num12 = 8.1 / 3; //2.7
System.out.println(num11);//2.7
System.out.println(num12);//接近 2.7 的一个小数,而不是 2.7
//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断是,要小心
//应该是以两个数的差值的绝对值,在某个精度范围类判断
if( num11 == num12) {
System.out.println("num11 == num12 相等");
}
//不输出这句话
//正确的写法 , ctrl + / 注释快捷键, 再次输入就取消注释
if(Math.abs(num11 - num12) < 0.000001 ) {
System.out.println("差值非常小,到我的规定精度,认为相等...");
System.out.println(Math.abs(num11 - num12));
//细节:计算num11-num12的绝对值的差值,如果是直接查询得的的小数或者直接赋值,是可以判断相等
//通过Java API来看
}
}
四、字符类型(char)
1、基本介绍
2 、代码 Char01.java
public class Char01{
public static void main(String []args){
char c1 = 'a';
char c2 = 97;
char c3 = 'a';
char c7 = 'a' + 1;
char c4 = '韩';
char c6 = 38889;
System.out.println(c1);//a
System.out.println((int)c1);//97
System.out.println(c1+1);//98
System.out.println((char)(c1+1));//b
System.out.println(c2);//a
System.out.println(c7);//b
System.out.println((int)c7);//98
System.out.println(c4);//韩
System.out.println((int)c4);//38889
System.out.println(c6);//韩
}
}
运行:
3 字符类型使用细节
1.字符常量是用单引号(’ ‘)括起来的单个字符。
例如:char c1 = ’a‘;char c2 = '陈';char c3 =‘9’;
char c3 = '99';报错
单引号括起来的字符常量只能包含一个字符,而char类型只能存储一个字符。因此,char c1='9'可以正常运行,因为它只包含一个字符'9'。而char c1='99'会导致编译器错误,因为它包含两个字符,无法存储在一个char类型变量中。
2.使用转义字符‘\’来将字符转变为特殊字符型常量
例如:char c3 = ‘\n’; // '\n'表示换行符
3.在 java 中,char 的本质是一个整数,在默认输出时,是 unicode 码对应的字符;
要输出对应的数字,可以(int)字符
4.char 类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码.
unicode网址:最全unicode编码_unicode码_LemonWatermelon的博客-CSDN博客
ascii网址:ascii码对照表 - 最完整的ASCII编码表
4.字符编码表
4.1 ASCCI 编码
4.2 Unicode编码
4.3 UTF-8 编码
五、布尔类型:boolean
代码:
public class Boolean01 {
//编写一个 main 方法
public static void main(String[] args) {
//演示判断成绩是否通过的案例
//定义一个布尔变量
boolean isPass = true;//
if(isPass == true) {
System.out.println("考试通过,恭喜");
} else {
System.out.println("考试没有通过,下次努力");
}
}
}