版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章
变量、数据类型和运算符/掌握变量的概念会使用常用数据类型会使用常用运算符会进行数据类型转换学习目标变量15内存中的数据数据15内存应用程序要为每一项数据分配内存需要多少内存数据被存储在哪个通过变量,可以为内存中的位置提供一个有意义的名称变量是存储数据的一个基本单元变量变量的定义
变量是指在程序执行过程中,其值可以改变的量。在内存的数据区中,会为变量分配存储空间来存放变量的值,这个内存空间的地址对应着变量名称,所以在程序中可以通过变量名称来区分和使用这些内存空间。按变量声明的位置划分,变量的分类如下成员变量:方法外部,类的内部定义的变量。局部变量:方法或语句块内部定义的变量。变量的声明和初始化JAVA变量使用前必须首先声明成员(全局)变量创建后::系统会自动对其进行默认值初始化,可以不手动赋初值局部变量创建时:必须显式初始化(手动赋初值),不具备自动初始化的能力变量命名规则2-1在Java语言中,
标识符是给类、变量和方法等取的名称。标识符的命名规则:由字母、数字、下划线、$符号组成,但不能以数字开头不能是关键字和保留字区分大小写标识符的长度没有限制。中文的变量和字符也是合法的,但不推荐使用。变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScore/变量命名规则2-2检查下面这些是否是合法的变量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint××××/变量的声明和赋值使用变量的步骤:第一步:声明一个变量第二步:赋值第三步:使用变量数据类型变量名=数值;根据类型开辟空间将数据存入空间取出数据使用数据类型变量名;变量名=数值;intmoney=1000;intmoney;money=1000;Java数据类型Java数据类型示意图:数据类型基本(简单)数据类型引用(复合)数据类型数值型类(class)接口(interface)数组整数类型(byte,short,int,long)浮点类型(float,double)字符型(char)布尔型(boolean)Java数据类型整数类型:
包含以下4种:byte\short\int\long每一种类型都有各自占用的内存空间和不同范围的表数范围如下:类型名大小(字节)范围byte1(8bit)-128~127short2(16bit)-32768~32767int4(32bit)-2147483648~2147483647long8(64bit)-9223372036854775808~9223372036854775807Java数据类型JAVA语言中整型常量的三种表示形式:
十进制整数,如12,-314,0。八进制整数,要求以0开头,如012十六进制数,要求0x或0X开头,如0x12JAVA语言中的整型常量默认为int型,
如:inti=3;声明为标准的long型常量可以在其后加‘l’或‘L’,
如:
longl=3L;Java数据类型浮点型浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型,如下表所示:类型名大小(字节)范围float4(32bit)-3.4E38~3.4E38double8(64bit)-1.7E308~1.7E308JAVA浮点类型常量有两种表示形式:十进制数形式,必须含有小数点,例如:3.14314.0.314科学记数法形式,例如:3.14e23.14E2314E2
注意:JAVA中浮点型常量默认为double型。也可以在数字后面加d或D
要声明一个常量为标准的float型,则需在数字后面加f或F,如:
doubled=3.14;floatf=3.14f;或者floatf=3.14F;Java数据类型Char类型
char字符型保存无符号(不能表示负数)的16位双字节码位,其值的范围从0到65535,每个码位(或字符代码)表示单个Unicode字符。字符常量是用单引号括起来的单个字符,如:
charc='A';char的默认值是码位为0的Unicode编码的字符。字符型数据对应了int的正半轴,是int类型的一个子集String类型
在java中用String类型来表示字符串,是引用数据类型,不是基本数据类型。字符串常量用双引号括起来,如Stringstr=“hello”;Java数据类型特殊字符的转义序列符字符含义Unicode值\b退格\u0008\t制表\u0009\n换行\u000a\r回车\u000d\”双引号\u0022\’单引号\u0027\\反斜杠\u005cJava数据类型boolean类型
boolean类型适合于逻辑运算,只允许取值true或false,不可以使用0或非0的整数替代true和false类型名大小(字节)范围boolean1(8bit)true或false/publicclassHello3{publicstaticvoidmain(String[]args){Stringtitle;System.out.println(title);}}Stringtitle;//声明变量titletitle="Java";//赋值Stringtitle="Java";//声明变量title并赋值12先声明变量并赋值,然后才能使用常见错误1代码错误正确方案/
变量名不能以%开始常见错误2publicclassHello4{publicstaticvoidmain(String[]args){int%hour=18;System.out.println(%hour);}}代码错误/publicclassHello5{publicstaticvoidmain(String[]args){Stringname="张三";Stringname="李四";}}
声明两个同名变量导致编译错误Stringname="张三";StringName="李四";Java程序区分大小写常见错误3正确方案java基本数据类型转换自动类型转换在某种条件下,系统自动完成类型转换两种类型兼容,且目标类型大于源类型byte->short->int->long->float->double强制类型转换两种类型兼容,且目标类型小于源类型格式:(类型名)表达式如:inta=12;byteb=(byte)a;包装类过渡类型转换
如:float型转换为double型时:floatf1=100.00f;
FloatF1=newFloat(f1);
Doubled1=F1.doubleValue();/intage=19;charsex=‘女’;
charresult=age+sex;
下面语句正确吗?inta=10;intb=10.2;doublec=10;c=a;floatd=c;常见错误/小结1使用变量存储以下MP3信息,并打印输出品牌(brand):爱国者F928重量(weight):12.4电池类型(type):内置锂电池价格(price):499
定义变量有哪两种方式?表达式和运算符
表达式由操作数和运算符的组合而成表达式中的操作数可以是变量、常量或者子表达式运算符的主要类型有:赋值运算符算术运算符关系运算符逻辑运算符位运算符其他运算符Z=(X*2)+(5–Y)变量名表达式;赋值运算符2-1=赋值运算符JAVA中的"="表示的是赋值符号,当“=”两侧的数据类型不一致时,可以使用默认类型转换或强制类型转换原则进行处理特例:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,前提是只要不超出其表数范围
如:byteb=12;//合法byteb=4096;//非法
某班的A学员Java成绩是80分,B学员与A学员成绩相同,输出B学员成绩赋值运算符2-2运算符表达式计算结果(假设X=10)+=X+=5X=X+515-=X-=5X=X-55*=X*=5X=X*550/=X/=5X=X/52%=X%=5X=X%50复合赋值运算符算术运算符2-1基本算术运算符算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用在char类型上,因为实质上char类型是int类型的一个子集。除法运算符/,如果两个操作数都是整数的话就做整除运算。求模运算符%,其运算结果是整数除法的余数,它能像整数类型一样被用于浮点类型(这不同于C/C++中模数运算符%仅仅能用于整数类型)某学员3门课成绩如右表所示,编程实现:
1、Java课和html课的分数之差
2、3门课的平均分课程分数oracle89Java90html60+-*/%算术运算符2-2算术运算符中还有两个一元运算符:++,--表达式(num1=5)如何计算结果num2=++num1;num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;num1=num1-1;num2=num1;num2=4;num1=4;num2=num1--;num2=num1;num1=num1-1;num2=5;num1=4;/intnum1=5;intnum2=2;inta=num1%num2;intb=num1/num2;System.out.println(num1+"%"+num2+"="+a);System.out.println(num1+"/"+num2+"="+b);intc=num1++;intd=--num2;System.out.println("num1="+num1);System.out.println("num2="+num2);5%2=15/2=2下面代码片断的输出结果是什么?输出%:求余数/:求商num1=6num2=1输出关系运算符常用关系运算符关系运算符用于决定值和值之间的关系。JAVA中的任何类型,包括整数、浮点数、字符以及布尔型都可用“==”来比较是否相等,用”!=”来测试是否不等。只有整数、浮点数和字符运算数可以用来比较大小。关系运算符的结果是boolean类型。
><>=<===!=逻辑运算符逻辑运算符的操作数只能是布尔型。而且逻辑运算的结果也是布尔型当第一个运算数能决定表达式的值的时候,JAVA就不会对第二个运算数求值,只有在需要时才对第二个运算数求值。
&&:
第一个操作数为假则不判断第二个操作数||:第一个操作数为真则不判断第二个操作数运算符表达式说明&&条件1&&
条件2仅仅两个条件同时为真,结果为真||条件1||
条件2只要两个条件有一个为真,结果为真!!
条件条件为真时,结果为假条件为假时,结果为真练习以下条件该怎么表达?要求学生考试平均分在80分以上,并且出勤率75%以上的学生才能毕业,否则要留级。不需要补课的条件:3门课程中有一门成绩高于90即可。选出年龄为18岁和20岁的学生选出年龄在18—20岁之间的男生位运算符位运算符首先针对的位来进行运算的。可以作用于数值型,也可以作用于布尔类型
数值中的操作:|按位或(两数据对应位都是0,则该位为0,否则为1)&按位与(两数据对应位都是1,则该位为1,否则为0)^
按位异或(两数据对应位相反,则该位为1,否则为0)<<左移位>>右移位(左侧填充符号位)>>>无符号右移位~按位取反(1变0,0变1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东省技能兴鲁职业技能大赛(兽药质量检验员)仿真试题及答案
- 2026年秋季统编版小学语文二升三分班摸底考试模拟试卷含参考答案(三套)
- 细胞增殖 教学设计
- 2026年高考(生物)陕西省、山西省、青海省、宁夏回族自治区真题试卷
- 北师大版初中七年级英语上册 Unit 2 School Life Lesson 4 My Favourite School Places 教案
- 北师大版小学数学四年级上册《商不变的规律》核心素养教学设计
- 初中八年级历史《战略转移与革命新局:中国工农红军长征》导学案
- 高效沟通技巧助力咨询服务品质升级
- 新版人教版一年级下册(新教材)小学美术每课教学反思-教学设计
- 《电磁场与电磁波》课程单元教学设计:时变电磁场与麦克斯韦方程组
- 2026-2030中国染发剂行业现状调查与发展前景预测分析研究报告
- 2026山东师范大学综合评价综合素质考核笔试+面试模拟试题(二)
- 2026江苏苏州常熟市融媒体中心(传媒集团)招聘7人备考题库有答案详解
- 2026学年安徽省宿州市三年级语文期末点睛提升经典测试题详细参考解析详细答案和解析
- 2026-2030中国海洋环境监测行业市场发展现状及竞争格局与投资发展研究报告
- 外墙曲臂车高空作业专项施工方案
- 北师大版三年级数学下册期末测试卷(名校版)含答案
- 《畜禽品种(配套系) 小尾寒羊》
- 闸门启闭机运行验收记录
- 雨课堂学堂在线学堂云《自然辩证法概论(北京航空航天)》单元测试考核答案
- 2026年北京市西城区初三二模英语试卷(含答案)
评论
0/150
提交评论