JAVA——基本数据类型

数据类型:

基本数据类型、引用数据类型

堆空间 :运行数据区 运行分配内存 存取慢

栈空间 :存取快

方法区 :类型信息

常量池 :存储常量值

基本数据类型:(数值型、字符型、布尔型)

⑴数值型:

①整数类型(byte、short、int(整型常量默人类型)、long);

②浮点类型:(

float类型:单精度类型,在很多情况下,float类型的精度很难满足需求。

double类型:双精度类型,精度是float类型的两倍(浮点型默认为double类型,要变为float类型,须在后面加"F")

⑵字符类型:

char

                   eg:char ch:='A';    home='家'; handsome=‘酷’;
 

         ④字符串“ 我喜欢使用双引号\”  "中含有双引号字符,但是如果写成“  我喜欢使用双引号”   ”,就是一个非法字符串。             ③有些字符(如回车符)不能通过键盘输入到字符串或程序中,这时就需要使用转义字符常量:eg:\n.(换行),\b(退格),\t(水平制表),\'(单引号),\\(反斜线)等。例如:char ch1='\n',ch2='\',ch3='\\';

         ⑤在JAVA中,可以用字符在UNICODE表中排序位置的十六进制转义(需要使用U做前缀 )来表示该字符,其一般格式为'\u*****';eg:'\u004'表示字符A,'\u006'表示字符a。

⑶逻辑类型(布尔类型);

①boolean类型有两个值:true和false

②boolean类型用来判断逻辑条件,一般用于程序流程控制。

实践:if(is==true&&done==false)


 

  • 可以使用==、!=、>、<、>=、<=对基本数据类型的数值进行比较运算
  • 比较是否相等,比较是否不相等,大于,小于,大于等于,小于等于9x
    注意:比较的是数值的二进制

注:

  • 每种数据类型在内存中占有不同的长度;
  • 计算机存储设备的最小信息单元叫“位(bit)”,又称之为“比特位”;
  • 连续的8个位成为1个“字节(byte)”;
  • 操作系统分配内存最少1个字节,即8 个位,而不是1个位;
  • 长度越长,所表示的范围就越大;
  • 每种具体类型都有不同的默认值;
  • 当没有为一个属性变量赋值时,会根据类型为其赋值为默认值;
  • 注意:char的默认值是\u0000,等同于一个空字符;boolean的默认值是false

举例说明:


 

 

三:类型转换运算

涉及范围:把一种基本数据类型变量的值赋给另一种基本类型变量时。

精度从低到高的数据排列byte、short、char、int、long、float、double

转换规则:

1.当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型转换,称为隐士转换:例如:

                                 int X=50;

                                 float y;

                                  y=X;

              如果输出y的值,结果将  是50。

2.当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算,称为显示转换。格式为:(类型名)要转换的值。例如:

                                int x=(int)34.89;

                                long y=(long)56.98F;

                                int z=(int)1999L;

如果输出x y z的值,结果是34、56、1999。

报错:Type mismatch: cannot convert from int to byte

3.当把一个int型常量赋值给一个byte、short、char型变量时,不可超出这些变量的取值范围,否则必须进行类型转换运算。例如:常量128属于int类型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度类型的损失),例如:

                                   byte a=(byte)128;

                                   byte b=(byte)(-129);

               那么a、b输出的结果是-128和127。

4.将double型常量赋给float型变量时必须进行类型转换运算,例如:

                            float x=11.2F; 

                        或float x=(float)11.2;

5、虽然类型之间可以进行强制的隐式转换,但是也需要有一定的前提;

  • 数值类型和boolean类型之间就不能转换;强制也不可以;

报错:Cannot cast from boolean to int

总结:

1.右侧:所有变量先转换为字节数最多的数据类型,再计算。

2.两侧:左侧宽度>右侧宽度(自动转换)

左侧宽度<右侧宽度 (强制转换)

赋值:

  • “=”可以为任何一种基本数据类型的变量赋值
  • Int number=20;  将20赋值给整型变量number
  • 赋值时主要不要超过表示范围,否则将出现编译错误;
  • The literal 17633520015 of type int is out of range
  • char类型使用’’引用单个字符赋值;也可以使用非负整数进行赋值

  • •char c1='a';
    •char c2=12;
    •char c3='ab';//编译错误
    •char c4=12.8;//编译错误
    •char c5=-199;//编译错误 

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值