基本数据类型之理解

理解:基本数据类型

.对变量的理解

  首先为了下面更好的理解,我们先来看看变量

1.什么是变量?

  在程序执行的过程中,在某个范围内其值可以发生改变的量

    变量的定义格式:

      数据类型 变量名 = 变量值; eg :float f = 1.0f;

      float f  声明变量f

      f = 1.0f  将1.0幅值给f

2.为什么要定义变量?

  用来不断的存放同一类型的常量,并可以重复使用 .

3.对变量有几点理解:

  (1).是内存中的一个存储区域.

  (2).可在同一数据类型范围内不断变化.

二.基本数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间.

基本数据类型有四类八种 如下表

三.基本数据类型的值在应用时的几点说明

1.几个基本类型的取值范围如下:byte,short,char < int < long < float < double .

2.java中在没有做任何数据类型声明的情况下,

      整数默认的类型是int类型;

      浮点型的默认数值类型是double类型. 

float f = 1.0;报错,因为1.0默认的是double类型,会损失精度.因此在给float赋值时,要在值后面加F或f:float f = 1.0f.

3.java编译器有常量优化机制(能够判断常量的具体值),

如:byte b = 2;  //2是默认的int类型的数,在byte的范围内,因此可以赋值

long x = 8888888888888;会出错,因为8888888888888超出了int的取值范围.但没有超出long的取值范围,在给long赋值时,要在值后面加L或l: long x = 8888888888888L;

4.变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断(变量)里面具体的值(在编译的时候无法判断(变量)里面具体的值,在运行的时候才知道其具体值,相加有可能会超出取值范围)

5.类型转换

  (1)自动类型提升(隐式转换),小数据类型向大数据类型转换.

在混合运算时,byte、short、char之间不会相互转换,都会自动类型提升为int类型.

除byte、short、char外,其他类型进行混合运算的是小的数据类型提升为大的

boolean类型不能转换为其他的数据类型(java没有规定具体空间)

byte b1 = 3;

byte b2 = 4;

Byte b3 = b1 + b2;  b1+b2首先自动类型提升为int类型,可能损失精度

   (2)强制类型转换:想让大数据类型其转换成大数据类型.

强制转换的格式

目标类型 变量名 = (目标类型)(运算结果)

byte b = (byte)(a + b);

注意:如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同(强转有风险,需谨慎)Byte b = (byte)(300)   结果44

6.字符型

(1)ASCII码表都可以标识这些字符(ASCII码表int值与字符有一一对应关系),char的取值范围0-65535,97在这个范围内

(2)Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节.所以,Java中的字符可以存储一个中文汉字

  (3)记住三个值:

    ‘0‘  48

    ‘A‘  65

    ‘a‘  97

小结

变量的值是在其声明的数据类型的范围内变化的,因此要给变量赋值,其值要么能够自动类型提升,要么得强制转换.

时间: 2024-11-25 08:27:29

基本数据类型之理解的相关文章

JS数据类型的理解(猜测)

Js 数据类型 对于这个主题,首先来看几个问题,如果你对这几个问题很清楚的话,那就请直接跳过吧,不用接着往下看了,如果不清楚,建议你还是看看. 1)如果判断函数?function 和object的联系是什么? 2)typeof 和instanceof 的区别是什么和作用是什么? 3)undefined 和null 有什么区别? 4)js 有哪几种基本的数据类型? 5)Undefined,undefined,’undefined’分别是什么? 6)typeof null  ,null instan

C语言数据类型的理解

数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效果,这也就好理解为何C语言会有相应的数据类型了.c语言数据类型如下图: 所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的. 在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型 数据类型的标示意义: 数据类型的所占的字节数可以这样理解,当我们写作文

数据类型的理解

#include<cstdlib> #include<cstdio> #include<iostream> using namespace std; int main() { int a; //编译器分配 4个字节的空间 int b[10]; ////编译器分配 40个字节的空间 int *p; a = 10; printf("%d\n\n", &a); //275223 *((int*)2752232) = 300;//间接赋值 直接给地址

js--对于数据类型的理解

js中变量包含2种不同数据类型的值 ------------------------------------------------------------------------------------------------------------------------------------------------------ 1.基本类型值 基本类型值概念-->是简单的数据段,按值访问,包括Undefined.Null.Boolean.Number.String,没有任何属性和方法 基

对js中null、undefined、NaN等值和数据类型的理解

javascript中的数据类型共有null.undefined.number.string.boolean.object六种.其中前五种是基本数据类型, object为引用类型包括array.function等. 首先测试各种值的类型 var a1; var a2 = true; var a3 = 0; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; a

js中数据类型的理解

1.js中的基本数据类型:String.Number.Boolean.Null和Undefined,还有一种复杂数据类型Object. 2.对于Null和Undefined的不同,现在的JavaScript设计为Null表示'无'的对象,转为数值0:undefined未定义,转为数值NaN.其中NaN的数据类型为number,意为Not a Number;当两种不同的数据的类型相运算时则要注意一些细节,自己总结了一点: 所有和undefined有关的运算,返回的为NaN:  Null + 0 =

深入理解数据类型、变量类型属性、内存四区和指针

数据类型可理解为创建变量的模具(模子):是固定内存大小的别名. 数据类型的作用:编译器预算对象(变量)分配的内存空间大小. 既能读又能写的内存对象,称为变量:若一旦初始化后不能修改的对象则称为常量. 变量本质:(一段连续)内存空间的别名. 内存四区 栈区(stack):也叫临时区,由编译器自动分配释放,存放函数的参数值,局部变量的值等. 堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收. 全局区(静态区)(static):全局变量和静态变

理解各种数据类型和简单类的内存存放.

基本数据类型.int ,char short. int a;a 标签代表一个地址的数据,里面的数据类型是int.所以占4个字节.a=3;给基本数据类型的标签赋直.就等于给标签代表的地址的数据赋直.a 标签既然代表一个地址的数据,那么它的地址用&a来获得.&a: 0x22ff1c: 03 00 00 00&(&a)会错误.因为&a并不是内存某个地方. 数组类型. int a[3]首先,a[0],a[1],a[2] 和基本数据类型一样理解.a[0] 标签代表一个地址的数

JavaScript数据类型

JS一共为我们定义了6中数据类型,分别是:undefined.null.boolean(布尔).number(数字).string(字符串).object(对象).(ES6中定义了另外其他的数据类型).其中前5中为简单数据类型.object为复杂数据类型 在理解每一种数据类型之前,我们说一下变量,在任何语言中变量都是存储信息的容器.比如:在数学中 x = 5;那x就是数字5的容器,x就是变量.在JS中使用var关键字定义一个变量.例如:var x = 5; 说到这里,我们就很好理解什么是数据类型