java中数据定义_Java中的数据类型

Java是一种强类型语言,每个变量都必须声明其类型,而Java的数据类型可以分为两大类:基本类型和引用类型。

1、强弱类型语言

Java是一种强类型语言,那么什么是强类型语言呢?

强类型语言也称为强类型定义语言。要求变量的使用要严格符合规定,所有变量都必须定义后才能使用,而且变量的类型虽然可以改变但是不能够随意改变。

Java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果 不经过转换,那么它就永远是这个数据类型了。

安全性高,运行效率相对较慢,鱼和熊掌不可兼得!强类型定义语言在速度上可能略逊色于弱类型定义 语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。

那么弱类型语言就是与强类型语言相对反的,像vb,php等就属于弱类型语言。

在VBScript中,可以将字符串‘12’和整数3进行连接得到字符串‘123’,也可以把它看成整数123,而不需 要显示转换。是不是十分的随便,我们Java就不是这样的。

但其实它们的类型没有改变,VB只是在判断出一个表达式含有不同类型的变量之后,自动在这些变 量前加了一个clong()或(int)()这样的转换函数而已。能做到这一点其实是归功于VB的编译器的 智能化而已,这并非是VB语言本身的长处或短处。

至此,对强弱类型语言也有了一个大概的了解。

2、数据类型

java的数据类型分为两大类:基本类型(primitive type)和引用类型 (reference type)

52e11275153866511a12c9aef2c974e6.png

因为引用数据类型涉及到一些类和对象的知识,所有后续会有更详细的介绍,这里会稍微介绍一点。

9230dd6978d6fbba0bfeb6eecf400d85.png

如果你看到这一堆头疼的话,没关系,不用记,JDK中类型对应的包装类都帮忙写好了,我们需要时候可 以直接看到!可以把以下代码拷贝进行查看结果:

public static voidmain(String[] args) {//byte

System.out.println("基本类型:byte 二进制位数:" +Byte.SIZE);

System.out.println("包装类:java.lang.Byte");

System.out.println("最小值:Byte.MIN_VALUE=" +Byte.MIN_VALUE);

System.out.println("最大值:Byte.MAX_VALUE=" +Byte.MAX_VALUE);

System.out.println();//short

System.out.println("基本类型:short 二进制位数:" +Short.SIZE);

System.out.println("包装类:java.lang.Short");

System.out.println("最小值:Short.MIN_VALUE=" +Short.MIN_VALUE);

System.out.println("最大值:Short.MAX_VALUE=" +Short.MAX_VALUE);

System.out.println();//int

System.out.println("基本类型:int 二进制位数:" +Integer.SIZE);

System.out.println("包装类:java.lang.Integer");

System.out.println("最小值:Integer.MIN_VALUE=" +Integer.MIN_VALUE);

System.out.println("最大值:Integer.MAX_VALUE=" +Integer.MAX_VALUE);

System.out.println();//long

System.out.println("基本类型:long 二进制位数:" +Long.SIZE);

System.out.println("包装类:java.lang.Long");

System.out.println("最小值:Long.MIN_VALUE=" +Long.MIN_VALUE);

System.out.println("最大值:Long.MAX_VALUE=" +Long.MAX_VALUE);

System.out.println();//float

System.out.println("基本类型:float 二进制位数:" +Float.SIZE);

System.out.println("包装类:java.lang.Float");

System.out.println("最小值:Float.MIN_VALUE=" +Float.MIN_VALUE);

System.out.println("最大值:Float.MAX_VALUE=" +Float.MAX_VALUE);

System.out.println();//double

System.out.println("基本类型:double 二进制位数:" +Double.SIZE);

System.out.println("包装类:java.lang.Double");

System.out.println("最小值:Double.MIN_VALUE=" +Double.MIN_VALUE);

System.out.println("最大值:Double.MAX_VALUE=" +Double.MAX_VALUE);

System.out.println();//char

System.out.println("基本类型:char 二进制位数:" +Character.SIZE);

System.out.println("包装类:java.lang.Character");//以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台

System.out.println("最小值:Character.MIN_VALUE="

+ (int) Character.MIN_VALUE);//以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台

System.out.println("最大值:Character.MAX_VALUE="

+ (int) Character.MAX_VALUE);

}

可能有些朋友对字节还不是很理解,那么我们来了解一下:

位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。

字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,

1B(byte,字节)=8bit(位)

字符:是指计算机中使用的字母、数字、字和符号

ASCIIS码:

1个英文字母(不分大小写)=1个字节的空间

1个中文汉字=2个字节的空间

1个ASCII码=一个字节

UTF-8编码:

1个英文字符=1个字节

英文标点=1个字节

1个中文(含繁体)=3个字节

中文标点=3个字节

Unicode编码:

1个英文字符=2个字节

英文标点=2个字节

1个中文(含繁体)=2个字节

中文标点=2个字节

1bit表示1位,

1Byte表示一个字节 1B=8b。

1024B=1KB

1024KB=1M

1024M=1G.

同时稍微了解一下电脑32位和64位的区别:

32位操作系统只可以使用32位的cpu,而64位的CPU既可以安装32位操作系统也可以安装64位操作

系统。

寻址能力简单点说就是支持的内存大小能力,64位系统最多可以支达128 GB的内存,而32位系统最

多只可以支持4G内存。

32位操作系统只可以安装使用32位架构设计的软件,而64位的CPU既可以安装使用32位软件也可以

安装使用64位软件。

现在的电脑都是64位了!

关于基本数据类型,我们还可以自己写一些代码来看一下测试一下:

public static voidmain(String[] args) {//整型

int i1=100;//长整型

long i2=998877665544332211L;//短整型

short i3=235;//浮点型

double d1=3.5; //双精度

double d2=3;float f1=(float)3.5; //单精度

float f2=3.5f; //单精度//布尔类型 boolean true真/false假

boolean isPass=true;boolean isOk=false;boolean isBig=5>8;if(isPass){

System.out.println("通过了");

}else{

System.out.println("未通过");

}//单字符

char f='女';char m='男';

}

写到这里这篇博客的篇幅已经很长了,后续的知识,会在后续的博客中继续聊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值