2、Java数据类型

Java中数据类型

Java是一种强类型语言,每个变量都必须声明其数据类型。
Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)
在这里插入图片描述

基本数据类型

基本数据类型还可以分为四类八种(整数型、浮点型、字符型、布尔型)

整数型

故名思意,整数型就是用来存储整数的。整数型不光可以存储十进制数还可以存储二进制数、八进制数、十六进制数。

十进制整数,如:99, -500, 0
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制:要求0b或者0B开头,如:0b11

整数型可以分为字节类型(byte)、短整型(shot)、整形(int)、长整型(long)。不同类型的整型取值范围也不同。

  • byte 的取值范围:-128~127(-2的7次方到2的7次方-1)
  • short 的取值范围:-32768~32767(-2的15次方到2的15次方-1)
  • int 的取值范围:-2147483648~2147483647(-2的31次方到2的31次方-1)
  • long 的取值范围:-9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)

由上可以看出 byte、short 的取值范围比较小,而long的取值范围最大的,所以占用的空间也是最多的。int 取值范围基本上可以满足我们的日常计算需求了,所以也是我们使用的最多的一个整型类型。

public class Test{
        public static void main(String[] args){
        	//定义整数类型的变量:
            //给变量赋值的时候,值可以为不同进制的:
            int num1 = 12 ;//默认情况下赋值就是十进制的情况
            int num2 = 012;//前面加上0,这个值就是八进制的
            int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
            int num4 = 0b10;//前面加上0b或者0B,这个值就是二进制的
            //定义byte类型的变量:
            byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
            //注意:超范围的赋值会报错。
            short s = 30000;
            int i = 1234;
           //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
           //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
            long num5 = 12345678910L;
            //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
            long num6 = 12;
        }
}

浮点型

浮点型可以分为单精度(float)、双精度(double)。

单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。

  • double 类型比float 类型存储范围更大,精度更高。
  • float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。
public class Test{
        public static void main(String[] args){
			float f2 = 0.3F;
            double d2 = 0.3;
        }
 }

字符型

字符类型为(char)。Java中使用单引号来表示字符常量,字符型在内存中占2个字节。
char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。

public class Test{
        public static void main(String[] args){
        	//定义字符类型的变量:
            char ch1 = 'a';
            System.out.println(ch1);
            char ch2 = 'A';
            System.out.println(ch2);
            char ch3 = '4';
            System.out.println(ch3);
            char ch4 = '中';
            System.out.println(ch4);
            char ch5 = '?';
            System.out.println(ch5);
   //java中无论:字母,数字,符号,中文都是字符类型的常量,都占用2个字节。
            char ch6 = ' ';
            System.out.println(ch6);
        }
}

布尔类型

布尔类型为(boolean)。布尔类型有两个常量值,true和false,在内存中占一位(不是一个字节)。

  • boolean 类型用来判断逻辑条件,一般用于程序流程控制,不可以使用 0 或非 0 的整数替代 true 和 false
public class Test{
        public static void main(String[] args){
                //创建一个布尔类型的变量:
                boolean flag1 = true;
                System.out.println(flag1);
                boolean flag2 = false;
                System.out.println(flag2);
                boolean flag3 = 5==9;
                System.out.println(flag3);
                boolean flag4 = 5<9;
                System.out.println(flag4);
        }
}

基本数据类型的类型转换

自动类型转换由低到高
byte,short,char—> int —> long—> float —> double

  • 不能对boolean类型进行类型转换。
  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  • 转换过程中可能导致溢出或损失精度,

引用数据类型

Java引用类型的变量类似于C/C++的指针,引用类型指向一个对象,指向对象的变量是引用变量。

一个引用变量可以用来引用任何与之兼容的类型。

Java中的String是一个类,在String类中,定义了一个不可变的字符数组。String类型可以存一长串的字符(字符串)。

public class Test{
        public static void main(String[] args){
                //创建字符串(字符串可以存连续的字符)
                String s1 = "aa123bb";
        }
}
  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值