13、java中8中基本类型

一、基本类型介绍

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

 

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

 

基本类型常见面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值