第2章-数据类型和运算符jjjj_第1页
第2章-数据类型和运算符jjjj_第2页
第2章-数据类型和运算符jjjj_第3页
第2章-数据类型和运算符jjjj_第4页
第2章-数据类型和运算符jjjj_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章数据类型和运算符第一单元第1页/共39页本章相关学习资源《数据类型和运算符》专题《使用Java实现面向对象编程》第2章《数据类型和运算符》第2页/共39页预习检查说出标识符的命名规则。请说出Java中的三类注释。使用Scanner需要导入哪个包?列举关系运算符有哪些。提问第3页/共39页本章任务任务1:实现个人简历信息输出任务2:实现模拟幸运抽奖第4页/共39页掌握标识符和关键字了解Java中的数据类型掌握算术运算符、关系运算符、逻辑运算符和赋值运算符本章目标点重第5页/共39页掌握变量和常量的使用点重掌握数据类型转换了解位运算符、条件运算符点重点难串讲:标识符命名规则第6页/共39页作用:赋予变量、方法、类和接口的名称;在Java中标识符的命名必须符合以下规则:标识符必须以字母或下划线或$符号开始。其余字符可以是字母、数字、$符号和下划线。标识符只能包含两个特殊字符,即下划线(_)和美元符号($)。不允许有任何其他特殊字符。标识符不能包含空格。不能是Java中关键字是大小写敏感的,且无最大长度合法标示符非法标示符try1try#group_7

7group

opendoor

open-door

boolean_1

boolean

/**HelloWorld.java*2013-03-21*我的第一个Java程序*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){

//输出消息到控制台

System.out.println("HelloWorld!!!"); }}文件的名称日期功能说明串讲:Java程序的注释示例为了美观,多行注释的每一行开头可写一个或多个*多行注释以“/*”开头以“*/”结尾注释以//开始以行末结束第7页/共39页数据属于不同类别非洲ThequickbrownfoxTRUE数据非数值数值整型非整型9002.129999/12/20032.175123陈扬char非数值数值整型int……floatdouble浮点型String数据类型讲解:Java的基本数据类型booleanString不是基本数据类型,是引用数据类型,它是Java提供的一个类第8页/共39页类型数的范围byte-128-127short-32,768-32,767int-2,147,483,648-2,147,483,647long-9,223,372,036,854,775,808-9,223,372,036,854,775,807float3.4E-038-3.4E+038double1.7E-308-1.7E+308char\u0000-\uFFFFbooleanfalse、true讲解:常量常量是在程序运行中,值不能_____的量类型举例整型常量789(十进制)、077(八进制)、11E(十六进制)浮点型常量3.4f(float型)、3.4(double型)布尔常量true、false字符常量'A'(普通)、'\n'(转义)、'\\'(特殊)字符串常量"java语言"null常量null符号常量finaldoublePI=3.14;doublearea=PI*r*r;//计算面积改变第9页/共39页通过变量名可以简单快速地找到它存储的数据房间房间名字房间类型入住的客人变量变量名变量类型变量值对应讲解:变量第10页/共39页publicclassTest{publicstaticvoidmain(String[]args){

intmoney;//本金

money=1000;

}}讲解:变量声明及使用2-1银行账户中存储本金1000元,显示存款金额数据类型变量名存的数值System.out.println(money);//使用变量intmoney=1000;//合二为一示例演示示例:变量声明及使用第11页/共39页使用变量的步骤第一步:声明变量,根据数据类型在内存申请空间第二步:赋值,将数据存储至对应的内存空间

第三步:使用变量,获取数据值数据类型变量名;讲解:变量声明及使用2-2变量名=数值;数据类型变量名=数值;第一步和第二步可以合并intmoney;money=1000;intmoney=1000;第12页/共39页上机练习练习完成时间:5分钟共性问题集中讲解第13页/共39页需求说明使用变量存储数据,实现个人简历信息的输出分析使用变量保存数据输出这些变量doublefirstAvg=81.29;//第一次平均分doublesecondAvg;//第二次平均分intrise=2;secondAvg=firstAvg+rise;System.out.println("第二次平均分是:"+secondAvg);讲解:自动类型转换某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分。第14页/共39页如果一个操作数为double型,则整个表达式可提升为double型满足自动类型转换的条件两种类型要兼容数值类型(整型和浮点型)互相兼容目标类型大于源类型例如:double型大于int型讲解:自动类型转换规则第15页/共39页intage=19;charsex='女';charresult=age+sex;inta=10;intb=10.2;doublec=10;c=a;intd=c;讲解:常见错误下面语句正确吗?常见问题int不可以自动转换成chardouble不可以自动转化成int第16页/共39页intnow=before+(int)rise;intbefore=20;//去年市场份额doublerise=9.8;//增长的份额intnow=before+rise;//现在的份额讲解:强制类型转换去年Java所占市场份额是20,今年增长的市场份额是9.8,求今年所占份额?intb=(int)10.2;doublea=10;intc=(int)a;更改为语法问题(数据类型)表达式演示示例:强制类型转换编译出错:不能完成自动类型转换强制类型转换第17页/共39页使用Scanner可以接收用户键盘输入的字符使用Scanner的步骤第一步:导入Scanner类第二步:创建Scanner对象第三步:获得键盘输入的数据串讲:Scanner2-1importjava.util.*;Scannerinput=newScanner(System.in);示例第18页/共39页intnow=input.nextInt();串讲:Scanner2-2Scanner常用方法方法说明Stringnext()获得一个字符串intnextInt()获得一个整型数值doublenextDouble()获得一个双精度类型数值booleanhasNext()判断是否有输入数据。如果有输入数据,则返回true;否则,返回false第19页/共39页上机练习练习完成时间:15分钟共性问题集中讲解第20页/共39页需求说明使用Scanner类获取键盘输入的会员卡号,并将该数据存储在变量中,输出这个变量的信息分析导入Scanner类创建Scanner对象,获取键盘输入的int数据将数据存入变量,输出这个变量串讲:运算符第21页/共39页运算符含义示例求值+加c=a+b-减c=a-b*乘c=a*b/除c=a/b%取模c=a%b++递增a++--递减b--+=相加并赋值c+=ac=c+a-=相乘并赋值c*=ac=c*a/=相除并赋值c/=ac=c/a%=取模并赋值c%=ac=c%a-取负数c=-a算术运算符

关系运算符关系运算符用于测试两个操作数之间的关系。关系表达式将返回一个布尔结果。运算符含义示例==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b第22页/共39页逻辑运算符逻辑运算符与布尔操作数一起使用运算符含义示例!逻辑反!A||短路或A||B&&短路与A&&B第23页/共39页赋值运算符一次可以为多个变量赋值,如:inta=20000;intp,q,r,s;p=q=r=s=a;赋值运算符(=)用于为变量赋值第24页/共39页三元运算符(?:)三元运算符(?:)可以替代if-else结构true

false条件

?表达式1:表达式2classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;

salary=daysPresent==20?2000:3000; System.out.println("您本月薪资为

$"+salary);}}第25页/共39页用加号(+)进行串链接运算符+能够:进行String链接生成一个新的String例如:

Stringsalutation="Dr.";

Stringname="Jack"+"Arthur";

Stringtitle=salutation+name;最后一行的结果是:

Dr.JackArthur一个自变量必须是String对象非串被自动转换为String对象-toString()第26页/共39页intnum1=5;intnum2=2;intyu=num1%num2;intshang=num1/num2;System.out.println(num1+"%"+num2+"="+yu);System.out.println(num1+"/"+num2+"="+shang);num1++;num2--;System.out.println("num1="+num1);System.out.println("num2="+num2);串讲:算术运算符输出输出下面代码片断的输出结果是什么?示例%求余数/求商等价于:num1=num1+1;等价于:num2=num2–1;5%2=15/2=2num1=6num2=1第27页/共39页演示示例:算术运算符8080zhangScore=wangScore;

//将右边的值给左边的变量intwangScore=80;//王浩成绩intzhangScore;//张萌成绩wangScore=zhangScore;System.out.println(“张萌成绩是"+zhangScore);串讲:赋值运算符2-1学员王浩的Java成绩是80分,学员张萌的Java成绩与他的相同,输出张萌的成绩赋值运算符wangScorezhangScore副本代码错误问题第28页/共39页a=(b+3)+(b–1)表达式表达式表达式串讲:赋值运算符2-2变量名=

表达式;语法示例表达式就是符号(如加号、减号)与操作数(如b,3等)的组合第29页/共39页上机练习练习完成时间:15分钟共性问题集中讲解第30页/共39页需求说明键盘输入四位数字的会员卡号使用“/”和“%”运算符分解获得会员卡各个位上的数字将各个位上数字求和分析通过求余运算分别获得会员卡号的个、十、百、千位的数字串讲:关系运算符注意运算符含义范例结果==等于5==6false!=不等于5!=6true>

大于5>6false<

小于5<6true>=大于等于5>=6false<=小于等于5<=6true=为赋值运算符,==为等于运算符关系表达式的结果为布尔值>、<、>=、<=运算符的优先级别高于==、!=>、<、>=、<=运算符只支持数值类型的数据比较第31页/共39页串讲:逻辑运算符注意运算符含义运算规则&逻辑与两个操作数都是true,结果才为true|逻辑或两个操作数一个是true,结果为true^逻辑异或两个操作数相同,结果为false;两个操作数不同,结果为true;!逻辑反操作数为true,结果为false;操作数为false,结果为true;操作数类型只能是布尔类型,操作结果也是布尔值优先级别

!>&>^>|>&&>||第32页/共39页小结第33页/共39页请下面这段代码的运行结果是?提问publicstaticvoidmain(String[]args){System.out.println(!((23+30%2*3)>12));}false串讲:位运算符2-1运算符含义运算规则&按位与两个操作数都是1,结果才为1|按位或两个操作数一个是1,结果为1^按位异或两个操作数相同,结果为0;两个操作数不同,结果为1;~按位非/取反操作数为1,结果为0;操作数为0,结果为1;<<

左移右边空位补0>>右移左侧空位补最高位,即符号位>>>无符号右移

左侧空位补0第34页/共39页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论