java变量定义与数据类型

news/2024/9/17 23:49:46/文章来源:https://www.cnblogs.com/zhuzhuya/p/18372484

变量:在java程序运行过程中,其值可以发送改变的量
定义变量的语句格式:
数据类型 变量名 = 初始化值;
使用变量的注意事项
1、使用基本数据类型的变量,实际上使用的是变量中存储的值
2、在同一作用域(同一个大括号)中,变量名不能重复
3、变量名是区分大小写的
4、java中整数默认是int类型
5、如果要定义一个long类型的变量,需要在值的后面加上l或者L,推荐使用L
6、java中小数默认是double类型
7、如果要定义一个float类型的变量,需要在值的后加上f或者F,推荐F
8、定义一个变量,占用一行,分号结尾
9、所有的未初始化变量,都无法直接使用,建议在定义的同时给一个默认值
10、java是强类型语言,变量一旦确定了数据类型,后续赋值的时候,就只能赋值该范围内的值。

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型

不同的数据类型所表示的范围大小,占用空间不一样


1、java中变量参与运算会先根据自动类型转换提升数据类型,然后再运算

char i = '2'+2;

2、java中常量之间运算,会先进行运算,再根据运算的结果看一看在不在目标数据类型范围内,如果在,就直接赋值

float f = 11.1F;
double b= 255.0;
short s1 = 1;

3、一般情况下,等号右边的数据类型应该小于左边的数据类型,反之,需要将右边进行强制类型转换

 byte b1=3,b2=4,b ;b= (byte) (b1 + b2);

默认转换
byte,short,char—int—long—float—double
byte,short,char相互之间转换,他们参与运算首先转换为int类型
整数默认:int 小数默认:double

        int a1 = 3;byte b1 = 4;int c1 = a1 + b1;System.out.println(c1);
System.out.println('a' + 1 + "hello"); // 98hello

强制转换
目标类型 变量名=(目标类型)(被转换的数据);
注意:强制类型转换,一般不推荐使用,因为可能会造成精度损失

byte b = (byte)130;
System.out.println(b); //-126
//因为byte的范围在-128-127之间,130>127
//所以需要将130进行强制类型转换,由int型变成byte型
//首先,130对应二进制编码为:00000000 00000000 00000000 //10000010,同时原码,反码和补码也是他们本身
//在强制转换之后:1 0000010 最高位即符号位是1,说明该数是一个负//数,则其对应反码和补码为1 0000001(补码数值位减一,符号位不变),
//1 1111110(反码数值位按位取反,符号位不变),将数值位转成十进制为
//64+32+16+8+4+2 = 126,则最终答案是-126
//由上可知:强制类型转换后,精度减少了12位

图例展示精度问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/785089.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

040、Vue3+TypeScript基础,使用nanoid库生成id

01、使用powershell,输入npm i nanoid来安装: 02、App.vue代码如下:<template><div class="app"><h2 class="title">App.Vue</h2><Page1/><br><Page2/></div> </template><script lang="…

2024.8.21 鲜花

太水了,但还是有重点的Never Gonna Give You Up Were no strangers to love You know the rules and so do I A full commitments what Im thinking of You wouldnt get this from any other guy I just wanna tell you how Im feeling Gotta make you understand Never gonna…

AI大模型应用

参考文档https://creative.chat/1.调用AI大模型API 1.1文心一言 https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application创建应用:https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application 示例代码:https://console…

【Azure Redis】AKS中使用Lettuce连接Redis Cache出现 timed out 问题的解决思路

问题描述 使用 Lettuce 客户端,在AKS环境中连接Azure Redis服务,出现超时错误。 错误消息: Redis command timed out , command timed out after 1 minute(s). 错误截图: 解决思路 当出现Redis客户端连接不上时,需要先排查Redis服务器的状态,比如Server Load是否处于高…

关键字、标识符、注释三剑客

关键字概述 被Java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 关键字注意事项 goto和const作为保留字存在,目前并不使用 类似IDEA这样的集成工具,针对关键字有特殊的颜色标记,非常直观标识符概述 就是给类,接口,方法,变量等起名字时使用的字符序列 组成规则…

三步高考大捷

hi, ____________,见字如晤,展信舒颜。 首先,预祝你考上理想的大学。 当然,这并不容易。正因为有难度,我们才一起引入 OKR 方法论 OKR(Objectives and Key Results, 目标与关键结果)。 大名鼎鼎的 OKR 最早是由 Goolge 这个全球聚集最聪明人的企业管理方法。 后来,人们发…

Python个人收入影响因素模型构建:回归、决策树、梯度提升、岭回归

全文链接:https://tecdat.cn/?p=37423 原文出处:拓端数据部落公众号“你的命运早在出生那一刻起便被决定了。”这样无力的话语,无数次在年轻人的脑海中回响,尤其是在那些因地域差异而面临教育资源匮乏的年轻人中更为普遍。在中国,这种现象尤为明显:没有生在大城市的他们…

1092. 最短公共超序列

非常好的一道理解LCS本质的题目class Solution { public:string longestCommonSubsequence(const string str1, const string str2) {int m = str1.length();int n = str2.length();// 创建一个二维数组来存储LCS的长度vector<vector<int>> dp(m + 1, vector<in…

【转】管理者,一定要有道-法-术的思维模型

我有一个观点:作为管理者,必须要有“道法术”的思维模型。 具备这样的思维,才能穿透表象,站在更高的维度去解决管理上遇到的问题。 今天,我们一起来聊聊这个话题。 术:学工具、学方法 问题来了,什么是术? 王东岳老师说:术,就是看你能驱动什么。 简单来说,术,就是工…

更漂亮的 7-Zip

搬运更漂亮的 7-Zip(并添加了 Jar 关联) - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn 作为一款强大的开源压缩软件,7-Zip 的 UI 实在是太丑了,依然是上个世纪的风格。这里通过修改源代码并重新编译的方式,更换了它的文件管理器图标和文件…

Summarization with Langchain

教程链接 — https://youtu.be/w6wOhSThnoo 摘要是自然语言处理(NLP)的一个关键方面,它能够将大量文本浓缩成简洁的摘要。LangChain,作为NLP领域中的一个强大工具,提供了三种不同的摘要技术:stuff、map_reduce和refine。每种方法都有其独特的优点和局限性,使它们适用于不…