Java 数据类型

一 Java 的数据类型

Java数据类型

二 整数类型

类型占用存储空间范围
byte[字节]1字节-127~127
short[短整型]2字节-215~215-1 即 -32768~ 32767
int[整型]4字节-231~231-1 即 -2147483648~2147483647
long[长整型]8字节-263~263-1

字节 byte是计算机存储单位的基本单元,通常由8个比特(bit)组成。每个比特可以表示0或1。

整型在java中的使用
byte n1 = 1;
short n2 = 2;
int n3 = 3;
long n4 = 4;
整型的细节
  • Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证java程序的可移植性。
  • Java的整型常量(具体值)默认为int型,声明long型常量须后加lL
  • Java程序中变量常声明为int型,除非不足以表示大数,才使用long
  • bit: 计算机中的最小存储单位。byte:计算机中基本存储单元,1byte =8 bit。

思考

  1. byte / short / int / long 分别有多少字节?
    byte 8个字节
    short 16个字节
    int 32个字节
    long 64 个字节
byte n1 = 3;
int n2 = 4;

在内存中的的表现形式:
内存占用

三 浮点型

Java 的浮点类型可以表示一个小数, 比如 123.4 , 7.8 , 0.12 等等

类型占用存储空间范围
单精度 float4字节-3.403E38~3.403E38
双精度 double8字节-1.798E308~1.798E308

E通常表示指数形式。例如,1.798E308表示1.798乘以10的308次方,而-1.798E308表示-1.798乘以10的308次方。

说明:

  1. 浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
  2. 尾数部分可能丢失, 造成精度损失(小数都是近似值)。
浮点型在java中的使用
// float n1 = 3.14; 错误写法
float n1 = 3.14F;
double n2 = 3.14;
浮点型细节
  • Java 的浮点型常量(具体值)默认为double型,声明float型常量,须后加fF
  • 浮点型常量有两种表示形式
    • 十进制数形式:如:5.12 5.12.0f .512(必须有小数点)
    • 科学计数法形式:如:5.12e2 [5.12*10的2次方] 5.12E-2 [5.12/10的2次方]
  • 通常情况下,应该使用double型,因为它比float型更精确。
  • 浮点数使用陷阱: 比较 2.7 和 8.1/3 的结果是否相等
		double n1 = 2.7;
        double n2 = 8.1 / 3;
        System.out.println("n1="+n1);
        System.out.println("n2="+n2);

输出结果:
n1=2.7
n2=2.6999999999999997  // 接近 2.7 的一个小数, 而不是 2.7

当我们对运算结果是小数的进行相等判断是, 要小心应该是以两个数的差值的绝对值, 在某个精度范围类判断

// 错误写法
if( n1 == n2) {
	System.out.println("num11 == num12 相等");
}

// 正确写法
if(Math.abs(num11 - num12) < 0.000001 ) {
	System.out.println("差值非常小,在规定精度范围内,认为n1 和 n2 相等...");
}

如果是直接查询得的的小数或者直接赋值, 可以判断相等

四 字符型

字符类型可以表示单个字符,字符类型是 char, char 是两个字节(可以存放汉字), 多个字符我们用字符串 String

字符型细节
  • 字符常量必须使用单引号引起来,不能使用双引号,否则会报错,双引号认为是字符串。
  • Java中还允许使用转义字符来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n'; // '\n'表示换行符
  • 在java中,char的本质是一个整数,在输出时,是unicode码 1 对应的字符。
  • 可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出[100]
  • char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码
public class CharDetail {
    public static void main(String[] args) {
        
        // 1.字符常量必须使用单引号引起来,不能使用双引号,否则会报错,双引号认为是字符串。
        char c1 = '中';
        // 2.Java中还允许使用转义字符来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n'; //'\n'表示换行符

        // 3.在java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
        // http://tool.chinaz.com/Tools/Unicode.aspx
        char c2 = 98;
        System.out.println(c2);

        char c3 = 'b';
        System.out.println((int)c3);

        char c4 = '龙';
        System.out.println((int)c4);

        char c5 = 40857;
        System.out.println(c5);
        // 4.可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出[97]

        // 5.char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.
        System.out.println('a'+10); //107

        char c6 = 'b' +1;
        System.out.println((int)c6); // 99
        System.out.println(c6); // c
    }
}

五 布尔型

.布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null

布尔型细节
  • boolean类型占1个字节。
  • booolean类型数据只允许取值true和false
  • boolean 类型适于逻辑运算,一般用于程序流程控制
public class Bollean {
    public static void main(String[] args) {
        // 判断成绩是否通过
        boolean isPass = false;
        if (isPass == true){
            System.out.println("考试通过,恭喜");
        } else {
            System.out.println("考试没有通过,下次努力哦~");
        }
    }
}

  1. http://tool.chinaz.com/Tools/Unicode.aspx ↩︎

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值