2023年黑马程序员Java教程变量待拆.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 黑马 程序员 Java 教程 变量
- 资源描述:
-
变量 1.5.1 变量的概念 定义:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。 特点:变量其实就是将不拟定的数据进行存储,也就是需要在内存中开辟一个空间。 为什么要定义变量? 用来不断的存放同一类型的常量,并可以反复使用。 定义变量的格式: 数据类型 变量名 = 初始化值; 例如:byte b = 3; P.S. 1、格式是固定的,记住格式,以不变应万变。 2、变量的作用范围(一对{}之间有效)。 3、变量只能存放某一类型的数据。 理解: 变量就如同数学中的未知数X。 1.5.2 Java语言的数据类型 Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分派了不同大小的内存空间: byte 1个字节 short 2个字节 int 4个字节 long 8个字节 float 4个字节 double 8个字节 char 2个字节 Java语言的数据类型涉及8种基本类型,3种引用类型。 P.S. 1、整数默认类型:int类型,小数默认类型:double类型。 2、double类型的小数精度比float类型的小数更高。 1.5.3 常见错误 错误示例一: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. byte b = 3; 5. byte b = 8; 6. } 7. } 复制代码 运营结果: 错误因素:变量定义一次以后,不能再重新定义一次。 错误示例二: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. long l = ; 5. System.out.println(l); 6. } 7. } 复制代码 运营结果: 错误因素:由于整数默认类型是int类型,假如数值超过了int类型的范围,那么就会报如上错误。即使是赋值给long类型的变量,但是由于后面的常量已经超过了int类型的范围,同样会报错。 解决方法:在数值后面加上一个“l”,就可以让编译器知道后面的常量是long类型。 代码如下: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. long l = l; 5. System.out.println(l); 6. } 7. } 复制代码 运营结果: 错误示例三: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. float f = 2.3; 5. System.out.println(f); 6. } 7. } 复制代码 错误因素:由于小数默认是double(8byte)类型,赋值给float(4byte)类型的变量,当然也许会损失精度,必然通但是编译器的审核。 解决方法:在数值后面加上一个“f”,让编译器知道后面的常量是float类型的。 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. float f = 2.3f; 5. System.out.println(f); 6. } 7. } 复制代码 运营结果: 错误示例四: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. int y; 5. System.out.println(y); 6. } 7. } 复制代码 运营结果: 错误因素:由于变量y是未初始化的,所以不能直接操作。 解决方法:一定要为变量y先赋值,再打印输出。 错误示例五: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. int z = 9; 5. } 6. System.out.println(z); 7. } 复制代码 运营结果: 错误因素:由于变量z的作用范围是在一对{}之间有效,超过这个范围就失效了。所以,找不到z这个符号。 解决方法:将大括号去掉,或者在大括号里面直接打印变量z。 错误示例六: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. char ch = 'a'; 5. System.out.println(ch); 6. } 7. } 复制代码 运营结果: 错误因素:编写程序时,不能使用中文符号。 解决方法:改成英文分号符号即可。 1.5.4 类型转换 类型转换在开发中也很常用,简朴来说就是类型之间互相的转化,类型转换共分两种,自动类型转换和强制类型转换。 1. 自动类型转换(隐式类型转换) 定义:自动类型转换就是不需要我们手动对类型来进行强制转换。 示例: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. int x = 3; 5. byte b = 5; 6. x = x + b; 7. System.out.println(x); 8. } 9. } 复制代码 运营结果: 说明:int类型的变量占4个字节,当byte类型的变量与其相加的时候,一方面会将byte类型的变量自动转化为4个字节的int类型,然后再进行加法操作。 2. 强制类型转换(显式类型转换) 定义:强制类型转换需要把类型进行手动转换,否则无法正常使用 示例: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. byte b = 3; 5. b = b + 200; 6. System.out.println(b); 7. } 8. } 复制代码 运营结果: 错误因素:当byte类型的变量提高为int类型与int类型的常量200相加后,结果仍然是int类型,再赋值给byte类型,当然会出现损失精度的错误。 解决方法:进行强制类型转换,也就是将占4个字节的int类型值,再强硬存储到占1个字节的byte变量中。 代码如下: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. byte b = 3; 5. b = (byte)(b + 200); 6. System.out.println(b); 7. } 8. } 复制代码 运营结果: 说明:结果为-53的因素是,200+3结果是203,换算成占1个字节空间的二进制也就是11001011。由于首位为1,所以是负数,除符号位外,其余部分取反加1,得1,0110101,即-53。 P.S. 1、只有数值类型才干进行加法操作,非数值类型不行。 示例: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. System.out.println(true+1); 5. } 6. } 复制代码 运营结果: 2、char类型数据也可以和int类型相加,但是一方面char类型数据会被自动提高为int类型。 示例: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. System.out.println('a'+1); 5. System.out.println('你'+1); 6. } 7. } 复制代码 运营结果: 说明:字符类型数据之所以可以自动提高为int类型是由于字符类型数据在计算机中也是用0、1表达的,int类型数据在计算机中也用0、1表达,所以char类型数据当然可以转换为int类型数据。但是,字符类型数据在计算机中使用0、1表达是按照何种顺序组合排列的则需要依据某个码表而定。Java中的内置码表是Unicode,既包含中文,也包含英文。 P.S. 通过强转也可以把数字强转成字符。 示例: 1. class VarDemo 2. { 3. public static void main(String[] args){ 4. System.out.println((char)('a'+1)); 5. } 6. } 复制代码 运营结果: 表达式的数据类型自动提高: 所有的byte型、short型和char的值将被提高到int型。 假如一个操作数是long型,计算结果就是long型; 假如一个操作数是float型,计算结果就是float型; 假如一个操作数是double型,计算结果就是double型。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




2023年黑马程序员Java教程变量待拆.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3107227.html