java中的数据类型与变量

一.字面常量

字符变量:在程序运行期间,固定不变的量称为常量

对于下面这些代码,括号中的都是字面常量。(null是空常量)

二.数据类型

java数据类型分两类:

基本数据类型和引用数据类型(字符串类型属于引用型)

1.基本数据类型

基本数据类型有四类八种:

四类:整型,浮点型,字符型,布尔型

八种:字节型,短整型,整型,长整型

           单精度浮点数,双精度浮点数

           字符型

           布尔型

注意:1.不论是在16位系统还是32位系统,int都是4个字节,long都是8个字节

          2.整形和浮点型都是默认有符号位

          3.整型默认int,浮点型默认double

 各个数据类型所占字节如下:

注意:与c语言相比,char不再是1个字节,而是2个字节

        java中布尔类型只有true或false,与int不能相互转换,不存在1表示true,0表示false。

 2.引用数据类型

引用数据类型有四种:引用数据类型:接口(interface)、数组([ ])、类(class)以及字符串(String).

包装类是基本类型的拓展

引用数据类型默认初始值为null

三.变量

形式:数据类型  变量名 =  值

在浮点数后加f/d,是为了说明这是个什么类型,不加也行

1. 对于变量的定义:

1.在定义时初始化

2.先定义再赋值(这种情况没有初始化,那么必须给它一个初值,否则会报错)

四.类型转换 

在java中,类型转换有两类:自动类型转换(隐式)强制类型转换(显式)

1、低级转换高级:自动类型转换

2、高级到低级:强制类型转换

1.  自动类型转换(隐式)

代码不需要经过任何处理,在编译时,编译器会自动进行处理。

特点:数据范围小的会转化为数据范围大的是会自动自行。

转化从低级到高级:byte,short,char(三者同级)—> int —> long—> float —> double

  int a=100;
  long b=10l;
  b=a;//int和long都是整型,但是b的范围比较大,所以a赋值给b,编译器会自动把a提升为龙类型,再进行赋值
  a=b;//long的范围比int大,数据有可能丢失,不安全
  float c=10.0f;
  double d=1.4;
  d=c; //编译器会将c转换为double类型,再赋值给d
  c=d;//报错,double数据范围比float大,数据有可能丢失,不安全

2.强制类型转换(显式)

 在进行操作时,代码需要进过一定的格式处理,不能自动完成

特点:数据范围大的转化为数据范围小的

注:不相干的类型不能互相转换

   int a=10;
        long b=1;
        a=(int)b;//强制转换,不安全,有可能造成数据的丢失
        b=a;//编译器会将a转换为long类型,再赋值给b
        
        float c=10.0f;
        double d=1.4;
        c=(float) d;//强制转换,会导致精度丢失
        d=c;//编译器会将c转换为double类型,再赋值给d
        boolean flag=true;
        a=flag;flag=a;//都会编译失败,类型不兼容

数据类型先到这,欢迎各位提意见,后续有就学习到相应新的知识再进行补充~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猪同学hy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值