第三章流程控制语句

一、java程序结构

1、java包的概念
  • package语句:包语句,每个文件最多只有一个,且必须放在文件开始的地方。
  • import语句:引入语句,可以没有,也可以有多个,如果有 import语句的话,必须放在所有类定义的前面。
  • 类定义:每个文件中包含的非public权限的类定义的个数没有限制。
  • 接口定义:每个文件中包含的接口定义个数没有限制。
  • 包的概念包是类的容器, 包的设计人员利用包来划分名字空间,以避免类名冲突。
  • 引入时包与包下边的包用.分隔
2、流程控制
  • 流程控制语句又分赋值语句、分支语句、循环语句和跳转语句。
  • 赋值语句:
     customerl = new Customer() ;//赋值语句
      x = 12;//表达式语句
      x ++ ;//表达式语句
  • 分支语句
      分支语句根据一定的条件,动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。分支语句有if语句 和 switch语句两种,先看下if语句的形式
 public class Control{
  public static void main(String[] args){
  int a = 3;int b=5;
  if(a>b){
  System.out.println(a);//语句1
  }
  else{
  System.out.println(b);//语句2
}
}
  • if 关键字之后的条件表达式必须得到一个逻辑值,if语句的含义是:当条件表达式结果为true时 ,执行语句1,然 后 继 续 执 行 if 后面的语句 ;当条件表达式为false时 ,如果有else子句 ,则执行语句2 ,可以没有else语句,如果没有则跳过该if语句,继续执行后面的语句
  • if语句可以嵌套使用,if中还可以写if判断
  • switch语句
      switch case语句如下:
      switch(表达式){
      case 选择值1:程序代码块1;
      case 选择值2:
      case 选择值3:程序代码块2;break;
      …
      case 选择值n:程序代码块n;break;//break语句可选
      default:程序代码块;
      }
  • switch语句的语义是:计算表达式的值,用该值依次和1, 2 , … ,n相比较。如果该值等于其中之一
  • switch语句有以下注意几点:
      □switch语句中不能忘记break,否则会有贯穿现象。
      □switch的应用有所限制,其表达式只能应用于int,char
  • swich语句示例
public class Test {
  public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);
  System.out.println("请输入数字");
  int day = scanner.nextInt();
  switch (day) {
  case 1:System.out.println("今天是星期一");break;
  case 2:System.out.println("今天是星期二");break;
  case 7:System.out.println("今天是星期日");break;
  default:
  System.out.println("抱歉,请重新输入");
  break;
  }
  } 

  • 循环语句
  • 循环语句的作用是反复执行一段代码,直到不满足循环条件为止。Java语言提供3种循环语句,分别是for语句、while语句和do语句。
      for语句的语法格式是:
      for( 初始语句; 条件表达式; 迭代语句){
      循环体语句;
      }
  • for语句的语义是:先执行初始语句,判断条件表达式的值,当条件表达式为真时,执行循环体语句,再执行迭代语句,然后去判别条件表达式的值。
  • for循环示例
public static void main(String[] args){
  for(int i =1;i<=10;i++){
  
  System.out.println(i);
  }
  }
  //该程序总共执行10,每次输出i的值,当i=11时,循环条件为假,循环结束,如果条件表达式的值永远为真,则循环会无限制地执行下去,直到系统资源耗尽为止。

  • while语句
    当程序中不能明确地指明循环的执行次数时,可以仅用条件表达式来决定循环的执行与否。
public static void main(String[] args){
  int a=1;
  int b=2;//初始化部分
  while(a<b){//a<b为循环条件
  a=a+2; //循环体
  }
  System.out.println(a+b);
  }
  *如果a<b为false,循环体将一次不执行,如果a的值不变,此循环为死循环。
  • do语句
    do语句的语义是:首先执行循环体语句,然后判定条件表达式的值,当值为真时,重复执行循环体语句,直到表达式的值为假时结束循环。
public static void main(String[] args){
  int a=1;
  int b=4;//初始化部分
  do{
  a=a+2;
  }
  while(a>b);
  System.out.println(a+b);
  }
  *不论条件是否成立,do中的循环体都会运行一次。
  • 跳转语句
  • breack
     break语句可用于3类语句中,第一类是在switch语句中,第二类是在for、while及do等循环语句中,第三类是在语句块中。在switch语句及循环语句中,break的语义是跳过本块中余下的所有语句。可以和标号一起使用。
     从循环语句或标识语句中退出
 public static void main(String[] args)
  for(int i = 1;i<=10;i++){
  if(i==3){
  break;//如果i等于3跳出循环
  }
  System.out.println(i);
  }
  }
 如果是多层循环,break就终止当前循环以及包括的循环。 
  • continue
    continue语句可以立即结束当次循环,开始执行下一次循环,当然执行前要先判断循环条件是否满足.
    跳过本次循环执行下一次循环
// A code block
var foo = 'bar';
3、输入输出
  • 输入-Scanner类:
     Scanner scan = new Scanner( System. in);
     创建了一个变量scan ,它代表一个Scanner对象。对象本身由new运算符来创建 ,并调用构造方法来建立对象。Scanner类的构造方法接收一个参数,这个参数代表了输入源。System. in 对象代表标准输入流,默认是指键盘。
     nextLine( )方法读入当前行的所有输入
public static void main(String[] args) {
  String message;
  Scanner scan = new Scanner(System.in);
  // 创建从键盘输入的对象
  System.out.println(" Enter a line of text:");
  message = scan.nextLine();//从键盘读入一行
  System.out.println("You entered:"+message);
  }
  读入数值数据示例
  public static void main(String[] args){
  int age;
  double weight,height,bmi;
  Scanner scan = new Scanner(System.in);
  // 创建从键盘输入的对象
  System.out.print("请输入您的年龄:");
  age = scan.nextInt();
  //从键盘读入一个int型数据
  System.out.print("请输入您的体重( 公斤):");
  weight = scan.nextDouble();
  // 从键盘读入一个 double 型数据
  System.out.print("请输入您的身高(米):");
  height = scan. nextDouble ();
  bmi = weight/( height * height);
  System.out.println("BMI:"+bmi);
  }
``` 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值