数据类型及类型转换

目录

数据类型

强类型语言

数据类型拓展

整数拓展

浮点数拓展

字符型拓展

转义字符

布尔值拓展

类型转换

JDK7扩展


数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

long是整数类型范围最大的;

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

注意long、float后要加L、F;

String不是关键字,是一种类;

数据类型拓展

整数拓展

public class 整数{
      public static void main(String[] args){
          //进制:二进制0b  十进制  八进制0  十六进制0x
          int i=10;
          int i2=010;//八进制0
          int i3=0x10;//十六进制
          
          System.out.println(i);
          System.out.println(i2);
          System.out.println(i3);
      }
}

运行结果:  

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

浮点数拓展

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

并不是所有的小数都能可以精确的用二进制浮点数表示!

大数值:Java.math下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。

BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。

字符型拓展

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

运行结果: 

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

‘A’是一个字符;“A”表示一个字符串;

Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;

【科普:2字节=16位 2的16次方=65536,我们用的Excel原来就只有这么多行,并不是无限的】

转义字符

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

布尔值拓展

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

if (is == true && un == false ) {...}

if ( is && !un ) {....}

类型转换

低 ------------------------------------> 高 
    
byte,short,char—> int —> long—> float —> double

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaXNfa2Q=,size_20,color_FFFFFF,t_70,g_se,x_16

自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。

浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

(int)23.7 == 23;
(int)-45.89f == -45

当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,溢出。

  public static void main(String[] args) {
        int x = 300;
        byte bx = (byte)x; //值为44
         System.out.println(bx);
    }

JDK7扩展

public static void main(String[] args) {
int a = 0b0101;
int b = 1_2345_7893; 
System.out.println(a); //5 
System.out.println(b); //123457893 }
JDK7为我们直接提供了 二进制整数的类型:0b开头即可;
下划线分隔符;
 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值