当前位置: 首页 > news >正文

JavaSE:2、基本数据类型

1、整数类型

在Java中,整数类型包括以下几个:
  • byte 字节型 (8个bit,也就是1个字节)范围:-128~+127
  • short 短整形(16个bit,也就是2个字节)范围:-32768~+32767
  • int 整形(32个bit,也就是4个字节)最常用的类型:-2147483648 ~ +2147483647
  • long 长整形(64个bit,也就是8个字节)范围:-9223372036854775808 ~ +9223372036854775807
public class Main {public static void main(String[] args) {byte a=1;short b=10;int c=100;long d=1000;System.out.println(a+b+c+d);}}

隐式类型转换:

小的类型转大的类型会有隐式类型转换。
byte->short->int->long
而为变量赋值时也是会将数转为int类型
我们可以采用强制类型转换实现大转小
可以前面加这个类型名称也可以末尾加提示。
public class Main {public static void main(String[] args) {byte a=1;short b=10;int c=100;long d=1000;b=c;  c=d;//ERROR   大的不能隐式转为小的c=b;//True    小的可以隐式转为大的b=(short)c;//True   强制类型转换可以实现大转小a=(byte)d;  //Trued=9999999999999999;//ERROR  整数过大,超过int上限d=9999999999999999L;//True  常量转为long,没超上限System.out.println(a);  //输出为-24} }
但是强制类型转换没有考虑是否溢出,比如上述程序若要输出a则为-24。

因为long里存的值超过byte的范围会发生截断

特殊知识点:

(1)下划线分割  
(2)八进制,十六进制表示
 数字前有0为八进制,有0x为十六进制(x大小写均可)
public class Main {public static void main(String[] args) {int a=1_000_00_0000; //Trueint b=016;   //True 8进制int c=0x1a;  //True  16进制System.out.println(b);   //输出14,8+6System.out.println(c);  //输出26,16+10}}
(3)整数类型均为有符号整型
底层存储第一位均为符号位。
public class Main {public static void main(String[] args) {int a=2147483647;  a=a+1;byte b=127;       b=(byte)(b+1);   //TrueSystem.out.println(a);   //输出-2147483648System.out.println(b);  //输出-128}}

2、浮点类型

首先来看看Java中的小数类型包含哪些:
  • float 单精度浮点型 (32bit,4字节)
  • double 双精度浮点型(64bit,8字节)
赋值与初始化:
浮点常量默认为double,需要强制转换。
public class Main {public static void main(String[] args) {float a=3.0;   //ERROR ,常量默认为doubledouble b=18.6;System.out.println(a);   System.out.println(b); }}
public class Main {public static void main(String[] args) {float a=3.0F;   // Truedouble b=18.6;System.out.println(a);System.out.println(b);}}
float可以隐式转换为double
public class Main {public static void main(String[] args) {float a=3.0F;   // Truedouble b=a;     //TrueSystem.out.println(a);System.out.println(b);}}

3、字符类型

  • char 字符型(16个bit,也就是2字节,它不带符号)范围是0 ~ 65535
  • 采用Unicode字符集
  • 编码规则有GBK、UTF-8、UTF-16
赋值与初始化:
用字符赋值或用ACSCII码赋值均可 
public class Main {public static void main(String[] args) {char a='A';char b=67;System.out.println(a);System.out.println(b);}}
public class Main {public static void main(String[] args) {char a='我';int  b=a;System.out.println(a);  //输出我System.out.println(b);//输出25105}}

4、布尔类型

  • true - 真
  • false - 假
赋值与初始化:

public class Main {public static void main(String[] args) {boolean a=true;boolean b=false;System.out.println(a); System.out.println(b);}}

 5、类型转换总结

该图含义为下面可以隐式转上面,就是满足两条线的小到大都可以转

 short、char、byte可以转为int、long、float、double
short与char不能互相隐式转换,byte与char不能互相转,byte可以转short
但7种数据类型之间可以强转
boolean类型不能与其它7种类型相互转换(强转也不行)


http://www.mrgr.cn/news/25864.html

相关文章:

  • 【运维监控】influxdb 2.0+grafana 监控java 虚拟机以及方法耗时情况(完整版)
  • 【信创】龙芯3A6000上lscpu与/proc/cpuinfo的区别
  • 面向软件工程的AI智能体最新进展,复旦、南洋理工、UIUC联合发布全面综述
  • 骨传导耳机哪款值得买?一文教你避开选购误区,附骨传导耳机推荐
  • UTF-8与UTF-8MB4编码的异同与应用场景
  • 如何通过 PhantomJS 模拟用户行为抓取动态网页内容
  • 信息安全新趋势:黑龙江等保测评全解析,助力企业安全升级!
  • C4D2025来了!亮眼的新功能一览
  • 磁盘空间不足扩容lvm
  • 静态和动态类型语言
  • 深入MySQL的索引实践及优化
  • Streamx基础讲解
  • Aigtek功率放大器的应用场景有什么
  • 4.Kubernetes资源对象之控制器(一)
  • 业务资源管理模式语言13
  • 链接测试链接测试链接测试链接测试链接测试
  • 知识图谱增强在 360 文档知识问答及管理中的应用实践
  • Leetcode 二叉树中根遍历
  • 融合知识图谱与高级NLP技术的创新型语义新闻检索系统
  • 【HTML】Html标签