news 2026/5/25 10:58:30

Java变量与数据类型全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java变量与数据类型全解析

一、变量

1.1字面量

字面量就是Java程序中出现的数据。

字面量的种类:

字面量类型说明举例
整数类型直接写18
小数类型直接写,加上小数点19.3
字符串类型用双引号引起来“hello java”
字符类型用单引号引起来,内容只能有一个‘A’
布尔类型布尔值,表示真假true或者false
空类型一个特殊的值,空值null

1.2变量

1.2.1java中的变量是什么?

在C语言中,我们创建变量的时候实际是向内存中申请一块空间,在java中,变量实际可以抽象看作一个存储单个数据的容器,而不是容器中的内容,变量是存储数据的小空间而不是里面的数据。我们把经常改变的数据放到变量中存储。

1.2.1变量的定义格式

举例:int a = 10
其中int 是数据类型,a是变量名为小空间起名字,10是数据值是存在空间里面的值。"="是赋值,把10放到变量中。

小练习:用IDEA实现

1.2.3变量的注意事项

  1. 变量里面只能存一个值
  2. 变量名不允许重复定义
  3. 变量在使用之前一定要进行赋值
  4. 一条语句可以定义多个变量,也可以连续赋值

二、计算机的存储规则

2.1数字在计算机中是怎么存的

2.1.1进制

十进制:由0123456789组成,特点逢十进一
二进制:由0和1组成,特点逢二进一
0:二进制中的0
1:二进制中的1
2:二进制中的10
3:二进制中的11
4:二进制中的100

  1. 在计算机中,任意数据都是以二进制的形式来存储的
  2. 在计算机中,不同类型的数据有不同的存储单元

int a =10; 二进制:1010
由于中int类型占八个字节,所以还要在前面补上一些0

存储单元:计算机中最小的存储单元是字节,一个字节就是8个比特位

三、数据类型

数据类型分为两种:基本数据类型和引用数据类型

3.1java中的基本数据类型

整数类型:

整数类型取值范围内存(字节)
byte-128~1271
short-32768~327672
int-2147483648~2147483647(10位数)4
long-9223372036854775808~9223372036854775807(19位数)8

小数类型:

小数取值范围内存
float−3.402∗1038至3.402∗1038-3.402*10^{38}至3.402*10^{38}3.40210383.40210384
double−1.797∗10308至1.797∗10308-1.797*10^{308}至1.797*10^{308}1.797103081.797103088

字符类型

char类型 占2个字节,存储字符或者字符串

布尔类型

boolean 占1个字节 true/false

练习(请在IDEA中实现)

注意:定义long类型变量,数据值后面要加大写的L或者小写的l,建议写成大写的L不加会报错,另外在定义float类型变量时要在结尾加F或者f。一般写成大写的。

数据类型练习:

publicclassVariableDemo5{publicstaticvoidmain(String[]args){//BMI=体重/身高的平方//定义变量记录的我的体重doubleweight=50;//定义变量记录我的身高doubleheight=1.7;//计算BMIdoublebmi=weight/(height*height);System.out.println(bmi);//拓展:当前身高在标准BMI下,体重最多是多少千克?}}

四、标识符

标识符:代码中所有我们自己起的名字,起名规则我们通常会遵守阿里巴巴规范

4.1标识符的命名规则

4.1.1规定

由数字、字母、下划线_、美元符$组成
不能以数字开头
不能用关键字命名
区分大小写

4.1.2建议

见名之意,驼峰命名

五、键盘录入

获取键盘按下的数据,并保存在变量当中
代码实现:

importjava.util.Scanner;publicclassVariableDemo6{publicstaticvoidmain(String[]args){//键盘录入//先找到打工人Scanner,只需要写一次Scannersc=newScanner(System.in);inta=sc.nextInt();//接收键盘输入的值System.out.println(a);charb=sc.nextChar();//接收字符floatc=sc.nextFloat();//接收浮点数string str=sc.next();//接收文本}}

键盘录入练习:

六、算术运算符

6.1算术运算符


算术运算符操作:

packageoperator;publicclassOperatorDemo1{publicstaticvoidmain(String[]args){inta=10;intb=3;System.out.println(a+b);//13System.out.println(a-b);//7System.out.println(a*b);//30System.out.println(a/b);//3System.out.println(a%b);//1System.out.println("-----------");//小数直接参与计算,计算结果可能是不精确的}}
  1. 整数相除结果是整数
  2. 小数直接参与结算结果可能不精确

练习:数值拆分

importjava.util.Scanner;publicclassOperatorDemo2{publicstaticvoidmain(String[]args){//拆分数值5Scannersc=newScanner(System.in);//找到打工人System.out.println("请输入一个数字:");inta=sc.nextInt();//接收键盘输入的数字intnum1=a%10;intnum2=a/10%10;intnum3=a/100;System.out.println("个位数是:"+num1);System.out.println("十位数是:"+num2);System.out.println("百位数是:"+num3);}}

运算符练习题:

6.2类型转换

算术运算的三种类型

  1. 数字运算
  2. 字符运算
  3. 字符串运算

数字运算:类型不一样不能运算,需要转换成同类型的才能计算
以取值范围为标准转换,把范围小的转换成范围大的
隐式转换不需要写代码


强制转换

6.3字符运算

packageoperator;publicclassOperatorDemo6{//单个字母的大小写转换//A------>apublicstaticvoidmain(String[]args){charch='A';charcc=(char)(ch+32);System.out.println(cc);}}

6.4字符串运算


任意数据+字符串 都是拼接操作,产生新的字符串

七、自增自减运算符

++:
变量的值+1变量的值+1变量的值+1

- -:
变量的值−1变量的值-1变量的值1

八、赋值运算符

九、关系运算符


十、逻辑运算符


短路逻辑运算符:

十一、三元运算符

十二、运算符的优先级

十四、结语

本篇是java入门的语法篇,主要介绍java编程语言中的一些基本语法为后续学习打下基础,不难发现java的一些基本语法和C语言中类似,所以要学会触类旁通,学习并掌握了一门编程语言后再学习其他的编程语言效率会比零编程基础直接学习更高,因为编程语言的本质是互通的。

ppt部分的截图来自黑马程序员,是B站一个非常不错的博主,推荐他的课程
若文章中存在任何错误欢迎批评指正,大家共同进步!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 4:41:01

3个高效实用技巧:用PubMed文献批量下载工具提升科研效率

3个高效实用技巧:用PubMed文献批量下载工具提升科研效率 【免费下载链接】Pubmed-Batch-Download Batch download articles based on PMID (Pubmed ID) 项目地址: https://gitcode.com/gh_mirrors/pu/Pubmed-Batch-Download 在学术研究中,文献批量…

作者头像 李华
网站建设 2026/5/12 7:41:00

3步解锁PS手柄全功能:PC游戏操控增强指南

3步解锁PS手柄全功能:PC游戏操控增强指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 如何让PS手柄完美支持PC游戏?当你兴冲冲地将PS4/PS5手柄连接到电脑&#…

作者头像 李华
网站建设 2026/5/22 1:18:06

SMUDebugTool进阶应用指南:从基础操作到硬件级调试

SMUDebugTool进阶应用指南:从基础操作到硬件级调试 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitco…

作者头像 李华
网站建设 2026/5/3 7:20:34

Allegro等长设置中的Delta与Tolerance详解(实战图解)

1. Allegro等长设置基础概念 刚接触Allegro等长设置时,很多工程师都会被Delta和Tolerance这两个参数搞得一头雾水。我刚开始做DDR布线时也踩过不少坑,后来才发现只要理解清楚这两个参数的含义,等长设置其实并不复杂。 等长设置的核心目的是为…

作者头像 李华
网站建设 2026/5/16 8:08:33

如何用城通网盘直连工具实现高效下载?5个实用技巧

如何用城通网盘直连工具实现高效下载?5个实用技巧 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 城通网盘直连工具是一款本地运行的网盘解析应用,无需服务器参与即可在浏览器中…

作者头像 李华
网站建设 2026/5/9 17:57:36

5个技巧打造无缝协同的家庭游戏共享系统:从设备协同到带宽优化

5个技巧打造无缝协同的家庭游戏共享系统:从设备协同到带宽优化 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/s…

作者头像 李华