news 2026/7/15 2:57:21

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/7/13 15:31:56

INAV混合飞行控制系统:固定翼与多旋翼无缝切换技术详解

INAV混合飞行控制系统:固定翼与多旋翼无缝切换技术详解 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav 在无人机应用领域,如何兼顾垂直起降的灵活性与长航时巡航能力…

作者头像 李华
网站建设 2026/7/1 8:29:40

魔兽争霸3帧数优化与兼容性完美解决方案

魔兽争霸3帧数优化与兼容性完美解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否也曾遇到这样的情况:好不容易将魔兽争霸3的…

作者头像 李华
网站建设 2026/7/1 8:29:38

3个高效功能让中文文献管理者效率提升10倍

3个高效功能让中文文献管理者效率提升10倍 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否每天花费数小时在文献管理上&…

作者头像 李华
网站建设 2026/7/8 1:58:28

从差分信号到高速传输:LVDS在FPGA中的SelectIO IP核实战解析

从差分信号到高速传输:LVDS在FPGA中的SelectIO IP核实战解析 1. LVDS技术基础与FPGA应用场景 在高速数字电路设计中,差分信号传输技术因其出色的抗干扰能力和低功耗特性,已成为现代电子系统不可或缺的组成部分。LVDS(Low-Voltage …

作者头像 李华
网站建设 2026/7/12 15:02:28

数字身份自主权:iOS跨平台位置隐私管理技术探索

数字身份自主权:iOS跨平台位置隐私管理技术探索 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 当数字足迹成为枷锁时:我们为何需要…

作者头像 李华