当前位置: 首页 > news >正文

【Java】数据类型与变量(二)

目录

3.变量

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.4.3单精度浮点型与双精度浮点型精度范围对比​编辑

3.5字符型变量

3.6布尔型变量


3.变量

3.1什么是变量(变量的概念)

什么是变量?

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计算结果等,对于这些经常改变的内容,在Java程序中, 称为变量。而数据类型就是用来定义不同种类变量的

 3.2语法格式

3.3整型变量

3.3.1整型变量如何定义

方式一: 在定义时给出初始值
inta= 10;
System.Out.println(a);
方式二:在定义时没有给初始值,但使用前必须设置初值,
int b;
b= 10;
System.Out.printIn(b);
使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
int C;
System.Out.println(C);
C= 100;
int型变量所能表示的范围:
System.Out.println(Integer.MIN VALUE);
System.Out.println(Integer .MAX. VALUE);
注意:在定义int性变量时,所赋值不能超过int的范围
int d= 12345678901234; // 编译时报错,初值超过了int的范围

 3.3.2长整型变量

 

3.3.3短整型变量 

注意事项:
1. short在任何系统下都占2个字节
2. short的表示范围为: -32768 ~ 32767
3.使用时注意不要超过范围(一般使用比较少)
4. short的包装类型为Short

 

3.3.4字节型变量

 

 

3.4浮点型变量 

3.4.1双精度浮点型

代码一:思考以下代码是否会输出0.5

答案是不会输出0.5

在Java中, int除以int的值仍然是int(会直接舍弃小数部分)。如果想得到0.5,需要使用double类型计算.

代码二:使用了double类型进行计算即可输出0.5

 

代码三:

为什么会输出这个结果而不是1.21呢,这与浮点型在计算机中的存储方式有关,感兴趣的同学可以学习一下《计算机组成原理》这本书,这里就不详细解释了。

注意事项:

1. double在任何系统下都占8个字节
2.浮点数与整数在内存中的存储方式不同,不能单纯使用2”的形式来计算
3. double的包装类型为Double
4. double类型的内存布局遵守IEEE 754标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值

 3.4.2单精度浮点型

float类型在Java中占四个字节,同样遵守lEEE 754标准.由于表示的数据精度范围较小,一般在工程上用到浮点数都优先考虑double,不太推荐使用float. float的包装类型为Float。

3.4.3单精度浮点型与双精度浮点型精度范围对比

3.5字符型变量

注意事项:
1. Java中使用单引号+单个字母的形式表示字符字面值.
2.计算机中的字符本质上是一个整数. 在C语言中使用ASCII码表示字符,而Java中使用Unicode表示字符因此一个字符占用两个字节,表示的字符种类更多,包括中文.

上述代码执行javac的时候可能出现以下错误

此时我们在执行javac时加上-encoding UTF-8选项即可:

注意:

char类型的包装类型为Character

3.6布尔型变量

3.Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现中,boolean占1个字节。

4. boolean的包装类型为Boolean。

 


http://www.mrgr.cn/news/13588.html

相关文章:

  • 什么是美颜SDK?视频美颜API集成与优化技术探索
  • openGauss在龙芯平台部署的实践
  • 游戏开发设计模式之模板方法模式
  • Leetcode面试经典150题-122.买卖股票的最佳时机II
  • [LeetCode]139.单词拆分(C++)
  • 使用ffmpeg+node-media-server实现从rtsp服务器拉流再推送至rtmp服务器,实现http+flv进行web播放
  • 【Go语言成长之路】泛型入门
  • 【Linux】软硬链接和动静态库
  • 安美数字酒店宽带运营系统-任意文件读取
  • Python编码系列—Python CI/CD 实战:构建高效的自动化流程
  • Ai产品经理的探索:技能、机遇与未来展望
  • Django 框架中values和values_list的区别
  • 冒泡排序
  • uniapp-Vue项目如何实现国际化,实现多语言切换,拒绝多套开发,一步到位,看这篇就够
  • .NET 中的字符流、字节流和缓冲流
  • java 使用 jakarta.mail 发送邮件
  • Linux下TCP编程
  • error:0308010C:digital envelope routines::unsupported【超详细图解】
  • 数据结构(邓俊辉)学习笔记】串 09——BM_BC算法:以终为始
  • 基于大数据的电信诈骗行为可视化系统含预测研究【lightGBM,XGBoost,随机森林】