java复习之流程控制

java程序的结构

一个java程序可由一个或多个.java文件组成,这些文件称为源文件。每个源文件含有一个或多个类或接口。一个源文件中如果有多个类,则最多只能有一个是public类型的类,名字与文件名相同。
  package语句:包语句,每个文件最多只有一个,且必须放在文件开始的地方。
  import语句:引入语句,可以没有,也可以有多个,如果有 import语句的话,必须放在所有类定义的前面和包语句的后面.import student.*//引入所有与student开头的类.

包的概念

有package语句,该语句一定是源文件中的第一条非注释语句,包语句只能有一个,它的前面只能有注释或空行。通常包名全部用小写,一个包可以包含若干个类文件,还可以包含若干个包。

流程控制

分赋值语句、分支语句、循环语句和跳转语句。
语句是java的最小执行单位。
有的表达式也可单独当作语句,这样的语句称为表达式语句。每个表达式都会得到一个值.如:d++;
if可以嵌套,else可选,所以if的个数可能多于else的个数
switch应用有所限制,其表达式只能应用于int,char.

输入输出

Scanner类属于java. util包.
 Scanner scan=new Scanner(System.in);
 Scanner类的构造方法接收一个参数,这个参数代表了输入源,System.in对象代表标准输入流,默认是指键盘。
Scanner对象用空白 (空格 、水平制表符及回车换行符)作为输入的分隔元素。这些空白称为分隔符。也可以指定用其他的符号作为分隔符。
next()方法读入下一个输入对象,将它作为字符串返回。
nextLine( )方法读入当前行的所有输入,直到行尾,然后作为字符串返回。

数字处理类

Java提供的格式化输出功能.
使打印或显示的信息看起来比较美观。DecimalFormat类和NumberFormat类属于Java标准类库,定义在 java. text包中。

NumberFormat
  public static void main(String[] args){
  Double myNumber = 12345.123456789;
  NumberFormat.getInstance().format(myNumber);//返回当前默认语言环境的默认数值格式。
  NumberFormat.getCurrencyInstance().format(myNumber);//返回当前默认语言环境的通过格式。
  NumberFormat.getNumberInstance().format(myNumber);//返回当前默认语言环境的通过数值格式。
  NumberFormat.getPercentInstance().format(myNumber);//返回当前默认语言环境的百分比格式。1
  NumberFormat.format =NumberFormat.getInstance();
  format.setMaximumFractionDigits(3;//设置数值的小数部分允许的最大位数。
  format.setMaximumIntegerDigits(5;//设置数值的整数部分允许的最大位数。
  format.setMaximumFractionDigits(10;//设置数值的小数部分允许的最小位数。
  format.setMaximum IntegerDigits0;//置数值的整数部分允许的最小位数。
  System.out.println(format.format(myNumber));
  DecimalFormat
  int age;
  double weight,height, bmi;
  Scanner scan = new ScannerSystem.in);
  // 创建从键盘输入的对象
  System.out.print("请输入您的年龄:";
  age = scan.nextInt();
  //从键盘读入一个in t型数据
  System.out.print("请输入您的体重( 公斤):";
  weight = scan. nextDouble();
  // 从键盘读入一个double 型数据
  System.out.print("请输入您的身高(米):";
  height = scan. nextDouble ();
  bmi = weight/( height * height);
  DecimalFormat format = new DecimalFormat"0.###";
  System.out.println ("BMI:"+ format.format(bmi));

处理异常

java在所有的预设包中都定义了异常类和错误类。
Exception类是所有异常类的父类 , Error类是所有错误类的父类,这两个类同时又是Throwable类的子类。虽然异常属于不同的类,但所有这些类都是标准类Throwable类的后代,Throwable在java类库中,不需要import语句就可以使用,异常分为以下3种:

  1. 受检异常,必须被处理
  2. 运行时异常,不需要处理
  3. 错误,不需要处理
    try、catch经常成对出现。一个try可以有多个catch块。
    不论是否捕获到异常,都要执行finally后面的语句。
受检异常

程序执行期间发生的严重事件的后果,受检异常的所有类都是类Exception的子类。Exception是Throwable的后代。表示受检异常有:ClassNotFoundException\FileNotFoundException、IOException、NoSuchMethodException及WriteAbortedException.

运行时异常

通常是程序中逻辑错误的结果。运行时异常的所有类都是类RuntimeException的子类。它是Exception的后代。
ArithmeticException、ArrayIndexOutOfBoundsException、ClassCastException、EmptyStackException、IllegalArgumentException、IllegalStateException、IndexOutOfBoundsExxeption、NoSuchElementException、NullPointerException和UnsupportedOperationException.

公共异常

1. ArithmeticException
  整数除法中,如果除数为0 ,则发生该类异常,如下面表达式将引发ArithmeticException异常。
  int i = 12/0;
  2. NullPointerException
  如果一个对象还没有实例化,那么访问该对象或调用它的方法将导致NullPointerException异常。
  3. NegativeArraySizeException
  按常规,数组的元素个数应是一个大于等于0的整数。创建数组时,如果元素个数是负数 ,则会引发 NegativeArraySizeException 异常。
  4. ArraylndexOutOfBoundsException
  Java把数组看作是对象,并用length变量记录数组的大小。访问数组元素时,运行时环境根据length值检查下标的大小。如 果数组下标越界,则将导致ArraylndexOutOfBoundsException异常。

异常图
总结

try: 执行可能会出问题的语句。
  catch:捕获异常try代码块中可能抛出的异常。
  finally:无论是否有异常都要执行的代码。
  throw:出现在方法体中,用于抛出异常。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。
  throws:出现在方法的声明中,表示该方法可能会抛出的异常,允许throws后面跟着多个异常类型。
  try、catch经常成对出现。一个try可以有多个catch块。
  system.exit(0);参数0,表示虽然遇到了一个严重问题,但程序是正常结束的。
  如果在保护代码内执行了System.exit()方法,将不执行finally后面的语句,这是不执行finally后面语句的唯一一种可能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

guangod

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

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

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

打赏作者

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

抵扣说明:

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

余额充值