Java 语言程序设计基础 (笔记三) (专升本自考,九天速成)

第三章:流程控制语句

第一节:Java程序的结构

①概念:java程序是由一个或多个.java文件组成,这些文件称为源文件。每个源文件含有一个或多个类或接口。一个源文件种如果有多个类,则最多有一个是public类型的类。

java程序是由一条条语句组成,包含以下内容:

Ⅰ package语句:包语句,每个文件中最多只有一个,放在文件开始的地方

Ⅱ import语句:引入语句,python中也称为调用函数语句,可以没有,可以多个,放在所有类定义前面

Ⅲ 具有public权限的类定义:每个文件中最多有一个

Ⅳ 类定义:每个文件中包含的非public权限的类定义的个数没有限制

Ⅶ 接口定义:每个文件中包含的接口定义个数没有限制

②java包:包含一些相关类,目的就是将相关源代码文件组织在一起

包语句格式为:package pkg1 [ . pkg2 [ . pkg3...]];      

****如果程序中又package语句,该语句一定是源文件中得第一条非注释语句************

****包的名字有层次关系,各层之间以点分隔**********

*****一个包可包含若干个类文件,还可以包含若干个包*********

③引入语句:用import语句引入所需要得类。 引入语句格式:import pkg1 [ . pkg2[ . pkg3...]].(类名 | * );     **使用具体p52-p53**

特别注意:应先声明一个包,具有类,再使用import进行调用。不可有两个package ,且package应在前面。

*****程序中不一定要有引入语句,当引用某个类的类与被引用的类存储在同一个物理目录下时,可以直接使用被引用的类******

第二节:流程控制

概念:语句是java的最小执行单行,语句间以分号(;)作为分隔符。

语句分为:单语句和复合语句

几类语句:赋值语句、分支语句、循环语句等

①赋值语句:表达式将一个值赋予某个变量。有的表达式也可单独当作语句,也被称为表达句语句。

实例:customer1 = new Customer();

           x=12;

           x++;

②分支语句:动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。有if语句和switch两种。

Ⅰ if语句:(用法和python差不多)详细参考p55

Ⅱ switch:    参考p56-58

③循环语句:三种循环语句①for语句 ②while语句 ③do语句

Ⅰ  for 语句:

语义:先执行初始语句,判断表达式的指,为真执行循环体语句再执行迭代语句,知道为假时结束。

语法格式:for(初始语句;条件表达式;迭代语句)

示例:for(ink=0 ; k<3 ; k++)  详情书本p59

Ⅱ  while语句:

语法格式:while(条件表达式)

****和If语句一样,while语句中的条件表达式亦不能用数值来代替*****

语义:值为真时,重复执行循环体语句,直到为假停下。

Ⅲ do语句:

语句格式:do

                           语句 ;

                  while(条件表达式)

语义:首先执行循环体语句,当值为真重复执行循环体语句,为假时结束。

④跳转语句:以两条特殊的流控制语句组成,分别是break语句和continue语句,用于分支语句或循环语句中。

Ⅰ 标号可放在任意语句前,通常与for、while或do语句配合使用。语法格式为:标号:语句;

Ⅱ break语句

概念:可用于3类语句中,第一类是switch语句中,第二类再for、while、do循环语句中,第三类在语句块中。break意义是跳过本快中余下的所有语句,转到快尾,执行其后的语句。

实例参考P62

Ⅲ continue语句

概念:continue语句可以立即结束当次循环,开始执行下一次循环。语句格式:continue标号;

第三节:简单的输入、输出

① Scanner类:P64

Ⅰ 用于方便读入不同类型的输入值。

Ⅱ 调用Scanner类方法,先创建一个Scanner对象,使用new运算,读入键盘输入为:Scanner scan = new Scanner (System. in );

Ⅲ Scanner类的构造方法接受一个参数,这个参数代表了输入源。

Ⅳ Scanner对象用空白作为输入的分隔元素。

Ⅴ Scanner类的next()方法读入下一个输入对象,将他作为字符串返回。

②NumberFormat类和DecimalFormat类   P65

Ⅰ NumberFormat类提供对数值进行格式化操作的一般功能

Ⅱ NumberFormat类只能直接使用类名调用一个特殊的静态方法来得到一个对象,比如,NumberFormat类中的getInstance()方法,将参数按相应的模式格式化后作为字符串返回。

Ⅲ NumberFormat类中常用方法如下:

*getInstance():返回当前默认语言环境的默认数值格式

*getCurrencyInstance():返回当前默认语言环境的通用格式

*getNumberInstance():返回当前默认语言环境的通用数值格式

*getPercentInstance():返回当前默认语言环境的百分比格式

*setMaximumFractionDigits( int ) :设置数值的小数部分允许的最大位数。

*setMaximumIntegerDigits ( int ): 设置数值的整数部分允许的最大位数。

*setMinimumFractionDigits ( int ):设置数值的小数部分允许的最小位数

*setMinimumIntegerDigits (int):设置数值的证书部分允许的最小位数

Ⅳ DeciamlFormat类按惯例使用new运算符来实例化对象。构造方法要带一个String类型的参数,这个参数表示格式化处理模式。然后可以使用format()方法对一个具体的值进行格式化,之后还可以调用applyPattern()方法来改变对象要使用的模式。

第四节:处理异常

错误分两类:一种非致命性,被称为异常。 第二种为致命性,就称之为错误。

①异常及处理机制

为了解决问题,JAVA提供了异常处理机制,预定义了Exception类。Exception类中定义了程序产生异常的条件。

②异常分类:

概念:JAVA语言在所有的预设包中都定义了异常类和错误类。Exception类是所有异常类的父类,Error类是所有错误类的父类,这两个类同时又是Throwable类的子类。

异常分三种:1.受检异常,必须被处理      2.运行时异常,还不需要处理            3错误,不需要处理

Ⅰ受检异常:是程序执行期间发生严重事件的后果,例如程序从磁盘读入数据,而系统找不到含有数据文件,称为受检异常。

Ⅱ 运行时异常:是程序中逻辑错误的结果,例如下标越界导致ArrayIndexOutOfBounds异常。

Ⅲ 错误:是标准类Error或其后代类的一个对象,Error是Throwable的后代。

③异常处理:

当发生异常时,程序会终端执行,并输出信息。一般有两种处理方法:1.在方法内处理异常,2.或是告诉方法的调用者来处理

详情p70-71

④公共异常:

1.ArithmeticException:整数除法中,除数为0,则发生该异常。

2.NullPointerException:如果一个对象没有实例化,那么访问对象或调用它将出现该异常。

3.NegativeArraySizeException:常规,数组元素个数应是大于等于0的整数,如果创建数组时,元素个数是负数,引出该异常。

4.ArrayIndexOutOfBoundsException:数组下标越界,将导致该异常。

⑤抛出异常:

程序员处理异常方法有两种。一种为使用try块和catch块。捕获到所发生的异常类,进行处理。

catch块可以为空,表示对发生的异常不进行处理。

如果一个方法引发了一个异常,自己不进行处理,就要由调用者进行处理,例如抛出异常的throw语句,则要在方法头添加一个throws子句。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cllmsy_K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值