【javaSE】数据类型,变量与类型转换

张开发
2026/4/6 13:26:00 15 分钟阅读

分享文章

【javaSE】数据类型,变量与类型转换
目录一.字面常量二.数据类型三.变量3.1 变量的概念3.2 语法格式​编辑3.3整型变量3.3.1整型变量3.3.2长整型变量3.3.3短整型变量3.3.4字节型变量3.4浮点型变量3.4.1双精度浮点型3.4.2单精度浮点型3.5字节型变量3.6布尔类型四.类型转换4.1自动类型转换隐式4.2强制类型转化显式五.类型提升六.字符串类型一.字面常量常量即程序运行期间固定不变的量比如一个星期七天一年12个月其中“hehe”3.14‘A’等都是常量将其称为字面常量。字面常量的分类字符串常量由“ ”括起来的如“123”“hello”“你好”整型常量程序中直接写的数字如100123浮点数常量程序中直接写的小数如3.146.8字符常量由‘ ’括起来的单个字符如‘A’‘a’布尔常量只有两种true和false空常量null二.数据类型在Java中数据类型主要分为两类基本数据类型和引用数据类型基本数据类型有四类八种1.四类整形浮点型字符型以及布尔型2.八种数据类型关键字内存占用范围字节型byte1 字节-128 ~ 127短整型short2 字节-32768 ~ 32767整型int4 字节−231∼(231)−1长整型long8 字节−263∼(263)−1单精度浮点数float4 字节有范围一般不关注双精度浮点数double8 字节有范围一般不关注字符型char2 字节0 ~ 65535布尔型boolean没有明确规定true 和 false注意无论是在16位系统还是在32位系统int都占4个字节long都占8个字节。整形和浮点型都是带有符号的。整型默认为int型浮点型默认为double型。字节型短整型整形长整型统称为整形。字符串属于引用类型该类型后续介绍。三.变量3.1 变量的概念在程序中除了有始终不变的常量外有些内容可能会经常改变⽐如⼈的年龄、⾝⾼、成绩分 数、数学函数的计算结果等对于这些经常改变的内容在Java程序中称为变量。⽽数据类型就是⽤来定义不同种类变量的。3.2 语法格式定义变量的语法格式为数据类型 变量名 初始值// 定义整型变量aa是变量名也称为标识符该变量中放置的值为10 int a 10; double d 3.14; char c A; boolean b true; System.out.println(a); System.out.println(d); System.out.println(c); System.out.println(b); // a是变量a中的值是可以修改的注意 在java中表示赋值即将100交给aa中保存的值就是100 a 100; System.out.println(a); // 注意在一行可以定义多个相同类型的变量 int a1 10, a2 20, a3 30; System.out.println(a1); System.out.println(a2); System.out.println(a3);注意与c语言不同 Java语法中所有局部变量必须初始化。3.3整型变量3.3.1整型变量注意int在任何系统在都是4个字节在给变量设置初始值时值不能超过int的表示范围否则会导致溢出变量在使用之前要赋初值否则要报错int的包装类型是Integer3.3.2长整型变量注意长整型变量的初始值后面要加上L或者l推荐加L为了区分int类型和long类型长整型在任何系统下都是8个变量长整型的表示范围-2^31~2^31-1long的包装类型Long3.3.3短整型变量注意short在任何系统下都占2个字节short的表示范围-32768-32767在使用short时要注意不要超过范围short的包装类型Short3.3.4字节型变量注意byte在任何系统下都占1个字节byte的表示范围-128~127字节的包装类型Byte3.4浮点型变量3.4.1双精度浮点型注意double在任何系统下都占8个字节double类型的值一般精确到小数点后15位15位之后的数是不准确的浮点数是个近似值并不是精确值double的包装类Double3.4.2单精度浮点型注意float在任何系统下都占4个字节再给float类型的变量赋值时所赋值数后需要加上f或者Ffloat的包装类型Float3.5字节型变量注意Java中使用单引号单个字母的形式表示字符字面值一个字符占用两个字节表示的字符种类很多包括汉字一个汉字占2个字节char的包装类型Character3.6布尔类型布尔类型常用来表示真假注意boolean类型的变量只有两种取值true表示真false表示假Java的boolean类型和int类型不能相互转换且不存在1表示true0表示假Java中并没有明确规定boolean占几个字节boolean的包装类型Blooean总结一下在基础数据类型中只有int和char的包装类型分别是IntegerCharacter其余数据类型的包装类型是它们的首字母大写。四.类型转换java作为一个强类型编程语言当不同类型变量相互赋值时会有较严格的校检在java中当参数运行数据类型不一致时就会进行类型转换。Java中类型转化主要分为两类自动类型转换隐式和强制类型转换显式4.1自动类型转换隐式自动类型转换代码不需要经过任何处理在代码编译时编译器会自动进行处理。特点数据类型小的转化为数据类型大的时会自动进行。4.2强制类型转化显式强制类型转化当进行操作时代码要进行一定的格式处理不能自动完成。特点数据类型大的转化为数据类型小的。int a 10; long b 100L; b a; // int--long数据范围由小到大隐式转换 a (int)b; // long--int数据范围由大到小需要强转否则编译失败 float f 3.14F; double d 5.12; d f; // float--double数据范围由小到大隐式转换 f (float)d; // double--float数据范围由大到小需要强转否则编译失败 byte b1 100; // 100默认为int没有超过byte范围隐式转换 byte b2 (byte)257; // 257默认为int超过byte范围需要显示转换否则报错注意如果需要把范围大的类型赋值给范围小的类型需要强制类型转换但是精度可能丢失将一个字面值常量进行赋值时Java会自动针对数字范围进行检查强制类型转化不一定成功不相干的类型不能相互转化在类型转化赋值时记得不要超过其表示范围否则编译失败五.类型提升不同类型的数据之间进行运算时数据类型小的会被提升到数据类型大的。int与long之间int会被提升为longbyte与byte的运算byte a 10; byte b 20; byte c a b; // 编译出错 System.out.println(c);原因虽然a与b同为byte类型但在计算时会先将a与b都提升为int类型再进行计算得到的值也是int类型的值赋给byte就会出错。由于计算机的CPU通常是按照4个字节为单位从内存中读写数据.为了硬件上实现⽅便,诸如byte和 short这种低于4个字节的类型,会先提升成int,再参与计算.总结:不同类型的数据混合运算范围小的会提升为范围大的对于shortbyte这种小于4个字节的类型会先提升为4个字节的int类型再运算六.字符串类型在java中String类定义字符串类型public static void main(String[] args) { String s1 hello; String s2 world; System.out.println(s1); System.out.println(s2); System.out.println(s1s2); // s1s2表示将s1和s2进行拼接 }在有些情况中需要将字符串和整型数字之间进行转换:int转成Stringint num 10; // 方法1 String str1 num ; // 方法2 String str2 String.valueOf(num);String转化为intString str 100; int num Integer.parseInt(str);String转化为double

更多文章