day8.数据类型

数据类型

强类型语言

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

像这些java,Python,c++,这些东西都是强类型语言,

也就是说,一旦定义了一个变量,指定了某个数据类型,如果不经过转换,它就永远是这个类型了,(听不懂没关系,我们接着看)

因为这样的强类型语言,所以它的安全性很高,又因为强类型语言,它都是死板的,所以速度很慢,既有弊端又有好处,都是相对的

弱类型语言

要求变量的使用可以不符合规定,所有变量都必须先定义后才能使用

有强就弱,这个弱类型语言和强类型语言相比,速度就会相对快很多,当然安全性低,比如后面要学的“VB”“JS”这一种建立在强类型之上的,或等下可以去试一试,

比如说: ‘12’+3,它可以等于数字的123,也可以等于一串字符的‘123’,可以表达不同的意思,就随意的,在这里说有点听不懂,直接进IDEA


进入IDEA后进入创建新的类,名称为demo02,我们可以保持一课一个demo,这样比较好查看,也不会乱

我们按照强类型的要求:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

先写一个main方法,psvm之前学过的,然后要求上说变量要先定义才能使用,那我们如果不定义会怎么样呢?

在这里插入图片描述

变量就一个a,它就直接报红了,直接输出就会提示尚未初始化变量a,这样是不行的,必须要附上一个值,比如a=10

在这里插入图片描述

但是给他附了值了,它还是报红,这是跟之前不一样了,这里就涉及到下面讲的数据类型,

你看这个String,它是要写一串字符串的,但这个10是个数字,它下面就报红了,说需要String,但是找到了int类型的,那int呢,是代表数字的,就是不能这么复制,要加上双引号,让他变成字符串,跟之前的helloworld一样,

那刚才那个10是要怎么定义的呢,数字是int类型的,那我们再加一个int,变量名为num,付个10的值

在这里插入图片描述

这就成功了,要记住这个int就是输出数字的,然后string是输出字符条的,

那如果把字符条输出在int后面,然后直接输出会怎么样呢?

在这里插入图片描述

它就会跟刚才一样提示需要的是int类型的数字,但找到的是string类型的字符条,输出那边也提示:不兼容的类型,string无法转换为int,也就是字符条不能转换成数字,那如果把双引号里的hello改成数字可不可以呢?要知道双引号是输出字符条的,双引号内的所有文字都是会被当做字符条的

然后我们把字符条和数字一起输出一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcBdNPCi-1606840539797)(屏幕截图 2020-12-01 143935.png)]

可以看到的结果是:10 以及 hello都被输出出来了,这是没有问题的,

到这里如果把这些全都学会那么等一下学变量就会容易很多,其实都是很简单的

java的数据类型分为两大类

java分为基本类型(primitive type)引用类型(reference type),而我们现在注重学习基本类型,先把基本类型搞定了,剩下的都是引用类型了

基本类型(primitive type)

在生活中,我们总用得到各种字符和数字吧,什么整数小数各种符号什么的,而在java里面也是一样的,

基本类型里有:数值类型 Boolean类型,数值类型就是表示各种数字和标点符号什么的,Boolean类型是表示是非对错开关的

分为:整数类型,浮点类型,字符类型

整数类型

就是整数,以下四个都可以代表整数,

范围就是这个代码可以表示什么数字,比如byte就可以表示负一百二十八到正一百二十七的数字之间,还有学过的int就可以表示负2147483648到正2147483647的数字,一般int就够我们用了,以此类推

在整数类型里有四个类型定义,

byte:占1个字节范围:-128到127

short:占2个字节范围:-32768到32767

int:占4个字节范围:-2147483648到2147483647

long:占8个字节-9223372036854775808到9223372036854772807

浮点类型:就是小数,以后叫做浮点数

以下浮点数,float占四个字节跟int一样,double占8个字节跟long一样,那小数上,我们一般常用的是double

在浮点类型里面有两个定义

float:占4个字节

double:占8个字节

字符类型:就是字符

字符类型只有一个定义

char:占2个字节

boolean类型:就是:是 和 非 或者 对 和 错

占1位某值只有truefalse两个

讲那么多也看不懂,那我们直接进入到IDEA学习吧

我还在demo02上写,可以把原来的删掉,


整数类型

整数可以通过 int byte short long 来定义,其中int是最常用的,,要注意:java是强类型语言,

每个关键字都代表着固定的数值,不能多也不能少,所以byte是表示的数值是不能超过127的,

注意这个long类型,long可以表达这么长的数字,可以和其他整数类型输出一样的数字,那这时候你不去看关键字很难区分这个是long还是int,为了更好区分,给他在数字后面加个L

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uYgpp8r-1606840539800)(屏幕截图 2020-12-01 223748.png)]

浮点类型

浮点数就是小数,通过float double来定义,表示小数,推荐常用double,因为float类型要在小数后面加上个F,两者本质是一样的只是要加上个F做区分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2zWG8sA-1606840539803)(屏幕截图 2020-12-01 230356.png)]

字符类型

字符类型通过:char 来定义,字符代表的是单个字,写两个字就不行了,那想要写多个字符就要用到我们的String,但是string是一个类,不是关键字,不知道类没关系我们后面会讲到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DNd0jws0-1606840539806)(屏幕截图 2020-12-01 231500.png)]

Boolean类型

Boolean 也称布尔值,只有: truefalse 两个来定义,只是代表是非对错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c58ogpN1-1606840539809)(屏幕截图 2020-12-01 232431.png)]

引用类型

我们刚刚学的是基本类型,而剩下的就都是引用类型,包括有:类 , 接口 , 数组,这些是面向对象的时候要学习的,现在不用着急一个一个学

字节

刚才可能有些人会有点疑问,就是,那些类型都会占字节多少多少,那什么是字节呢?

要知道电脑都有硬盘来存放数据的,而这个字节是硬盘的存储单位

计算机内部数据存储的最小单位是:位(bit) 用的是八位二进制的算法:11001100,一个1 一个0 等于一位,习惯用小写b来表示

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

注意:1B(byte,字节)= 8bit(位),一个11001100就是一字节了

所以我们的数值类型的byte占1字节,short占1字节,int占4字节,long占8字节,那么1字节等于8位,4字节等于32位,8字节等于64位,

思考一下电脑的32位和64位有什么区别

跟大家科普一下,32位的操作系统可以装32位的CPU,而64位的操作系统可以装32位的CPU也可以装64位的CPU

字符是指计算机中使用的字母,数字,字,符号

这边讲一下单位的进制

1bit表示1位

1bit(位)=1Byte(字节)

1024B=1KB

1024KB=1MB

1024MB=1GB

1024GB=1TB

1024TB=1PG

… 以此类推

我们下载的时候总是看到 1kb,1mb,1G什么的都是这个8位2进制的

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页