一、基本类型介绍

关键字 数据类型 占用字节数 取值范围 默认值
byte 字节型 1个字节 -128~127 0
char 字符型 2个字节 Unicode0~Unicode215-1 \u0000
short 短整型 2个字节 -215~215-1 0
int 整型 4个字节 -231~231-1 0
long 长整型 8个字节 -263~263-1 0
float 单精度浮点数 4个字节 -2128~2128 0.0
double 双精度浮点数 8个字节 -21024~21024 0.0
boolean 布尔型 1个字节 true|false false

float与double的范围和精度

  范围

  float:      1bit(符号位)  8bit(指数位)  23bit(尾数为)

  double:   1bit(符号位)  11bit(指数位)  52bit(尾数为)

float的指数范围 -127~128,而double的指数范围-1023~1024

  float的范围为-2128~2128,也即-3.40E+38 ~ +3.40E+38;double的范围为-21024~21024,也即-1.79E+308 ~ +1.79E+308

  精度

  float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

  float:223 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
    double:252 = 4503599627370496,一共16位,同理,double的精度为15~16位。

基本类型赋值

  byte:

byte b=1;
byte a=1+2;

  short

short s=1;

  char

char a='A';                   //直接用字符赋值
char b=65;                    //用10进制数字赋值
char c='\u0041';             //使用unicode码赋值
char d=0x0041;         //使用16进制赋值
char e=0101;                 //使用8进制赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);            

上面输出的都是是字符'A'

  int

int a=3;

  long

long a=1;
long b=10000000000l;
//如果赋值范围超过了int,就必须在后面加上字母l或者L

  float

float a=1.2f;

  double

double a=1.2;

二、基本类型运算

1、java中byte、short和char类型运算操作首先会把这些值转换成int类型,然后对这些int值进行运算,返回int类型。

byte a=1;
byte b=2;
byte c=a+b;  这里先将a和b转换成int类型在进行计算,结果返回int类型,所以这里结果不正确
可以改为:
int c=a+b;
或者
byte c=(byte)(a+b);   当然这里不能操作byte范围

byte a=1;
char b='B';
int c=a+b;
System.out.println(c);

输出为67  现将a=1和b='B'转换成int型 a=1、b=66 所以结果为67

2、在做除法运算时,如果两边除数和被除数都是整数,其结果也为整数(只保留整数部分)例如:

int a=10;
int b=3;
System.out.println(a/b);

结果为:3

3、在做除服运算时,两个操作数其中有一个是浮点数,计算结果也是浮点数。而且允许除数是0或者0.0,得到结果正无穷或负无穷

double a=5;
int b=5;
System.out.println(a/0);   //结果为正无穷:Infinity
System.out.println(-a/0);  //结果为负无穷:-Infinity
System.out.println(b/0);   //抛出异常:java.lang.ArithmeticException: / by zero
System.out.println(0/0.0); //结果为:NaN
System.out.println(0.0/0); //结果为NaN

基本类型常见面试题

转载于:https://www.cnblogs.com/caoyc/p/4367915.html

13、java中8中基本类型相关推荐

  1. java中什么时候应用异常_生产Java应用程序中的十大异常类型-基于1B事件

    java中什么时候应用异常 Pareto记录原理:97%的记录错误语句是由3%的唯一错误引起的 在最新的数据整理帖子之后,我们收到了很多反馈和问题,我们发现97%的记录错误是由10个唯一错误引起的 . ...

  2. 生产Java应用程序中的十大异常类型-基于1B事件

    Pareto记录原理:97%的记录错误语句是由3%的唯一错误引起的 在最新的数据整理帖子之后,我们收到了很多反馈和问题,在该文章中,我们显示97%的记录错误是由10个唯一错误引起的 . 根据普遍的需求 ...

  3. grpc java 泛型_gRPC中Any类型的使用(Java和NodeJs端)

    工作中要把原来Java服务端基于SpringMVC的服务改为使用gRPC直接调用.由于原Service的返回值为动态的Map类型,key值不确定,且value的类型不唯一,因此使用了protobuf ...

  4. 【Groovy】Groovy 动态语言特性 ( Groovy 中的变量自动类型推断以及动态调用 | Java 中必须为变量指定其类型 )

    文章目录 前言 一.Groovy 动态语言 二.Groovy 中的变量自动类型推断及动态调用 三.Java 中必须为变量指定其类型 前言 Groovy 是动态语言 , Java 是静态语言 ; 一.G ...

  5. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  6. java 枚举_Java中的枚举类型(Enum)详解

    文章前记 程序员工作久了便可能整日忙碌于"增删改查"中,迷失方向,毫无进步. 该公众号致力于分享软件开发相关的原创干货,助你完成从程序员到架构师的进阶之路! 努力!做一个NB的Co ...

  7. java类型转换答案,在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。...

    在java中支持两种类型的类型转换,自动类型转换和强制类型转换.父类转化为子类需要强制转换. 更多相关问题 计算机病毒通过()传染扩散得极快,危害最大. 当一个现象的数量由小变大,另一个现象的数量相反 ...

  8. java 内部变量_java 中的内置数据类型

    1,  基本数据类型 Java是强类型语言, 对于每一种数据都定义了类型,基本数据类型分为数值型,字符型,布尔型.数值型又分为了整型和浮点型. 整型又分为byte, int, short long. ...

  9. java协变返回类型_Java中的协变返回类型

    java协变返回类型 协变返回类型 (Covariant return type) The covariant return type is that return type which may va ...

  10. java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。

    java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象. ArrayList list ...

最新文章

  1. H5拍照、预览、压缩、上传采坑记录
  2. 从零开始的AI·机器学习の基本概念
  3. ios app上架被拒的问题
  4. BFS HDOJ 2102 A计划
  5. jvm(3)-垃圾收集器与内存分配策略
  6. centos7 安装VNC Server
  7. 如何关闭来自苹果的个性化广告?
  8. Diffusion Models扩散模型与深度学习(数学原理和代码解读)
  9. 使用百度地图生成器制作疫情小区地图
  10. Python实现简易语音转文字功能模块
  11. 中望3d快捷键命令大全_CAD、3D快捷命令
  12. Ant-Table查看详情
  13. FILEminimizer Office,FILEminimizer Suite和FILEminimizer Server常见问题FAQ合集(一)
  14. 33岁想从头学做网页设计_您想如何学习网页设计?
  15. nginx优化配置大全
  16. DJ2-2 进程管理
  17. 视口锁定解锁lisp_CAD锁定和解锁视口的快捷键分别是什么
  18. 不要把学习技术当做任务、攀比和终极目标。 [IT傻博士原创]
  19. 【资源-文档】转载侵删 | STM32F10XXX参考手册(中文)
  20. Slack设计团队告诉你市值28亿美元的秘密武器是什么

热门文章

  1. Web页面减肥,慎用VS的自动格式化功能!
  2. 智能机浏览器版本信息获取
  3. unused import statement
  4. spark的Web UI中的Storage啥信息都没有
  5. Django的电子商务网站的调研
  6. linux下面的navicat中文出现白色方块
  7. centos云服务器出现No module named ‘_sqlite3′
  8. 各种编码范围总结以及linux下面的编码批量转化
  9. 图像工程CH5:图像消噪和恢复
  10. 小程序引用icon图标(入门)