版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计Java程序设计初识Java第一章技能结构图本门课程目标学完本阶段课程后,你能够:运用Java编写命令行程序会编译、运行、调试、维护Java程序初步理解Java面向对象的编程思想具有独立分析问题和解决问题的能力,能够运用Java程序解决生活中遇到的简单问题课程项目展示我行我素购物管理系统(MyShopping)演示教员现场演示贯穿项目预习检查什么是计算机程序?Java相关的技术有哪些?开发Java程序的步骤有哪些?Java程序的基本框架是什么?Java的注释类型有哪些?本章任务编写第一个Java程序在控制台输出信息本章目标理解什么是程序了解Java的技术内容会使用记事本开发简单Java程序会使用输出语句在控制台输出信息熟悉Eclipse开发环境什么是程序程序一词来自生活,通常指完成某些事务的一种既定方式和过程在日常生活中,可以将程序看成对一系列动作的执行过程的描述介绍你从住处到学校上课的过程银行1、带上存折/银行卡去银行3、将存折或储蓄卡递给银行职员并告知取款数额2、取号排队5、银行职员办理取款事宜生活中的程序6、拿到钱并离开银行4、输入密码什么是指令?1、做口述笔记……2、键入信函的内容……3、发送传真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("传真");指令被逐条执行程序员老板秘书计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
要执行的一组指令程序3、传真计算机中的程序编写程序的工具就是计算机语言,Java就是多种语言中的一种为什么学习JavaJava是SunMicrosystems于1995年推出的高级编程语言Java领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术PK.PK.Java可以做什么
开发桌面应用程序银行软件、商场结算软件开发面向Internet的应用程序网上数码商城、阿里巴巴、易趣网演示示例1:Java2DDemoJava技术平台简介JavaSE:JavaPlatform,StandardEditionJavaEE:JavaPlatform,EnterpriseEdition
操作系统(包含运行环境)JavaEEJavaSE开发Java程序三步走1、编写源程序2、编译源程序3、运行使用记事本开发Java程序的步骤使用记事本编辑源程序,以.java为后缀名保存使用javac命令编译.java文件,生成.class文件使用java命令运行.class文件,输出程序结果publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}演示示例2:使用记事本开发Java程序步骤publicclassHelloWorld{
publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}外层框架Java入口程序框架编写代码Java程序的结构Java程序的结构publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}关键字类名与文件名完全一样main方法是Java程序执行的入口点{和}一一对应,缺一不可main方法四要素必不可少从控制台输出信息从控制台输出信息2-1System.out.println()System.out.print()publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!"); }}System.out.println()和System.out.print()有什么区别呢?打印完引号中的信息后会自动换行打印输出信息后不会自动换行从控制台输出信息2-2如何使System.out.println("");和System.out.print("\n");达到同样的效果?转义符说明\n将光标移动到下一行的第一格\t将光标移到下一个水平制表位置publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!\n"); }}打印输出信息后将会自动换行使用转义符
1、从控制台打印输出你的姓名和年龄2、从控制台打印输出“张三18”System.out.println("张三");System.out.println("18");System.out.print("张三\n");System.out.print("18");println:输出信息并执行换行print:输出信息,但不执行换行\n:换行符System.out.println("张三\t18");\t:制表位小结1参考代码参考代码Java程序的注释2-1/**HelloWorld.java*2011-9-8*第一个Java程序*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}文件的名称日期功能说明多行注释以“/*”开头,以“*/”结尾为了美观,多行注释的每一行开头可写一个或多个*Java程序的注释2-2publicclassHelloWorld{ publicstaticvoidmain(String[]args){
//输出消息到控制台
System.out.println("HelloWorld!!!"); }}单行注释以//开始,以行末结束Java编码规范publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}publicclassHelloWorld{ publicstaticvoidmain(String[]args) { System.out.println("HelloWorld!!!"); }}指出以下编码中的不规范之处不同层次代码没有缩进“{”一般放在某一行最末Java编码规范编码规范是作为一个程序员应该遵守的基本规则,是行业内大家都默守的做法不遵守规范的代码不是好的代码,不是专业的代码Java编码规范类名使用public修饰一行只写一条语句{}的使用及位置代码缩进指导——向控制台输出内容训练要点:使用记事本开发Java程序
Java输出语句会使用javac和java命令Java注释需求说明:在控制台输出一行信息实现思路:1、创建记事本程序2、编写Java代码及注释3、编译.java文件4、运行编译后的.class文件难点指导:javac和java的使用讲解需求说明完成时间:15分钟使用Eclipse开发Java程序的步骤集成开发环境(IDE)是一类软件,它将程序开发环境和程序调试环境集合在一起,帮助程序员开发软件使用Eclipse开发Java程序步骤:1、创建一个Java项目2、手动创建Java源程序3、编译Java源程序4、运行Java程序操作演示1:使用Eclipse开发Java程序步骤Java项目组织结构2-1包资源管理器用包组织Java源文件,类似于文件夹选择菜单“窗口→显示视图→包资源管理器”打开JRE系统库目录:存放程序运行必须的系统库文件操作演示2:Eclipse包资源管理器src目录:存放包和源文件Java项目组织结构2-2导航器类似于Windows中的资源管理器选择菜单“窗口→显示视图→导航器”打开bin目录:存放可执行的字节码文件
src目录:存放Java源文件操作演示3:Eclipse导航器练习——使用Eclipse开发Java程序需求说明:使用Eclipse创建Java应用程序,实现从控制台输出多行信息:姓名、年龄、爱好完成时间:7分钟publicclasshelloWorld{//源文件名为HelloWorld.java publicstaticvoidmain(String[]args){ System.out.println("我的第一个Eclipse小程序!"); }}public修饰的类的名称必须与Java文件同名!代码错误常见错误5-1publicclassHelloWorld{ publicstaticmain(String[]args){ System.out.println("我的第一个Eclipse小程序!"); }}main方法作为程序入口,void必不可少!void常见错误5-2publicclassHelloWorld{ publicstaticvoidmain(String[]args){ system.out.println("我的第一个Eclipse小程序!"); }}编译出错,无法解析system!Java对大小写敏感!代码错误常见错误5-3publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("我的第一个Eclipse小程序!") }}每一条Java语句必须以分号结束!;代码错误常见错误5-4publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println(我的第一个Eclipse小程序!); }}注意:不要漏写引号!"常见错误5-5操作演示4:程序排错技巧程序运行出现了问题,怎么办?如何定位错误代码的位置?如何知道错误的原因?纠正代码中的错误,输出“早上好!”小结2publicclassTest{
publicstaticvoidmain(){system.out.println(“早上好!”);}}System中S要大写main方法没有提供参数指导——Eclipse快速上手训练要点:熟练掌握Eclipse使用的相关技巧需求说明:在Eclipse的代码编辑区域,为练习2代码显示行号给练习2中的项目名进行重新命名在Eclipse中删除练习2中项目在包资源管理器中的显示,但是不删除源文件讲解需求说明完成时间:15分钟练习——商品价目表需求说明:在控制台输出商品价目表。使用\t和\n进行显示格式的控制完成时间:15分钟练习——开发购物系统菜单需求说明:在控制台输出购物系统登录菜单和系统主菜单完成时间:15分钟总结什么是计算机程序?Java可以编写哪两类程序?
Java相关的技术有哪些?使用记事本开发Java程序的步骤是什么?Java程序的基本框架是什么?如何在控制台输出一条信息?使用Eclipse开发Java程序的步骤是什么?
作业课后作业必做环境的配置与简单代码的编写和实现选做我行我素代码的研究提交时间:不定提交形式:不定预习作业复习数据类型和表达式Java程序设计变量、数据类型和运算符第二章纠正代码中的错误,输出“早上好!”说出开发Java程序的步骤介绍Java常用的两种注释类型说出使用Eclipse开发Java程序的步骤publicclassTest{publicvoidmain(String[]args){system.out.println("早上好!")}}staticSystem的首字母S要大写回顾与作业点评缺少;变量的定义是什么?Java定义的常用数据类型有哪些?“%”和“/”分别执行什么运算?发生自动类型转换的条件是什么?如何进行强制类型转换?预习检查实现运算功能:计算成绩差计算成绩平均分升级“我行我素购物管理系统”:实现购物结算,并打印购物小票模拟商场幸运抽奖计算员工工资本章任务掌握变量的概念会使用常用数据类型会使用赋值运算符和算术运算符会进行数据类型转换掌握键盘输入本章目标电脑使用内存来记忆计算时所使用的数据内存如何存储数据内存像旅馆数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间1、开房间(单人间、双人间、总统套间)2、入住内存如何存放数据1000*(1+5%)内存10001050变量:一个数据存储空间的表示98.76不同数据存入具有不同内存地址的空间,相互独立变量2-1已经将数据存入内存,但是:怎么找到存入的数据?1、在银行存1000元钱,银行一年的利息5%,那一年之后钱变成了多少?内存地址不好记,怎么办?通过内存中小房间的别名找到数据存储的位置通过变量名可以简单快速地找到它存储的数据房间房间名字房间类型入住的客人变量变量名变量类型变量值对应变量2-2数据属于不同类别非洲ThequickbrownfoxTRUE数据非数值数值整型非整型9002.129999/12/20032.175123陈扬char非数值数值整型int…………double非整型String数据类型Java常用数据类型数据类型说明数据类型说明char(字符型)用于存储单个字符如:性别‘男’、‘女’,电灯‘开’、‘关’int(整型)用于存储整数如:一天的时间是24小时,一月份有31天double(双精度)用于存储小数如:蒙牛早餐奶的价格1.3元,手机待机时间6.5小时String(字符串)用于存储一串字符如:“我的爱好是踢足球”,“我喜欢Java程序”
publicclassMyVariable{publicstaticvoidmain(String[]args){
intmoney;//1.声明一个变量 money=1000;//2.赋值
}}数据类型变量名内存空间存的数值System.out.println(money);//3.使用变量变量声明及使用2-1演示示例1:如何存取变量intmoney=1000;//合二为一2、在内存中存储本金1000元显示内存中存储的数据的值使用变量的步骤:第一步:声明变量,即“根据数据类型在内存申请空间”第二步:赋值,即“将数据存储至对应的内存空间”第一步和第二步可以合并第三步:使用变量,即“取出数据使用”数据类型变量名;intmoney;变量声明及使用2-2变量名=数值;money=1000;数据类型变量名=数值;intmoney=1000;3、输出Java课考试最高分:98.5输出最高分学员姓名:张三输出最高分学员性别:男publicclassTestType{publicstaticvoidmain(String[]args){
doublescore=98.5;Stringname="张三";
charsex='男';
System.out.println("本次考试成绩最高分:"+score); System.out.println("最高分得主:"+name); System.out.println("性别:"+sex);}}单引号双引号连接输出信息数据类型举例演示示例2:不同类型变量存取1、字母2、下划线‘_’3、‘$’
符号首字母任意多的:1、数字2、字母3、下划线‘_’4、‘$’符号其余部分变量名变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScore变量命名规则2-1Java语言中,变量命名要符合一定规则money、score、name、sex检查下面这些是否是合法的变量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint××××变量命名规则2-2publicclassError1
{publicstaticvoidmain(String[]args){Stringtitle;System.out.println(title);}}Stringtitle;//声明变量titletitle="Java";//赋值Stringtitle="Java";//声明变量title并赋值12先声明变量并赋值,然后才能使用代码错误正确方案常见错误3-1变量名不能以%开始publicclassError2
{publicstaticvoidmain(String[]args){int%hour=18;System.out.println(%hour);}}代码错误常见错误3-2publicclassError3
{publicstaticvoidmain(String[]args){Stringname="张三";Stringname="李四";}}声明两个同名变量导致编译错误Stringname="张三";StringName="李四";Java程序区分大小写正确方案常见错误3-3使用变量存储以下MP3信息,并打印输出品牌(brand):爱国者F928重量(weight):12.4电池类型(type):内置锂电池价格(price):499
定义变量有哪两种方式?小结1参考代码intwangScore=80;//王浩成绩intzhangScore;//张萌成绩wangScore=zhangScore;System.out.println(“张萌成绩是"+zhangScore);zhangScore=wangScore;
//将右边的值给左边的变量赋值运算符wangScorezhangScore8080副本代码错误赋值运算符2-14、学员王浩的Java成绩是80分,学员张萌的Java成绩与王浩的相同,输出张萌的成绩变量名=
表达式;a=(b+3)+(b–1)表达式表达式表达式赋值运算符表达式举例赋值运算符2-2表达式就是符号(如加号、减号)与操作数(如b,3等)的组合基本的算术运算5、从控制台输入学员王浩3门课程成绩,编写程序实现(1)Java课和SQL课的分数之差(2)3门课的平均分操作数操作数运算符+-*/%算术运算符3-1importjava.util.Scanner;publicclassScoreStat{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("STB的成绩是:"); intstb=input.nextInt();//stb分数
//省略接收Java分数和SQL分数……
intdiffen;//分数差
doubleavg;//平均分
//省略输出成绩单代码…… diffen=java-sql;//计算Java课和SQL课的成绩差
System.out.println("Java和SQL的成绩差:"+diffen); avg=(stb+java+sql)/3; //计算平均分
System.out.println("3门课的平均分是:"+avg); }}算术运算符3-2指定Scanner类路径通过键盘的输入得到STB的成绩
计算成绩差和平均分演示示例3:算术运算符的使用intnum1=5;intnum2=2;inta=num1%num2;intb=num1/num2;System.out.println(num1+"%"+num2+"="+a);System.out.println(num1+"/"+num2+"="+b);num1++;num2--;System.out.println("num1="+num1);System.out.println("num2="+num2);5%2=15/2=2下面代码片断的输出结果是什么?输出%:求商/:求余数等价于:num1=num1+1;等价于:num2=num2-1;num1=6num2=1输出算术运算符3-31、根据天数(46)计算周数和剩余的天数2、已知圆的半径radius=1.5,求其面积小结2提示:
intdays=46;//天数intweek=days/7;//星期intleftDay=days%7;//剩余的天数提示:
doublepi=3.14159;//圆周率
doubleradius=1.5;//半径
doublearea=pi*radius*radius;//计算圆面积参考代码参考代码
doublefirstAvg=81.29;//第一次平均分
doublesecondAvg;//第二次平均分
intrise=2;secondAvg=firstAvg+rise;
System.out.println("第二次平均分是:"+secondAvg);自动类型转换举例6、某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分?规则1:如果一个操作数为double型,则整个表达式可提升为double型规则2:满足自动类型转换的条件两种类型要兼容:数值类型(整型和浮点型)互相兼容目标类型大于源类型:例如:double型大于int型自动类型转换规则
intage=19;charsex='女';
charresult=age+sex;
下面语句正确吗?inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自动转换成chardouble不可以自动转化成int常见错误intbefore=20;//apple笔记本市场份额doublerise=9.8;//增长的份额intnow=before+rise;//现在的份额intnow=before+(int)rise;
编译出错:不能完成自动类型转换(类型名)表达式强制类型转换intb=(int)10.2;doublea=10;intc=(int)a;更改为强制类型转换强制类型转换演示示例4:强制类型转换7、去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,求今年所占份额?小结3实现一个数字加密器,加密规则是:加密结果=(整数*10+5)/2+3.14159,加密结果仍为一整数提示://原始数据intdata=100;//加密计算intresult=(data*10+5)/2+(int)3.14159;参考代码指导——计算购物结算训练要点:运算符(*、=)的使用从控制台输出信息需求说明:用户可以享受购物8折的优惠,请计算实际消费金额实现思路:1、创建Java类Pay2、在Pay.java文件中声明变量存储信息3、计算总金额难点指导:消费总额=各商品的消费金额之和*折扣讲解需求说明完成时间:25分钟练习——打印购物小票并计算积分需求说明:结算时打印购物小票计算此次购物获得的会员积分完成时间:25分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解指导——幸运抽奖训练要点:运算符(%、/)的使用使用Scanner类接收用户输入需求说明:商场推出幸运抽奖活动根据抽奖规则计算会员卡号各位数字之和实现思路:1、接收输入的会员卡号2、分解获得各位数字3、计算各位数字之和难点指导:分解获得各位数字讲解需求说明完成时间:25分钟练习——计算员工工资需求说明:从控制台输入基本工资,并计算输出实领工资完成时间:20分钟什么是变量?如何声明变量、给变量赋值和使用变量?Java中常用的数据类型有哪些?算术运算符中“/”和“%”的区别是什么?如何接收键盘的输入?发生自动类型转换的条件是什么?如何进行强制类型转换?总结作业课后作业必做我行我素代码的研究选做自己实现我行我素的代码提交时间:不定提交形式:不定预习作业选择结构Java程序设计运算符和基本选择结构第三章找出错误并更正输出结果是什么?intradius=10;doublehigh=1.9;intvol=3.14*radius*radius*high;需进行强制类型转换
intnum1=19;intnum2=89;inttemp;temp=num1;num1=num2;num2=temp;System.out.println(num1);System.out.println(num2);intvol=(int)(3.14*radius*radius*high);8919借助一个中间变量互换两个变量的值回顾与作业点评boolean变量可以取哪些值?“=”和“==”的区别?常用的逻辑运算符及其作用?if-else选择结构执行的顺序是什么?预习检查使用boolean类型描述成绩高低根据成绩高低做出奖罚实现“我行我素购物管理系统”会员信息录入本章任务掌握boolean类型的用法掌握关系运算符和逻辑运算符掌握基本if选择结构本章目标用什么数据类型能表示一件艺术品是真货还是假货地铁2号线的首发车时间是5:00吗这次考试成绩在90分之上吗boolean(布尔)类型boolean类型的值:真:true假:falseboolean类型只有这两个值?为什么需要boolean类型如何使用boolean类型1、从控制台输入张三同学的成绩,与李四的成绩(80分)比较,输出“张三的成绩比李四的成绩高吗?”的判断结果intliSi=80;//学员李四成绩booleanisBig;//声明一个boolean类型的变量
Scannerinput=newScanner(System.in);
System.out.print("输入学员张三成绩:");//提示要输入学员张三的成绩int
zhangSan=input.nextInt();//输入张三的成绩
isBig=zhangSan>liSi;//将比较结果保存在boolean变量中System.out.println("张三成绩比李四高吗?"+isBig);//输出比较结果定义boolean变量isBig,存储比较结果将比较结果保存在isBig变量中演示示例1:用boolean变量描述信息比较高低、大小、长短等张三的考试成绩是否比李四高大象是否比乌龟更长寿篮球跟地球一样大吗如何比较?使用关系运算符可以比较高低、大小、长短等?为什么使用关系运算符常用的关系运算符有哪些:>,<==,!=>=,<=张三的成绩>李四的成绩假大象的寿命<乌龟的寿命真篮球的大小==地球的大小假由此看出关系运算符的作用:用来做比较运算比较的结果:boolean类型什么是关系运算符为什么需要if选择结构2、如果张浩的Java考试成绩大于98分,张浩就能获得一个MP4作为奖励使用if选择结构可以解决if选择结构是根据条件判断之后再做处理if(条件){//代码块}if(张浩的Java考试成绩>90){获得一个MP4作为奖励;}结合问题2基本的if选择结构什么是if选择结构结果必须是布尔值只有一条语句时,建议不省略{}importjava.util.Scanner;publicclassGetPrize{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("输入张浩的Java成绩:");//提示输入Java成绩
intscore=input.nextInt(); //从控制台获取张浩的Java成绩
if(score>90){ //判断是否大于90分
System.out.println("老师说:不错,奖励一个MP4!"); } }}使用基本的if选择结构演示示例2:使用基本if选择结构使用复杂条件下的if选择结构3-13、张浩Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他分析:怎样把多个条件连接起来?使用逻辑运算符运算符表达式说明&&条件1&&条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真score1>98&&score2>80||score1==100&&score2>70
使用复杂条件下的if选择结构3-2当运算符比较多,无法确定运算符执行顺序时,可以使用小括号控制一下顺序运算符的优先级最高的优先级:小括号,即()最低的优先级:赋值运算符,即=优先级顺序:!>算术运算符>比较运算符>&&>||(score1>98&&score2>80)||(score1==100&&score2>70)问题3的条件使用复杂条件下的if选择结构3-3publicclassGetPrize2{ publicstaticvoidmain(String[]args){ intscore1=100;//张浩的Java成绩
intscore2=72;//张浩的音乐成绩
if((score1>98&&score2>80) ||(score1==100&&score2>70)){ System.out.println("老师说:不错,奖励一个MP4!"); } }}使用复杂条件下的if选择结构解决问题3演示示例3:复杂条件下的if选择结构4、如果张浩Java考试成绩大于98分,老师就奖励他一个MP4,否则老师就罚他进行编码使用两个基本if选择结构使用if-else选择结构实现if(score>98){ System.out.println("老师说:不错,奖励一个MP4!");}if(score<=98){ System.out.println("老师说:惩罚进行编码!");}使用if-else选择结构3-1
if-else选择结构if(条件){//代码块1}else{//代码块2}if(张浩Java成绩>98){奖励一个MP4;}else{
惩罚进行编码;}结合问题4使用if-else选择结构3-2使用if-else选择结构解决问题4publicclassSimpleIf2{ publicstaticvoidmain(String[]args){ intscore=91;//张浩的Java成绩
if(score>98){ System.out.println("老师说:不错,奖励一个MP4!");
}else{ System.out.println("老师说:惩罚进行编码!"); } }}使用if-else选择结构3-3演示示例4:使用if-else结构练习——会员信息录入需求说明:录入会员信息判断录入的会员号是否合法完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解说出已学过的数据类型有哪些?举例说明已学过的运算符有哪些?if和if-else选择结构执行的顺序是什么?总结2-1总结2-2用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b提示:
if((a%b==0)||(a+b>100)){ System.out.println(a); }else{ System.out.println(b); }参考代码Java程序设计复杂选择结构第四章找出错误并更正输出结果是什么?intage=10;if(age=20){System.out.println("年龄是20岁");
}条件结果必须是布尔值intscore=100;if(score>98) System.out.println("老师说:不错,奖励一个MP4!");else System.out.println("老师说:惩罚进行编码!"); System.out.println(“老师说:一直到学会为止!");回顾与作业点评if(age==20)老师说:不错,奖励一个MP4!老师说:一直到学会为止!注意大括号的使用}{{}多重if选择结构的执行流程是怎样的?if选择结构书写规范有哪些?switch选择结构中break关键字的作用?多重if选择结构和switch选择结构的异同之处?预习检查升级“我行我素购物管理系统”实现新增会员功能实现按会员优惠计划进行购物结算实现计算会员折扣实现购物菜单选择实现换购功能本章任务掌握多重if和嵌套if选择结构掌握switch选择结构使用if判断和输出语句进行异常处理本章目标练习——实现幸运抽奖需求说明:抽奖规则:会员号的百位数字等于产生的随机数字即为幸运会员完成时间:15分钟
使用多重if选择结构为什么使用多重if选择结构将成绩分成几个连续区间判断。使用单个if选择结构无法完成,使用多个if选择结构很麻烦1、对学员的结业考试成绩评测成绩>=90:优秀成绩>=80:良好 成绩>=60:中等成绩<60:差多重if选择结构
if
(条件1){//代码块1
}
elseif
(条件2)
{//代码块2
}else
{//代码块3
}可以有多个可以省略什么是多重if选择结构
int
score=70;//考试成绩
if(score>=90){
System.out.println("优秀");}
elseif(score>=80){
System.out.println("良好");}
elseif(score>=60){
System.out.println("中等");}
else{
System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分如何使用多重if选择结构演示示例1:使用多重if选择结构使用多重if选择结构解决问题1如何使用多重if选择结构2、我想买车,买什么车决定于我在银行有多少存款如果我的存款超过500万,我就买凯迪拉克否则,如果我的存款超过100万,我就买帕萨特否则,如果我的存款超过50万,我就买依兰特否则,如果我的存款超过10万,我就买奥托否则,我买捷安特
intmoney=52;//我的存款,单位:万元 if(money>=500){
System.out.println("太好了,我可以买凯迪拉克"); }elseif(money>=100){
System.out.println("不错,我可以买辆帕萨特"); }elseif(money>=50){
System.out.println("我可以买辆依兰特"); }elseif(money>=10){
System.out.println("至少我可以买个奥托"); }else{
System.out.println("看来,我只能买个捷安特了"); }
如何使用多重if选择结构各个条件的顺序可以任意排列吗?演示示例2:使用多重if选择结构使用多重if选择结构解决问题2为什么使用嵌套if选择结构使用嵌套if选择结构要判断是否能够进入决赛在确定进入决赛的情况下,还要判断是进入男子组,还是进入女子组3、学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组嵌套if选择结构
if(条件1){if(条件2){
代码块1}else{
代码块2}}else{
代码块3}内层选择结构什么是嵌套if选择结构
if(score<=10){ if(gender.equals("男")){
System.out.println("进入男子组决赛!"); }elseif(gender.equals("女")){
System.out.println("进入女子组决赛!"); }
}else{
System.out.println("淘汰!");
}
如何使用嵌套if选择结构外层选择结构内层选择结构if结构书写规范为了使if结构更加清晰、避免执行错误,应该把每个if或else包含的代码块都用大括号括起来相匹配的一对if和else应该左对齐内层的if结构相对于外层的if结构要有一定的缩进演示示例3:使用嵌套if选择结构使用嵌套if选择结构解决问题3指导——折扣计算训练要点:嵌套if选择结构需求说明:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折实现思路:1、外层判断是否是会员2、内层判断是否达到 相应打折要求难点指导:嵌套if选择结构中{}的使用讲解需求说明完成时间:20分钟练习——计算会员折扣需求说明:会员购物时,根据积分的不同享受不同的折扣计算会员购物时获得的折扣完成时间:20分钟会员积分x
折扣x<2009折2000≤x<40008折4000≤x<80007折x≥80006折共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解
为什么使用switch选择结构该问题属于等值判断解决方法:使用多重if选择结构实现使用switch选择结构解决使用多重if选择结构的实现代码4、韩嫣参加计算机编程大赛如果获得第一名,将参加麻省理工大学组织的1个月夏令营如果获得第二名,将奖励惠普笔记本电脑一部如果获得第三名,将奖励移动硬盘一个否则,不给任何奖励switch(表达式){
case
常量1:
语句;
break;
case
常量2:
语句;
break; …
default:
语句;}什么是switch选择结构计算表达式的值如果等于常量1如果等于常量2如果没有找到匹配的值switch选择结构intmingCi=1;switch(mingCi){ case
1:System.out.println("参加麻省理工大学组织的1个月夏令营");
break;
case2:System.out.println("奖励惠普笔记本电脑一部");
break;
case3:System.out.println("奖励移动硬盘一个");
break;
default:System.out.println("没有任何奖励
");}第一名的情况下第二名的情况下第三名的情况下其他情况下如何使用switch选择结构演示示例4:使用switch选择结构使用switch选择结构解决问题4intmingCi=1;switch(mingCi){ case
1:System.out.println("参加麻省理工大学组织的1个月夏令营");
case2:System.out.println("奖励惠普笔记本电脑一部");
case3:System.out.println("奖励移动硬盘一个");
default:System.out.println("没有任何奖励
");}输出结果是什么?常见错误4-1如果需要每个case执行完后跳出,在每个case后不要忘记写break;int
mingCi=1;switch(mingCi){
case1:System.out.println("参加麻省理工大学组织的1个月夏令营");
case2:System.out.println("奖励惠普笔记本电脑一部");
case2:System.out.println("奖励移动硬盘一个");
default:System.out.println("没有任何奖励");}case后面的常量必须各不相同代码错误常见错误4-2int
mingCi=6;switch(mingCi){
default:System.out.println("没有任何奖励");
case1:System.out.println("参加麻省理工大学组织的1个月夏令营");
case2:System.out.println("奖励惠普笔记本电脑一部");
case3:System.out.println("奖励移动硬盘一个");}常见错误4-3输出结果是什么?default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略Stringday="星期一";switch(day){
case"星期一":System.out.println("星期一:青菜");
break;
case"星期二":System.out.println("星期二:鱼");
break;……
default:}switch后面小括号中表达式的值必须是整型或字符型代码错误常见错误4-4演示示例5:switch选择结构常见错误相同点不同点switch选择结构多重if选择结构都是用来处理多分支条件的结构只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况比较switch和多重if选择结构指导——菜单跳转训练要点:switch选择结构需求说明:从登录菜单跳转到主菜单实现思路:1、使用数字标识菜单号2、获取用户输入的数字3、执行相应的操作难点指导:提高程序容错性讲解需求说明完成时间:25分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解为了使程序更加健壮,程序员在编码时要考虑用户可能出现的任何问题,并且在程序中做出相应的判断,给用户一个友好的提示为什么要处理系统异常Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字5、菜单跳转的程序,如果用户错误地输入了一个不允许的字符,例如“s”,程序会怎样呢? Scannerinput=newScanner(System.in);
if(input.hasNextInt()){ intnum=input.nextInt(); switch(num){ case1: //显示系统主菜单; break; case2: System.out.println("谢谢您的使用!");break; default: System.out.println("输入错误。"); }
}else{ System.out.println("请输入正确的数字!"); }如何处理系统异常如果输入的是数字如果输入的不是数字演示示例6:处理系统异常使用hasNextInt()解决问题5练习——实现商品换购需求说明:综合运用嵌套if选择结构、switch选择结构、多重if选择结构进行实现商品换购功能完成时间:25分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解输入赵本山的考试成绩,显示所获奖励成绩==100分,爸爸给他买辆车成绩>=90分,妈妈给他买MP490分>成绩>=60分,妈妈给他买本参考书成绩<60分,什么都不买张三为他的手机设定了自动拨号按1:拨爸爸的号按2:拨妈妈的号按3:拨爷爷的号按4:拨奶奶的号小结参考代码参考代码描述几种分支结构的语法和执行过程?什么情况下会使用多重if选择结构?多重if选择结构和switch选择结构的区别和适用场合是什么?总结作业课后作业必做Ppt上的习题选做Eclipse的快捷方式提交时间:xxx提交形式:xxx预习作业无循环结构Java程序设计循环结构(一)第五章分别写出运行结果
switch(day){
case1:System.out.println("法国大餐");
break;
case2:
case4:System.out.println("满汉全席");
break;
case7:
if(weekOfMonth==1){System.out.println("苹果餐");}else{System.out.println("香蕉餐");}
break;}法国大餐香蕉餐weekOfMonth=1day=1假设weekOfMonth=2day=7假设回顾与作业点评举例说明,循环结构用于解决哪些问题?循环结构中使用了哪些关键字?程序调试有哪些步骤?预习检查实现MyShopping查询商品价格升级购物结算升级菜单切换本章任务理解循环的含义会使用while循环结构会使用do-while循环结构会使用调试解决简单的程序错误本章目标System.out.println("第1遍写:好好学习,天天向上!");System.out.println(“第2遍写:好好学习,天天向上!");……System.out.println(“第100遍写:好好学习,天天向上!");
100条为什么需要循环2-1决定写一万遍“好好学习,天天向上!”,怎么办?1、张浩Java考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定写一百遍“好好学习,天天向上!”System.out.println("第1遍写:好好学习,天天向上!");System.out.println(“第2遍写:好好学习,天天向上!");System.out.println("第3遍写:好好学习,天天向上!");System.out.println(“第4遍写:好好学习,天天向上!");……System.out.println(“第9999遍写:好好学习,天天向上!");System.out.println(“第10000遍写:好好学习,天天向上!");int
i=1;while(i<=100){
System.out.println(“第”+i+“遍写:好好学习,天天向上!");
i++;}i<=10000为什么需要循环2-2演示示例1:使用循环结构解决问题没有使用循环结构使用while循环生活中的循环循环结构的特点打印50份试卷10000米赛跑旋转的车轮循环结构
循环条件循环操作锲而不舍地学习什么是循环特点:先判断,再执行while(循环条件
){
循环操作}符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作int
i=1;while(i<=100
){ System.out.println("好好学习!"); i++;}编码规范:缩进、换行循环操作循环条件真假什么是while循环为了帮助张浩尽快提高成绩,老师给他安排了每天的学习任务,其中上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。老师每天检查学习成果。如果不合格,则继续进行循环条件循环操作怎样使用while循环2-1使用while循环的步骤1、分析循环条件和循环操作2、套用while语法写出代码3、检查循环是否能够退出2、如何用程序描述下面这个故事呢? System.out.print("合格了吗?(y/n):"); Stringanswer=input.next();
while(!"y".equals(answer)){
System.out.println("上午阅读教材!"); System.out.println("下午上机编程!\n"); System.out.print("合格了吗?(y/n):");
answer=input.next();
} System.out.println("完成学习任务!");循环条件循环操作比较两个String类型的值是否相等怎样使用while循环2-2演示示例2:使用while循环结构避免死循环小结12006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?提示:
1、循环条件和循环操作分别是什么?2、intyear=2006;doublestudents=80000;while…3、2007年培训学员数量=80000*(1+0.25)参考代码为什么需要程序调试3、在编写程序过程中有时也出现错误,但不好发现和定位错误,有没有好的方法呢?通过代码阅读或者加输出语句查找程序错误当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是“程序调试”生活案例:电器调试,仪表调试当程序出错时,我们也希望能这样:
程序执行时忽闪一下就运行结束,怎么让程序一步一步运行?程序调试设置断点单步运行观察变量逐条语句执行程序观察程序执行情况发现问题解决问题断点:
程序暂停执行的代码行什么是程序调试 inti=1; System.out.println("程序调试演示,注意观察i的值:"); while(i<5){ System.out.p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云计算与大数据融合应用合同2篇
- 承租方装修的租赁合同协议标准版3篇
- 大货车买卖合同协议书模板
- 二零二四年度环保设施建设和运营合同with设施内容和环保标准详细描述
- 二零二四年度电影《某某》演员特技替身合同3篇
- 二零二四年度智能交通系统建设合作协议
- 2024年度窗帘原材料采购合同
- 2024版房地产居间合同范例2篇
- 二零二四年度大数据中心建设及运营合同2篇
- 2024年度租赁合同担保支付条款
- 《土地整治学》期末考试复习题库资料(含答案)
- DL∕T 325-2010 电力行业职业健康监护技术规范
- 2024-2030年中国数字商务应用行业市场发展趋势与前景展望战略分析报告
- NB-T+25046-2015核电厂水工设计规范
- 哈利波特与死亡圣器课件
- 《中国痤疮治疗指南》解读
- 创伤骨科新进展新技术
- 黑龙江省齐齐哈尔市依安县等4地2023-2024学年九年级上学期期末历史试题
- 2024年应急救护知识考试题库300题(含答案)
- 公车拍卖拍卖服务整体设想及策划
- 用数对确定位置(周-璟)
评论
0/150
提交评论