JAVA网络架构入门3—数据类型和数据转换

数据类型

数据类型的作用决定了变量可以存储的数据类型和存储的范围。

数据类型分为基本数据类型和引用数据类型两种,引用数据类型后续我在面向对象阶段再做介绍。

基本数据类型有8种:byte short int long float double char boolean

实际开发过程中常用有int、double类型

byte字节,1字节在计算机内存中占1个字节,8位空间,存储范围-128-127;

1b(1字节)= 8bit:

1kb = 1024b

1Mb = 1024kb

1Gb = 1024Mb

int类型:在内存占用4字节,可以容纳范围:-2147483648 ~ 2147483647(正负21亿)

public class DataTypeDemo01 {
    public static void main(String[] args) {
        int a = 2147483648;//编译报错,超出int类型最大容纳范围
        int b = 5;
        int c = 2;
        System.out.println(b / c);//运行结果为2,不会是2.5
        int b1 = 2147483647;
        int mumber = b1 + 5;
        System.out.println(mumber);//编译不会报错,但是数据有溢出
          }
}

long 是长整数数据类型,在内存中占用8个字节,存储数据范围-900万万亿-900万万亿

long a = 214748364800L;//long类型直接量 需要后缀加上L
long b = 1000000000;//10亿
long c = 1000000000 * 2 * 10L//输出结果200亿
long d = 1000000000 *3 * 10L//有数据溢出,因为10亿*3已超出int类型最大容纳范围
long e = 1000000000L * 3 *10//正确输出

double(双精度浮点数)存储小数类型,是常用的数据类型。占用内存8个字节

public class DataTypeDemo02 {
    public static void main(String[] args) {
        double a = 6.1;
        double b = 4.0;
        System.out.println(a - b);//结果会存在误差
    }
}

char是单个字符类型,在内存中占用2个字节,数据范围是0-65535

需要了解一下Unicode和ASCII码这两个概念

Unicode:收录全球的特殊符号,也称之为万国码,我们使用的是Unicode中最常用的子集,ASCII码表。

        char c = ''';
        char D = '';
        char a = 'A';
        System.out.println(c);//输出'
        System.out.println(D);//输出
        System.out.println(a);//输出A
        System.out.println((int) a);//输出65,ASCII码表,字符A对应的十进制值,计算机在转换为二进制进行识别

boolean是布尔类型,在内存中占用1个字节,里面只能存放true或者false。

这些都比较简单,易于理解。

另外我会根据学习进度逐步分享一些快捷键,这样循序渐进效果会更好一些

CTRL+ALT+L整理代码的快捷键(格式化代码)

CTRL+/ 快速注释掉选中行

类型转换分为自动类型转换和强制类型转换两种

自动类型转换是指小类型赋值给大类型的过程

int a = 10;
long b = a;//发生了自动类型转换
double c = b;//发生了自动类型转换

强制类型转换是指大类型转换为小类型的过程(强制转换有可能造成数据溢出)

long b =2147483648L;
int a = (int)b;//有溢出
double d2 = 3.14;//double类型的数据
int d3 = (int)d2;//将小数转换为整数 不保留小数位.
System.out.println(d3);
        byet b1   = 128;//报错,超出byte最大容纳范围    
        byte b2 = 10;
        byte b3 = 110;
        byte bb = b2 + b3;//编译报错:b2+b3为int类型,而bb为byte类型
        int bbb = b2 + b3;//正确
        byte b4 = (byte)(b2+b3);//正确,强制类型转换,且没有溢出
        byte b5 = (byte)(b2*3 + b3);//正确,强制类型转换,但是有溢出
char c1 = 'A';
char c2 = 'b';
char c3 = c1 + c2;//报错,类型不符
int i1 = c1+ c2;//正确,结果为163
char c4 = (char)(c1+c2);//结果为字符 (十进制值为163)
展开阅读全文

页面更新:2024-04-29

标签:数据类型   小数位   数据   小数   整数   字节   架构   字符   入门   正确   内存   类型   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top