03 Java的数据类型分为两大类 类型转换 八大基本类型
JAVA 类型 基本 数据类型 03 类型转换 八大 分为
2023-09-11 14:16:44 时间
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
Java的数据类型分为两大类
-
基本类型(primitive type)
- 数值类型
- 整数类型
- byte占1个字节范围:-128-127
- short占2个字节范围:-32768-23768
- int占4个字节范围:-2147483648-2147483648
- long占8个字节范围:-9223372036854775808-9223372036854775808
- 浮点类型
- float占4个字节
- double占8个字节
- 字符类型char占2个字符
- 整数类型
- boolean类型:占1位其值只有true和false两个
- 数值类型
-
引用类型(reference type)
- 类
- String
- BigDecimal 数学工具类
- 接口
- 数组
面试题:Java基础八大类型有哪些?
- 类
扩展
-
整数扩展
-
//进制: 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; //八进制0 int i3 = 0x10; // 十六进制0x 0~9 A~F 16
-
-
浮点数
-
// float 有限 离散 舍入误差 大约 接近但不等于 // 最好不要使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 if(f==d){}//返回false float d1 = 12321312312312f; flaot d2 = d1+1; if(d1==d2){}//返回true
-
面试题:银行业务怎么表示?钱
DigDecimal 数学工具类
-
-
字符
-
char c1 = 'A'; char c2 = '中'; System.out.println((int)c1); //强制转换成Unicode对应的数值 System.out.println((int)c2); //强制转换成Unicode对应的数值 char c3 = '\u0061'; System.out.println(c3);//a
-
-
转义字符
- \n 换行
- \t 制表符
-
布尔值扩展
-
boolean flag = true if(flage){ }
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低 --------------------------------> 高 byte,short,char-> int -> long -> float -> double
运算中,不同类型的数据先转换为同一类型,然后进行运算。
强制转换和自动类型转换
// 强制转换 (类型)变量名 高-->低 int i = 128 byte b = (baye)i; //内存溢出,byte最大值为127 // 自动转换 低-->高 int i = 128 double i =i; // 精度问题,小数点后面的数丢失 System.out.println((int)23.7) // 23 System.out.println((int)-45.89f) // -45 // char的强制转换 char c ='a'; int d = c+1; System.out.println(d); // 输出98 System.out.println((char)d); // 输出b
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,需要强制转换
- 转换的时候可能存在内存溢出,或者精度的问题
-
// 操作比较大的数的时候,注意溢出问题
// JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years; // -1474836480,计算是已经溢出
long total2 = money*years; // 默认是int,转换之前就已经存在问题
// 解决方式
long total2 = money*((long)years); // 先吧一个数转换为long
相关文章
- Java反射机制详解(1) -反射定义
- java.util.Properties类 学习笔记
- Java 网络编程的一些概念
- 【JAVA】JSP操作数据库简单实例和mysql-connector-java-5.0.3-bin.jar项目配置方法
- 【JAVA】Eclipse中开启java和xml智能提示功能(图文,已解决!)
- Java -- 异常的捕获及处理 -- 自定义异常类
- Java常用类和枚举类型详解(Java必备知识)
- Java中基本类型的转换规则
- Java: mysql-connector-java
- JAVA础--利用java反射机制绕过编译时的类型检查和访问控制检查
- Java当中的基本类型包装类
- 第47节:Java当中的基本类型包装类
- Android Java端的Socket.io-client
- JAVA学长
- Tomcat 奔溃:java.lang.OutOfMemoryError: Java heap space
- 《Java和Android开发学习指南(第2版)》—— 2.3 基本类型
- 《Java和Android开发学习指南(第2版)》——第2章,第2.3节基本类型
- 牛客网面试宝典之JAVA基础知识(二)总结
- java基本类型(内置类型)取值范围
- Java中gcRoot和引用类型
- java提取字符串数字,Java获取字符串中的数字
- java多异常处理
- 在java中使用JMH(Java Microbenchmark Harness)做性能测试
- Java_BigDecimal类型比较大小
- Java根据文档注释生成API说明文档
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java小白入门200例61之java中Date日期类型的大小比较
- 【Java I/O 流】文件的操作——java.io.File 类详解