Java基础 - 03 - Java数据类型
Java基础 - 03 - Java数据类型
强类型语言
- 强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
java
、.NET
、C++
等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了- 安全性高,速度慢
例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串
弱类型语言
- 弱类型语言也称为弱类型定义语言。与强类型定义相反。像``vb
,
php`等就属于弱类型语言 - 数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值
VBScript
是弱类型定义的。在VBScript
中,可以将字符串‘12’和整数3进行连接得到字符串‘123’,然后可以把它看成整数123,而不需要显示转换
但其实它们的类型没有改变,VB只是在判断出一个表达式含有不同类型的变量之后,自动在这些变量前加了一个clong()
或(int)()
这样的转换函数而已。能做到这一点其实是归功于VB的编译器的智能化而已,这并非是VB语言本身的长处或短处
举个栗子
弱类型语言vbs
:
a=1
b=a+"1"+"a" //结果是11a,这里 a 成了字符串
c=a+1 //结果是2 ,这里a则是数字型
强类型语言Java
:
int a = 1; //定义一个整数a为1
String b = "1"; //定义一个字符串b为'1'
int c;
String d;
c = a + b; d = a + b; //此处编译失败,两种类型的数据不能相加
八大基本数据类型
//八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short nuu3 = 30;
long num4 = 30L; //Long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;
double num6 = 3.141592653589793238462643;
//字符
char name = '郭';
//字符串——String不是关键字,是类
//String name1 = "郭鹏飞";
//布尔值
boolean flag = true;
boolean flag1 = false;
注意点:long类型数字后面的L可以大写也可以小写,但最好大写,养成习惯
原因:小写的l很容易被看成数字1
Java的数据类型分为两大类
-
基本类型(primitive type)这里只有基本类型的笔记
-
引用类型(referenc type)
图中:int占4个字节,byte占1个字节,那么:
什么是字节
-
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
-
1B(byte,字节) = 8bit(位)
-
字符:是指计算机中使用的字母、数字、字和符号
-
1bit表示1位
-
1Byte表示一个字节 1B = 8b
-
1024B = 1KB
-
1024KB = 1M
-
1024M = 1G
-
......
思考:电脑的32位和64位的区别是什么呢?