JAVA数据类型

JAVA为强语言类型

强语言类型需每个变量都要明确定义,其好处是安全性高,但处理慢。(弱语言与之相反)

一、数据类型

1.基本类型

数据类型    长度    字节    位数
byte    -128~127    1    8
boolean    -128~127    1    8
short    -32768 ~ 32767    2    16
char    -32768 ~ 32767    2    16
int    最大整数 2^31-1    4    32
long    最大整数 2^63-1    8    64
float    最大整数2^31-1    4    32
double    最大整数2^63-1    8    64

2.引用类型

引用数据类型的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。 

null是所有引用类型的默认值。

java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类也是引用类型,可以像基本类型一样使用。

引用类型常见的有:String,StringBuffer,ArrayList,HashMap等。 

相关代码:

public class datatpye {
    public static void main(String[] args) {
        //整数,int,byte,short
        long num1 =30;//long类型要在数字后面个L

        //小数:浮点数,float,double
        float num2=50.1F;//其后要加F
        //字符
        char name ='国';
        //字符串,String不是关键字,是类。
        //String name="qwuquio";

        //布尔值
        boolean flag = ture;
        boolean flag = false;
    }
}

二、

扩展题

1.整数扩展: 进制,2 0b,10 ,8 0,16 0x

2.浮点数:银行业务金额表示最好完全使用浮点数。

public class expand {
    public static void main(String[] args) {

        float f =0.1f;
        double d=1.0/10;
        System.out.println(f==d);

        float d1=121212121212f;
        float d2=d1+1;

        System.out.println(d1==d2);
    }
}
false ture

3.字符扩展

public class expand {
    public static void main(String[] args) {
        //强制转换,所有的字符本质还是数字。
        char c1='a';
        char c2='中';

        System.out.println(c1);
        System.out.println((int)c1);
        System.out.println(c2);
        System.out.println((int)c2);
        //下为unicode表的一个编码。
        char c3 = '\u0061';
        System.out.println(c3);
    }
}
输出结果:a 97 中 20013 a

4转义字符

//转义字符 \t制表符,\n换行符
System.out.println("Hello\tworld");

输出:Hello        world

三、类型转换

1.由于java是强类型语言,所以要进行有些运算的时候,需要类型转换。但只是由高到低需要,低到高会自动进行转换。类型高低由字节决定。

byte,short,char<int<long<float<double

运算中不同类型的数据先转换为同一类型。

public class expand {
    public static void main(String[] args) {
        int c=128;
        byte i=(byte)c;
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量1转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或精度问题!
         */

        System.out.println((int)12.3);
        System.out.println((int)-45.12f);
    }
}
输出结果:-128 12 -45
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值