从零开始复习Java-数据类型

数据类型

强类型语言

要求变量的使用要严格符合规定,变量要先定义后才能使用 如 Java c

安全性好,处理速度慢

弱类型语言

JS和VB也是弱类型语言

例如'12'+3 = 123字符串和整型可以直接计算的

python swift 写起来是真的舒爽,大三上期安了个黑苹果写IOS应用开发,就感觉自由度高的很,分号都不用写。但最后还是觉得java这种把变量规定好的舒适度高,不会让人摸不着头脑。

Java的数据类型

基本类型(Primitive Type)

  • 整数类型

    byte -128-127

    short -32768-32767

    int -2147483648-2147483647 正负21亿

    long 太长了不想写 在数字后面加L

    整数拓展

    进制

    int i  =10;
    int i2 = 010; // 八进制 0
    int i3 = 0x10;// 十六进制 0x
    
    //输出i i2 i3
    10 8 16
    
  • 浮点类型

    float:4个字节 在数字后面加F

    ​ 有限 离散 有舍入误差 大约 接近但不等于
    ​ 所以 最好完全避免使用浮点数进行比较

    double:8个字节

    浮点数拓展

    //银行业务怎么表示?
    BigDecimal //一个数学工具类 
    
  • 字符类型

    char:2个字节

    字符拓展

    String sa = new String("hello world");
    String sb = new String("hello world");
    sa≠sb
    String sc = "hello world";
    String sd = "hello world";
    sc=sd
    //new一个内存就会创建一块空间(字符串常量池),和JVM相关 所以不相等,字符串比较要用equals() 
      //对象 从内存进行分析
    
  • 布尔类型

    boolean类型:1 0 ;true false

引用类型(Reference Type)

String 字符串
Integer MIN_VALUE = 0x80000000 -2的31次方
MAX_VALUE= 0x7fffffff 2的31次方-1

Byte

接口Interface

数组ArrayList

JAVA的类型转换

//容量
低------------------------------------->>高
byte,short,char->int->long->float->double

在数据运算中,不同类型的数据先转化为同一类型,然后再进行运算。

不能对布尔值进行转换

不能把对象类型转换为不相干的类型

转换的时候可能存在内存溢出或者精度问题

强制类型转换(高--低)

(类型)变量名

int i = 128;
byte b = byte(i);
//i = 128;b = -128
//============================
int(23.7);
int(-45.89f)
//i = 23; i = -45

自动类型转换(低--高)

int i = 128;
double b = i;
//i = 128;b = 128.0

你可能感兴趣的:(从零开始复习Java-数据类型)