Java数据类型如何定义与使用
本篇文章给大家分享《Java数据类型如何定义与使用》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
标识符和关键字
标识符
读音 biao zhi fu
什么是标识符
包、类、变量、方法…等等,只要是起名的地方,那个名字就是标识符
标识符的定义规则
四个可以:可以是数字、字母、下划线(_)、美元符号($),我们一般起名尽量使用英文字母。
两个不可以:不可以以数字开头,不可以使用java中的关键字。
见名知意:使读者能通过名字就能明白是干什么的,比如:冒泡排序(bubble_Sort
),我们就能清楚的知道这个方法是冒泡排序。
驼峰命名:
类名:首字母大写,其余遵循驼峰命名
方法名/变量名:首字母小写,其余遵守驼峰命名
包名:全部小写
长度限制:长度没有限制,但是不建议太长
关键字
被Java语言赋予了特殊含义,用作专门用途的单词
特点:Java中所有的关键字都为小写
官网:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
常量和变量
常量
常量分为两种:
常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。
在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。
为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量(字符常量)。
字面常量的类型:
整型常量: 123 23
实型常量: 3.1415926
字符常量: ‘a’ ‘b’
逻辑常量: true false
字符串常量: “helloworld”
注意:逻辑常量就两个值,一个是true,一个是false
变量
变量本质上就是代表一个可操作的存储空间,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问对应的存储空间”,从而操纵这个存储空间存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
变量的声明格式
数据类型 变量名 = 初始值, 变量名 = 初始值 …;
例如:
public class TestCode01{ public static void main(String[] args){ int a=3,b=4,c=5; //也可以先定义不赋值 int a,b,c; } }
变量的声明
如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义;
变量如果没有进行赋值的话,那么使用的时候会出错,告诉你:尚未初始化变量;
public class TestCode01{ public static void main(String[] args){ int a; System.out.println(a);//会报错,未初始化变量a } }
变量的赋值
int a=10;//直接定义并赋值 int b;//先定义在赋值 b=20;
变量不可以重复定义
基本数据类型
整数类型
整型数据类型:
下面以代码为例:
public class TestCode01{ public static void main(String[] args){ //定义整数类型的变量: //给变量赋值的时候,值可以为不同进制的: int num1 = 12 ;//默认情况下赋值就是十进制的情况 System.out.println(num1); int num2 = 012;//前面加上0,这个值就是八进制的 System.out.println(num2); int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的 System.out.println(num3); int num4 = 0b10;//前面加上0x或者0B,这个值就是二进制的 System.out.println(num4); //定义byte类型的变量: byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12 System.out.println(b); //注意:超范围的赋值会报错。 short s = 30000; System.out.println(s); int i = 1234; System.out.println(i); //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了 //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了 long num5 = 12345678910L; System.out.println(num5); //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型: long num6 = 12; System.out.println(num6); } }
浮点类型
浮点类型常量
(1)十进制数形式,例如: 3.14 314.0 0.314
(2)科学记数法形式,例如:
//314e2 314E2 (E的大小写没有区分) 314E-2 double f = 314e2; //31410^2-->31400.0 double f2 = 314e-2; //31410^(-2)-->3.14
浮点类型变量
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。
float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。
也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
PS:有效数字指的是从左开始第一个不为0的数到最后一个数
public class TestCode02{ public static void main(String[] args){ //浮点类型的常量有两种形式: //十进制形式: double num1 = 3.14; System.out.println(num1); //科学计数法形式: double num2 = 314E-2; System.out.println(num2); //浮点类型的变量: //注意:浮点型默认是double类型的,要想将一个double类型的数赋给float类型,必须后面加上F或者f float f1 = 3.14234567898623F; System.out.println(f1); //注意:double类型后面可以加D或者d,但是一般我们都省略不写 double d1 = 3.14234567898623D; System.out.println(d1); //注意:我们最好不要进行浮点类型的比较: float f2 = 0.3F; double d2 = 0.3; System.out.println(f2==d2); /* 区别: = 赋值运算: 将等号右侧的值赋给等号左侧 == 判断==左右两侧的值是否相等 :结果要么相等 要么不相等 ==运算符的结果就是要么是true,要么是false */ } }
字符类型
字符型
Java的字符使用16位的Unicode
编码表示,而计算机语言通常使用ASCII码
,用8位表示一个字符。
字符型是用两个单引号括起来的一个字符,如’a’,’1’,’A’等。其中,’a’和’A’分别表示ASCII码中的字符a和A,而’1’表示字符型1,而不是整数的数值1。除了一般字符外,Java还定义了一些特殊字符,如图:
字符型除了常数值的表示方式与整数型不同外,在其他方面几乎可以将它视为一般整数来处理。
字符串型
字符串是指括在两个双引号之间0个或多个字符组成的序列。若两个双引号之间没有任何字符,则为空串。下面是有关字符串的一些例子:
""
"hello world!"
"hello java"
Java语言把字符串当作String类型的一个对象来处理。
布尔类型
boolean类型有两个常量值,true
和false
,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
public class TestCode03{ public static void main(String[] args){ //创建一个布尔类型的变量: boolean flag1 = true; System.out.println(flag1); boolean flag2 = false; System.out.println(flag2); boolean flag3 = 5==9; System.out.println(flag3); boolean flag4 = 5<9; System.out.println(flag4); } }
基本数据类型的转换
自动类型转换
即精度小的类型自动转换为精度大的数据类型
数据类型按精度大小排序为:
在类型转换的时候需要遵循哪些规则:
第一条:八种基本数据类型中,除boolean
类型不能转换,剩下七种类型之间都可以进行转换;
第二条:小容量向大容量转换称为自动类型转换,大容量转换小容量必须使用强制类型转,但运行时可能出现精度损失,谨慎使用
第三条:byte,short,char
类型混合运算时,先各自转换成 int
类型再做运算;
第四条:整数的默认类型是 int
,小数默认是 double
类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。
第五条:浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后其余的类型都转换为当前表达式中级别最高的类型进行计算。
double d2 = 12+1294L+8.5F+3.81+'a';//都转换成最高的double类型,相当于= 12.0+1294.0+8.5+3.81+97.0
强制类型转换
把精度大的数据类型的数据赋值给精度小的数据类型。
double b=3.1415926; int a=(int)b;//强制转换 高-->低
在进行运算的时候:
左=右 : 直接赋值
左<右 :强转
左>右 :直接自动转换
本篇关于《Java数据类型如何定义与使用》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

- 上一篇
- 应用程序设计:中央缓存与私有缓存

- 下一篇
- vue3使用particles粒子特效的问题怎么解决
-
- 文章 · java教程 | 20小时前 |
- Java非C语言开发,揭秘其实现技术
- 266浏览 收藏
-
- 文章 · java教程 | 1天前 |
- Java在企业级开发中的应用及主要领域
- 487浏览 收藏
-
- 文章 · java教程 | 1天前 |
- Java非C语言开发,揭秘其实现技术
- 289浏览 收藏
-
- 文章 · java教程 | 1天前 |
- Java非C语言开发,揭秘Java实现技术
- 440浏览 收藏
-
- 文章 · java教程 | 2天前 |
- SpringCloud微服务OTA升级实战攻略
- 348浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 毕业宝AIGC检测
- 毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
- 18次使用
-
- AI Make Song
- AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
- 29次使用
-
- SongGenerator
- 探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
- 27次使用
-
- BeArt AI换脸
- 探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
- 29次使用
-
- 协启动
- SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
- 31次使用
-
- 提升Java功能开发效率的有力工具:微服务架构
- 2023-10-06 501浏览
-
- 掌握Java海康SDK二次开发的必备技巧
- 2023-10-01 501浏览
-
- 如何使用java实现桶排序算法
- 2023-10-03 501浏览
-
- Java开发实战经验:如何优化开发逻辑
- 2023-10-31 501浏览
-
- 如何使用Java中的Math.max()方法比较两个数的大小?
- 2023-11-18 501浏览