Java程序设计教程319_第1页
Java程序设计教程319_第2页
Java程序设计教程319_第3页
Java程序设计教程319_第4页
Java程序设计教程319_第5页
已阅读5页,还剩314页未读 继续免费阅读

下载本文档

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

文档简介

第1章初识Java本章目标了解Java的历史及Java的技术分类理解Java的跨平台原理会操作安装JDK1.8能够配置环境变量会使用输出语出在命令行输出信息会使用Eclipse开发Java程序Java简介Java开发环境的搭建注释本章小结Java的跨平台原理编写和运行Java程序使用Eclipse开发Java程序本章内容Java简介Java是SunMicrosystems于1995年推出的高级编程语言,可以应用到几乎所有的型号和规模的设备上。Java领域的技术有JavaSE、JavaEE以及JavaMEJavaSE主要用于桌面程序、控制台开发JavaEE企业级开发、网络开发和基于B/S模式的编程JavaME嵌入式开发、手机、小家电三大技术之间的关系JavaSE是学习其它两门技术的基础,要想学习JavaME只需要学习JavaSE中的一部门内容,但要想学习JavaEE就需要学习JavaSE的所有内容JavaSEJavaMEJavaEEJava的跨平台原理开发Java程序的步骤编写源程序:程序员使用开发工具所编写的以.java结尾的文件编译源程序:使用编译器将源程序编译成以.class结尾的字节码文件运行字节码文件:在安装了运行环境的计算机上执行.class文件Java跨平台实现的原理 Java的跨平台原理JDK、JRE、JVM的概念JDK:(JavaDevelopmentKit)Java开发工具包JRE:(JavaRuntimeEnvironment)Java运行环境JVM:(JavaVirtualMachine)Java虚拟机

JDKJREJVM三者之间的关系Java开发环境的搭建安装JDK1.8配置环境变量Windows7的环境变量配置Windows10的环境变量配置Java开发环境的搭建开发环境测试DOS窗口中输入javacDOS窗口中输入java–version编写和运行Java程序第一个Java程序“HelloWorld”新建后缀名为.java的HelloWorld文件,编写如示例1-1将HelloWorld.java编译成HelloWorld.class文件

运行HelloWorld.class文件

publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("helloworld");}}示例1-1第一个Java程序的提升使用System.out.println()输出信息使用System.out.print()输出信息

Windows10的环境变量配置编写和运行Java程序publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.println("helloworld");System.out.println("helloworld");}}

示例1-2publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.print("helloworld");System.out.print("helloworld");}}示例1-3编写和运行Java程序转义字符使用“\n”实现换行,如下示例1-4代码“\t”一个制表位,如下示例1-5代码

publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.print("helloworld\n"); System.out.print("helloworld\n");}}

示例1-4public

class

HelloWorld{

public

static

void

main(String

[]

args){

System.out.print("helloworld\t");

System.out.println("helloworld");

System.out.println("美丽中国\t中国美丽");System.out.println("中国梦\t梦想中国");

}}

示例1-5编写和运行Java程序类的并列关系在一个.java的源文件中可以编写N多个类,类与类之间为并列关系,在使用javac进行编译时,每个class都将编译成一个独立的.class文件,如下示例1-6代码

publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.print("公共的类HelloWorld");}}classHello{publicstaticvoidmain(String[]args){

System.out.println("类Hello");}}classWorld{publicstaticvoidmain(String[]args){

System.out.println("类World");}}

示例1-6注释注释就是为了方便程序的阅读而在程序上书写的一些文字性说明,注释还能够屏蔽一些暂时不使用的语句,当需要使用时再去掉注释即可注释的分类单行注释//注释的内容,如示例1-7代码多行注释/*注释的内容*/,如示例1-8代码使用注释屏蔽掉暂时不使用的语句,如示例1-9

文档注释/**注释的内容*/,如示例1-10代码publicclassHelloWorld{publicstaticvoidmain(String[]args){

//在命令行上输出helloworldSystem.out.println("helloworld");}}

示例1-7/**HelloWorld.java*2035-3-3*第一个Java程序“当hello恋上world之helloworld”*/publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.println("helloworld");}}

示例1-8publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.println("helloworld");/**System.out.println("花褪残红青杏小。燕子飞时,绿水人家绕。");*System.out.println("枝上柳棉吹又少。天涯何处无芳草。");*/System.out.println("helloworld");}}

示例1-9/***HelloWorld类

@author杨姐

@version1.0@date2035-3-3*/publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.println("helloworld");}}

示例1-10使用Eclipse开发Java程序Eclipse的安装使用Eclipse开发Java程序的步骤创建一个Java项目创建一个Java类,如示例1-11编译Java源程序–Eclipse自动完成运行Java程序Java项目的组织结构包资源管理器:查看Java源文件的组织结构导航器:项目组织结构src存放源文件bin存放字节码文件publicclassHelloWorld{publicstaticvoidmain(String[]args){

System.out.println("HelloWorld");}}

示例1-11本章小结Java三大技术,其中JavaSE是学习其它两个门类的基础JavaSEJavaEEJavaMEJava是一门跨平台的语言,具有“一次编写,处处运行”的特点使用记事本开发Java程序的步骤编写源程序:.java的文件编译源程序:.class的文件运行字节码件:.class文件使用注释可以提高程序的可读性单行注释多行注释文档注释使用Eclipse开发Java程序的步骤新建项目新建类写代码运行第2章变量与常量本章目标掌握数据类型、变量名和值三个核心概念掌握变量的使用掌握常量的概念会进行数据类型转换内存基本数据类型的内存结构图常量本章小结变量数据类型转换本章内容内存内存物理上指的是内存条在程序中指的是程序运行过程中存储数据的“空间”生活中的案例数据类型数据类型基本数据类型引用数据类型

数据类型8大基本数据类型的表数范围引用数据类型大小均为4个字节,用于存储引用对象的内存地址

表2-18大基本数据类型的表数范围类型占用存储空间表数范围掌握程度byte1字节-128~127熟记short2字节-215~215-1(-32768~32767)了解int4字节-231~231-1(-2147483648~2147483647)约21亿了解long8字节-263~263-1了解float4字节-3.403E38~3.403E38了解double8字节-1.798E308~1.798E308了解char2字节0~65535之间的编码了解boolean1位true或false了解变量变量的声明语法1

数据类型变量名;

变量名=值;

举例:intage;age=19;语法2

数据类型变量名=值;

举例:intage=19;变量的使用变量的使用就是从内存中将数据取出进行一些操作示例2-1

public

classHospital{//程序的入口,主方法public

static

voidmain(String[]args){//(1)声明变量Stringname;//声明字符串变量name存储就诊者姓名

intserialNo;//声明整型变量serialNo存储就诊者序号

doubleregFee;//声明双精度浮点型变量regFee存储挂号费

chargender;//声明字符型变量gender存储性别//(2)给变量赋值name="杨淑娟";//将数据(值)杨淑娟存储到内存中名称为name的空间serialNo=61;//将数据(值)61存储到内存中名称为serialNo的空间regFee=1.0;//将数据(值)1.0存储到内存中名称为regFee的空间gender='女';//将数据(值)女存储到内存中名称为gender的空间

//(3)使用变量System.out.println("\n\t百战医疗系统挂号条(普通号)\t初诊");System.out.println("--------------------------------------");

System.out.println("姓名:"+name+"\t就诊序号:"+serialNo);System.out.println("性别:"+gender+"\t\t挂号费:"+regFee);System.out.println("--------------------------------------");System.out.println("科室名称:门诊妇科\t诊室:住院楼二层");System.out.println("--------------------------------------");System.out.println("\t\t仅当日有效");}}变量的使用声明变量并赋值

publicclassHospital{ //程序的入口,主方法

publicstaticvoidmain(String[]args){ //(1-2)声明变量并给变量赋值

Stringname="杨淑娟";//声明字符串变量name存储的数据为杨淑娟

intserialNo=61;//声明整型变量serialNo存储的数据为61 doubleregFee=1.0;//声明双精度浮点型变量regFee存储的数据为1.00 chargender='女';//声明字符型变量gender存储的性别为女

//(3)使用变量

…….. }}

示例2-2变量的命名规则可以包含字母、数字、下划线、$不能以数字开头不能是Java的关键字标识符的命名规范项目名全部使用小写字母变量名第一个单词首字母小写,第二个单词开始首字母大写,举例:myName变量名严禁使用拼音,音拼混合,中文变量名严禁使用下划线或$开头或结尾类名每个单词首字母均大写,举例MyScore变量的命名规则和规范基本数据类型的内存结构图栈内存存储基本数据类型的值特点:先进后出(FirstInLastOut)基本数据类型的数据在赋值时赋的是值的副本public

classUpGrade{

public

static

voidmain(String[]args){//程序的入口,主方法/**一次性声明两个int类型的变量,numA用于存储数据10,numB用于存储数据20*/

intnumA=10,numB=20;System.out.println("numA="+numA+"\tnumB="+numB);

numA=numB;//将变量numB的值赋给变量numASystem.out.println("numA="+numA+"\tnumB="+numB);}}示例2-3栈内存a10b2020类型转换类型转换自动类型转换(1)两种数据类型要相兼容(2)目标类型的“容量”大于源类型强制类型转换语法:(数据类型)表达式;publicclassAutoChange{//程序的入口,主方法publicstaticvoidmain(String[]args){

doubleprice=368.6*2;//两罐奶粉的价格intdecline=90;//减掉的钱数//自动类型转换doublepayMoney=price-decline;//实付金额System.out.println("两罐奶粉实付金额:"+payMoney);}}

示例2-4publicclassCast{//强制类型转换

//程序的入口,主方法publicstaticvoidmain(String[]args){

doubleprice=38.2;//买水果的应付价钱intpayMoney=(int)price;//实付卖家的价钱System.out.println("应付:"+price+",实付:"+payMoney);}}

示例2-5常量常量在程序运行过程中其值不可以改变的量语法:final数据类型常量名=值;常量的命名规范要求全部使用大写字母publicclassConstant{publicstaticvoidmain(String[]args){

finaldoublePI=3.14;//声明常量System.out.println("PI的值为:"+PI);}}

示例2-6在试图修改常量的值时,编译将报错本章小结Java中的数据类型基本数据类型引用数据类型Java中的八大基本数据类型数值型:byte,short,int,long,float,double字符型:char布尔型:boolean变量的命名规则字母、数字、下划线、$不能以数字开头不能是Java中的关键字变量的使用步骤声明变量给变量赋值使用变量数据类型转换自动类型转换强制类型转换使用final修饰的变量称为常量第3章运算符本章目标会使用基本运算符掌握键盘录入赋值运算符关系运算符键盘录入本章小结算术运算符逻辑运算符本章内容赋值运算符“=”作用:将等号右侧变量的值放到左侧的变量中进行存储案例:你有3个苹果,张小菲的苹果与你的苹果数相同示例3-1Stringname=“杨淑娟”;intserialNo=61;示例3-2public

classAppleNumber{

public

static

voidmain(String[]args){intmyApple=3;

intzhangApple;

zhangApple=myApple;System.out.println("我的苹果的个数:"+myApple);System.out.println("张小菲的苹果的个数:"+zhangApple);}}栈内存myApple3zhangApple3算术运算符+,-,*,/,%,++,--作用:进行加、减、乘、除运算案例:超市购物小票结算表3-1常用的算术运算符序号算术运算符描述1+加法运算,求和1+1的和为22-减法运算,求差2-1的差为13*乘法运算,求乘积3.5*3的乘积为10.54/整除运算,计算器计算5/3的结果约为1.67,而程序中“/”是整除的意思,所以5/3的结果为15%取余运算,5%3的意思是5除以3的余数是2,即5里面有1个3还剩于2示例3-3关键代码Stringlipstick="口红";Stringmask="面膜";doublelipPrice=5.0;doublemaskPrice=18.0;intlipCount=1;intmaskCount=3;intscore;doublefinalPay;doublepayMoney=100;doublereturnMoney;finalPay=lipPrice*lipCount+maskPrice*maskCount;returnMoney=payMoney-finalPay;score=(int)finalPay/10;示例3-3完整代码算术运算符自加运算++自减运算--示例3-4public

classCalc2{

public

static

voidmain(String[]args){

intnumA=5,numB=9;System.out.println("numA自加前:"+numA+"\tnumB自减前:"+numB);

numA++;numB--;System.out.println("------------------------------");System.out.println("numA自加后:"+numA+"\tnumB自减后:"+numB);}}关系运算符关系运算符的比较结果为boolean类型,其值只能是true或false

案例:boolean类型的使用示例3-5public

classBooleanDemo{

public

static

voidmain(String[]args){

booleanflag=true;

booleanisBig=5>9;System.out.println("flag="+flag);System.out.println("isBig="+isBig);}}关系运算符案例:关系运算符的使用表3-2常用的关系运算符序号关系运算符描述举例1>大于5>9结果为false2<小于5<9结果为true3>=大于等于8>=5结果为true4<=小于等于8<=5结果为false5==等于8==5结果为false6!=不等于8!=5结果为true示例3-6public

classOperator1{

public

static

voidmain(String[]args){System.out.println("5>9="+(5>9));System.out.println("5<9="+(5<9));System.out.println("8>=5="+(8>=5));System.out.println("8<=5="+(8<=5));System.out.println("8==5="+(8==5));System.out.println("8!=5="+(8!=5));}}逻辑运算符用于连接多个关系运算符的表达式逻辑与&和短路与&&的区别&:当左侧表达式的值为false,依然判断右侧表达式的值&&:当左侧表达式的值为false,直接获结果,右侧表达式将不再做判断逻辑或|和短路或||的区别|:当左侧表达式的值为true, 依然判断右侧表达式的值||:当左侧表达式的值为true,

直接得结果,右侧表达式将不再做判断表3-3逻辑运算符序号逻辑运算符描述说明1&与、并且两个条件同时为true,结果为true两个条件有一个为false,结果为false2&&短路与两个条件同时为true,结果为true第一个条件为false,结果为false3|或、或者两个条件同时为false,结果为false两个条件一个为true,结果为true4||短路或两个条件同时为false,结果为false第一个条件为true,结果为true5!非条件为true,结果为false条件为false,结果为true示例3-7public

classOperator2{

public

static

voidmain(String[]args){System.out.println("5<8&9>2="+(5<8&9>2));System.out.println("5<8&&9>2="+(5<8&&9>2));

System.out.println("4>2&8>10="+(4>2&8>10));System.out.println("4<2&&10/0>9="+(4<2&&10/0>9));}}示例3-8public

classOperator3{

public

static

voidmain(String[]args){System.out.println("5>8|9<2="+(5>8|9<2));System.out.println("5>8||9<2="+(5>8|9<2));System.out.println("4>2|8>10="+(4>2|8>10));System.out.println("4>2||10/0>9="+(4>2||10/0>9));}}示例3-9完整代码键盘录入键盘录入作用:通过键盘获取程序运行过程中所需要的数据,可以提高程序的灵活性,体会到人机交互的能力键盘录入的操作步骤包入Scanner所在的包创建Scanner对象输出屏幕提示信息(不是必要项,是为了增强程序的友好性)从键盘获取数据存储到相应类型的变量中案例:百战医疗系统挂号条关键代码importjava.util.Scanner;public

classHospital2{

public

static

voidmain(String[]args){Scannerinput=newScanner(System.in);

//(3)屏幕提示信息

System.out.print("请输入就诊者姓名:");//(4)从键盘获取String类型的值赋给变量name存储

Stringname=input.next();/**重复(3),(4)两步,获取其它的值*/System.out.print("请输入就诊序号:");intserialNo=input.nextInt();System.out.print("请输入挂号费(普通号1.0元,专家号5.0元)");doubleregFee=input.nextDouble();System.out.print("请输入就诊者性别:");chargender=input.next().charAt(0); ……..}}示例3-9本章小结Java中常用的运算符赋值运算符=算术运算符+,-,*,/,%,++,--关系运算符>,<,=,<=,==,!=逻辑运算符&,&&,|,||,!键盘录入的步骤包入Scanner所在的包创建Scanner对象屏幕提示获取数据获取不同类型的数据所使用的方法String类型对象名.next();int类型对象名.nextInt();double类型对象名.nextDouble();char类型对象名.next().charAt(0):第4章分支结构本章目标掌握if选择结构的用法掌握switch选择结构的用法单分支结构多重if结构本单小结双分支结构switch结构本章内容程序的执行流程程序的执行流程根据程序的执行流程可分为三种结构顺序结构:程序从上到下一句不落的执行分支结构:程序有选择性的执行一部分语句循环结构:程序重复执行某部分语句

单分支结构简单的if结构称为单分支结构语法:if(条件表达式){//语句}特点:先判断条件是否成立,再决定是否执行语句案例:根据录入的字符决定是否去踏浪如果if的{}中只有一句代码或一个代码块时,{}可以省略

示例4-1importjava.util.Scanner;public

classIfDemo{

public

static

voidmain(String[]args){Scannerinput=newScanner(System.in);System.out.println("明天晴天吗?(y/其它字符)");charanswer=input.next().charAt(0);

if(answer=='y'){ System.out.println("可以去海边踏浪拾贝啦^_^");}}}if(answer=='y')

System.out.println("可以去海边踏浪拾贝啦^_^");双分支结构双分支结构也被称为非A即B或者二选一结构语法:if(条件表达式){//语句1}else{//语句2}执行流程:条件表达式的结果为true执行语句1,条件表达式的结果为false执行语句2案例:模拟用户登录

示例4-2importjava.util.Scanner;publicclassLogin{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("请输入用户名:");StringuserName=input.next();System.out.print("请输入密码:");intpwd=input.nextInt();

if("wangwu".equals(userName)&&pwd==123456){

System.out.println("登录成功,进入主页面!");

}else{

System.out.println("对不起,用户名或密码不正确!");

}}}

基本数据类型使用”==”比较值是否相等,String使用equals方法比较内容是否相等双分支结构三目运算符也被称为条件运算符,是if…else的简写结构语法:

条件表达式?结果1:结果2;执行顺序:条件表达式的结果为true,值为“:”之前内容,条件表达式的结果为false,值为“:”之后内容

案例:使用三目运算符求最大值示例4-3public

classMaxDemo{

public

static

voidmain(String[]args){

intnumA=10,numB=20;

intmax=numA>numB?numA:numB;System.out.println("最大值:"+max);}}多分支结构-多重if多分支结构被称为“多选一”结构多重if用于解决连续的区间段问题语法:if(条件表达式1){//语句1;}elseif(条件表达式2){//语句2;}elseif(条件表达式N){//语句N;}else{//语句N+1;}

案例:积分换购示例4-4关键代码 if(score>=0&&score<1000){

System.out.println("对不起,您当前的积分不足,不能参与换购活动"); }elseif(score>=1000&&score<2000){

System.out.println("换购毛巾一条"); }elseif(score>=2000&&score<3000){

System.out.println("换购雨伞一把"); }elseif(score>=3000&&score<5000){

System.out.println("换购床单一个");

}elseif(score>=5000&&score<7000){

System.out.println("换购被子一个");

}elseif(score>=7000&&score<9000){

System.out.println("换购电吹风一个"); }elseif(score>=9000&&score<15000){

System.out.println("换购电风扇一台"); }elseif(score>=15000){

System.out.println("换购四件套一套"); }else{

System.out.println("对不起,您输入的积分有误!"); }

示例4-4完整代码多分支结构-switch多分支结构被称为“多选一”结构switch用于解决等值问题语法结构

switch(表达式){case常量1:[break;]case常量2:[break;][default:break;]}语法说明表达式的类型可以是byte,short,int,char,JDK1.5时加入枚举,JDK1.7时加入Stringbreak的作用是停止贯穿,即退出switch结构,break可以省略不写default相当于多重if中的最后一个else,可以省略不写案例:百战保险业务办理示例4-5关键代码 intchoice=input.nextInt();//用户选择要办理的业务序号//使用switch结构switch(choice){case9:System.out.println("您选择的是车险报案");

break;case1:System.out.println("您选择的是人寿业务");

break;case2:System.out.println("您选择的是信用卡业务");

break;case3: System.out.println("您选择的是银行业务");

break;default: System.out.println("对不起,您选择的业务不存在!");

break;} 示例4-5完整代码本章小结单分支结构用于处理单一的条件判断双分支结构用于处理非A即B的情况,即二选一的情况多重if结构用于解决连续的区间段问题,多选一执行switch结构用于解决等值问题多重if与switch的关系多重if即可以处理连续的区间段问题,也可以处理条件判断是等值的情况switch只能处理条件判断是等值的情况第5章循环结构本章目标学会使用while循环学会使用do-while循环学会使用for循环学会在程序中使用break、continue语句熟练使用Eclipse调试工具进行程序调试do-while循环break语句本单小结for循环continue语句本章内容while循环多重循环Java代码调试循环循环的作用用于解决某段代码被重复执行的问题循环的分类根据循环的执行次数 次数固定的循环举例:银行卡密码的录入最多3次次数不固定的循环举例:密码录入正确后取款的次数根据语法结构

while循环

do-while循环

for循环根据执行特点先判断后执行的循环先执行后判断的循环while循环可以解决次数固定的问题也可以解决次数不固定的问题语法://(1)初始化变量while((2)条件判断){//(3)循环操作的内容

//(4)改变变量}特点:先判断,后执行案例:1-10之间的累加和

初始化i,就判断i,判断i就改变i,再有其他判断,则使用if来完成案例:1-10之间的奇数和示例5-1publicclassTestWhile{publicstaticvoidmain(String[]args){

intsum=0;intcount=0;

//(1)初始化变量

inti=1;while(i<=10){//(2)条件判断//(3)循环体,累加示和

sum+=i; count++;//循环每执行一次count加1 //(4)改变变量

i++;

}

//循环体外的代码System.out.println("1-10之间的积加和:"+sum);System.out.println("循环共执行了"+count+"次");}}

示例5-2publicclassTestWhile2{publicstaticvoidmain(String[]args){

intsum=0;//(1)初始化变量inti=1;

while(i<=10){//(2)条件判断

//(3)循环体,累加示和

if(i%2==1){//或者i%2!=0 sum+=i; }

//(4)改变变量

i++;

}

//循环体外的代码

System.out.println("1-10之间的奇数和:"+sum); }}

while循环案例:模拟ATM机业务操作

示例5-3Stringanswer="y";//(1)初始化String类型的变量answer,赋值为ywhile("y".equals(answer)){

//(2)条件判断,answer的值,比较的结果为true,进入循环结构//(3)重复执行的代码System.out.println("===========欢迎使用ATM机=============");System.out.println("1.取款2.存款");System.out.println("===================================");

intchoice=input.nextInt();//用户的选择

switch(choice){

case1: System.out.println("取款操作");

break;

case2: System.out.println("存款操作");

break;

default: System.out.println("对不起,您输入的有误!");

break;}//(4)询问用户是否继续操作,改变条件判断变量answer的值

System.out.println("\n继续吗?(y/其它字符)");answer=input.next();}

示例5-3完整代码do-while循环即可解决次数不固定的问题,也可解决次数固定的问题语法:do{//语句}while(条件表达式);特点:先执行,后判断

案例:do-while解决次数不固定循环的步骤示例5-4Stringanswer="y";//(1)初始化String类型的变量answer,赋值可以为y也可以为其它值do{//(3)循环体……//(4)询问用户是否继续操作,改变条件判断变量answer的值System.out.println("\n继续吗?(y/其它字符)");answer=input.next();}while("y".equals(answer));

//(2)条件判断,answer的值,比较的结果为true,进入循环结构for循环用于解决次数固定的循环,循环的判断条件即循环的执行次数语法:for((1)初始化变量;(2)条件判断;(4)改变变量){

(3)循环体;}

案例:1-10之间的累加和示例5-5public

classTestFor{

public

static

voidmain(String[]args){

intsum=0; //(1)初始化变量;(2)条件判断;(4)改变变量

for(inti=1;i<=10;i++){

//(3)循环体; sum+=i;

} System.out.println("1-10之间的积加和为:"+sum); }}break语句在switch中的作用是终止贯穿在循环中的作用是退出循环结构在循环中通常与条件判断一起使用案例:break语句的使用示例5-6public

classTestBreak1{

public

static

voidmain(String[]args){

intsum=0;

for(inti=1;i<=10;i++){

if(i==5){break; } sum+=i;}System.out.println("1-10之间的积加和为:"+sum);}}continue语句只能用在循环中

作用是结束本次循环,而进入下一次循环在while循环和do-while循环中,跳转到条件判断处在for循环中,跳到改变变量处

案例:continue在while中的使用案例:continue在for中的使用示例5-7public

classContinueWhile{

public

static

voidmain(String[]args){

intsum=0;

inti=1;

while(i<=5){

if(i%2==0){

continue;//跳转到条件判断i<=5处

} sum+=i; i++;

} System.out.println("结果为:"+sum); }}示例5-8public

classContinueFor{

public

static

voidmain(String[]args){

intsum=0;

for(inti=1;i<=5;i++){

if(i%2==0){

continue;//跳转到改变变量i++处

} sum+=i;

} System.out.println("结果为:"+sum); }}多重循环在一个循环结构中嵌套别外一个完整的循环结构称为二重循环三层及三层以上的循环嵌套称为多重循环特点:外层循环执行一次,内层循环执行完成的一轮举例:外层循环执行3次,内层循环执行4次,整个循环结束,循环一共执行了12次

三种循环可以任意嵌套

案例:多重循环模拟ATM机业务操作for(inti=1;i<=3;i++){

for(intj=1;j<=4;j++){…….}

}

示例5-9

关键代码for(inti=0;i<3;i++){ Stringanswer="y";//(1)初始化String类型的变量answer,赋值为y

while("y".equals(answer)){//(2)条件判断,answer的值,比较的结果为true,进入循环结构

…..

intchoice=input.nextInt();//用户的选择

//switch中的所有break的作用都是“停止贯穿”,退出switch结构

switch(choice){

case1:……break; ……} //(4)询问用户是否继续操作,改变条件判断变量answer的值

System.out.println("\n继续吗?(y/其它字符)"); answer=input.next(); }}示例5-9完整代码Java代码调试Eclipse给我们提供了一个程序调试的功能,我们可以对程序设置断点、单步运行、观察变量值的变化等,来一步一步的跟踪程序的运行过程程序调试的步骤设置断点:在Eclipse编辑窗口左边靠近滚动条的位置双击,即可设置断点启动调试:设置好断点后,单击调试按钮,启动调试单步执行,观察变量值的变化:启动调试后,程序会在设置断点的地方停下来,这条语句的背景色变为淡绿色

,接下来在调试视图中单击单步执行按钮逐条语句运行程序

本章小结循环用于解决重复的问题循环的分类按照循环可以解决的问题分为:次数固定的循环和次数不固定的循环按照语法结构循环可分为:while循环、do-while循环和for循环按照循环执行的特点可分为:“先判断,后执行”的while与for后,“先执行,后判断”的do-while循环循环的步骤实始化变量判断条件循环体改变变量循环的秘籍:“初始化什么,就判断什么,判断什么,就改变什么”程序的中断语句break与continuebreak:可以用在switch中,用于停止贯穿,即退出switch结构可以用在循环结构中,用于退出循环结构continue:只能用到循环结构中,用于停止本次循环,而进入下一次循环在while与do-while循环中用于跳转到循环的条件判断处,在for循环中用于跳转到变量的改变处在一个循环结构中嵌套另一个完整的循环结构称为二重循环程序调试的步骤:设置断点,启动调试,观察变量第6章方法本章目标掌握定义方法掌握方法的调用掌握方法的重载方法的调用方法的重载方法的参数传递递归本章内容方法的定义本章小结方法的定义方法方法就是一段代码的组合,能够完成一个独立的功能,可以被反复调用(使用)语法:publicstatic返回值类型方法名称(类型参数1,类型参数2,……){

方法的主体程序语句:[return表达式;]}

案例:方法定义的举例代码说明

(1)Calc是类的名称

(2)publicstatic叫访问修饰符,目前所学的知识,必须要求这样写,因为主方法是publicstatic的方法

(3)int是方法主体的运算结果的数据类型

(4)add是方法的名称,要求第一个单词的首字母小写,第二个单词的首字母大写(5)intx,inty是方法执行的不确定因素,称为形式参数(6)returnresult;使用return去结束一个方法,同时将结果提供给方法的调用处示例6-1public

classCalc{

public

static

intadd(intx,inty){

intresult=x+y;

returnresult;}}方法的使用方法在类加载时被加载到方法区中,只有被调用时才会被执行语法:类名.方法名(实际参数);案例:方法的调用代码说明(1)Calc是add这个方法定义所在的类(2)a,y是方法运行时的真实参数,叫做实际参数,简称实参。实参的名称可以与形参的名称相同,也可以不同(3)ints;是声明一个int类型的变量叫s,用于存储方法的执行结果

importjava.util.Scanner;public

classTestCalc{

public

static

voidmain(String[]args){Scannerinput=newScanner(System.in);System.out.println("请输入第一个加数:");

inta=input.nextInt();System.out.println("请输入第二个加数:");

inty=input.nextInt();

ints=Calc.add(a,y);System.out.println("结果是:"+s);}}示例6-2方法的小结方法定义处的参数称为形式参数,因为有类型方法调用处的参数称为实际参数,没有类型,但是是一个实际的值示例6-2中方法的定义处的形式参数叫x和y,方法调用处的实际参数叫a和y,实际参数的名称与形式参数的名称可以相同,也可以不同方法调用时的实际参数的类型、个数、顺序必须与方法定义处的形式参数类型、个数、顺序、完全一致在定义方法时,返回值的类型定义什么比较合适呢,到底是定义成void还是其它的数据类型?这完全取决于实际情况。如果方法的执行结果会在其它的方法中使用,那么该方法可以定义为带返回值的方法,如果方法本身的功能只用于输出,那么则可以定义为void方法的参数传递基本数据类型在进行参数传递时,传递的是值的副本方法的练习方法定义需要明确的两个问题明确方法的执行是否会有不确定的因素,如果有,放到小括号中,称为形式参数。明确方法的执行结束后,是否会有结果,结果的类型是什么,称为方法的返回值类型方法调用处需要负责的两个操作负责为方法提供实际参数。负责对结果进行处理public

static

voidprintShape(introw,Stringstr){

for(inti=1;i<=row;i++){for(intj=1;j<=i;j++){

System.out.print(str);}System.out.println();}}

示例6-3public

static

voidmain(String[]args){Scannerinput=newScanner(System.in);System.out.println("请输入行数:");

inth=input.nextInt();System.out.println("请输入打印的图形:");Stringxing=input.next();//MethodDemo.printShape(h,xing);

printShape(h,xing);

}方法重载方法重载的定义在同一个类中方法的名称相同参数的类型、个数、顺序不同与方法的访问修饰符和返回值类型无关方法重载的好处只需关注功能,无需关注参数的情况,在调用时系统自动匹配相应的方法执行

案例:常用的使用println()方法案例:自定义的方法重载示例6-4public

classTestPrint{

public

static

voidmain(String[]args){ System.out.println("helloworld"); System.out.println(15); System.out.println(true); System.out.println('a');}}示例6-5public

classMiniCalc{/*

温馨提示

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

评论

0/150

提交评论