Java基础——流程控制

简介: Java基础——流程控制

Java基础——流程控制


补充:


Ⅰ,局部变量


定义:在函数内部定义的变量

特点:

①先赋值后使用

②作用范围:从定义这个变量开始到定义这个变量的代码块结束

③在重合范围内,不允许两个局部变量命名发生冲突

package p3;
public class TestLocalVar{
  public static void main (String [] args){
    int a;
    a=10;         //先赋值后使用,如果不把10赋值给a,后面的a将无法使用
      {
        int b=10;
        System.out.println(b);  //作用范围:从定义这个变量开始到定义这个变量的代码块结束,在这个代码块之外,这个b就没用了
    }
      System.out.println(a);
  }
    {
      int b=19;       
      System.out.println(b);
    }
    {
      int b=18;
      System.out.println(b);    //在重合范围内,不允许两个局部变量命名发生冲突,这两个b不在同一代码块    
    }
}

Ⅱ,读入数据


Java语言的工具类:java.util.Scanner

package p3;
import java.util.Scanner;
public class TestScanner{
  public static void main(String []args){
    Scanner sc= new Scanner(System.in);       //创建一个Scanner对象,为读入数据做准备
    System.out.println("请输入一个字符串:");
    String str=sc.nextLine();       //读入字符串
    System.out.println("请输入一个整数:");
    int i=sc.nextInt();         //读入整数
    System.out.println("请输入一个小数:");
    double d=sc.nextDouble();       //读入浮点数
    System.out.println(str+i*d);
  } 
}

运行时可以在控制台上输入数据,结果如下image.png

一、条件分支流程


条件满足就执行,条件不满足不执行

 

1,Ⅰ,if(布尔表达式){ 

代码块


}


布尔表达式为true,执行代码块的代码


布尔表达式为false,不执行代码块的代码


Ⅱ,if(布尔表达式){


代码块①


}else{


代码块②


}


布尔表达式为true,执行代码块①的代码


布尔表达式为false,执行代码块②的代码


代码块①②不会同时执行


Ⅲ,if(布尔表达式){


代码块


}else if(布尔表达式){


代码块


}else{


代码块



}


示例代码:


package p3;
import java.util.Scanner;
public class TestIf{
  public static void main(String []args){
    System.out.print("请输入一个整数:");
    Scanner sc=new Scanner(System.in);
    int i=sc.nextInt();
    if(i>2){
      System.out.println(i+"大于2!");
    }else if(i=2){
      System.out.println(i+"等于2!");
    }else{
      System.out.println(i+"小于2!");
    }
  }
}

2,switch(表达式){


case value1:语句1;break;


case value2:语句2;break;


case value3:语句3;break;


……………………


case valueN:语句N;break;


default:语句t; break;


}


注意:


1,default位置不限制。


2,switch(表达式),表达式只允许整型表达式 byte、short、int、char

package p3;
import java.util.Scanner;
public class TestSwitch{
  public static void main(String []args){
    System.out.print("请输入一个1~5的整数:");
    Scanner sc=new Scanner(System.in);
    int i=sc.nextInt();
    switch(i){
      case 5:System.out.println("优秀!");break;
      case 4:System.out.println("良好。");break;
      case 3:System.out.println("及格。");break;
      case 2:
      case 1:System.out.println("不及格!");break;
      default:System.out.println("成绩输入有误!");break;
    }
  }
}

二、循环流程


1while(布尔表达式){

循环体

}

循环体要执行0~n次,不确定循环


示例代码:

package p3;
public class TestWhile{
  public static void main(String[] args){
    int i = 0;//初始化初值
    while(i<=10){//循环条件
      System.out.println(i);
      i++;//循环增量,迭代操作
    }
    System.out.println("循环结束"+i);
  }
}

2do{

循环体

}while(条件);

循环体要执行1~n次,不确定循环

示例代码:

package p3;
public class TestDoWhile{
  public static void main(String[] args){
    int i = 0;//初始化初值
    do{//循环体
      System.out.println(i);
      i++;//循环增量
    }while(i<=10);//判断条件,作用于下一次循环,判断是否执行下一次
  }
}

3for(①赋值语句;②条件语句;③一般是对循环变量的自加或自减){

④循环体

}

循环顺序①②③④②④③……

优点:1,简洁

  2,适合在确定循环上,事先知道循环几次上使用

共同点:都能完成循环逻辑,但各有优缺点

 示例代码:

package p3;
public class TestFor{
  public static void main(String[] args){
    for(int i=0;i<=10;i++){
      System.out.println(i);  
    }
    int i = 0;
    for(i=1;i<10;i++){
      System.out.println(i);  
    }
    System.out.println("最终值"+i);
    for(int j=10;j>=0;j--){
      System.out.println(j);
    }
    /*
      初始化初值,只有在第一次执行循环时运行  int i  = 0;只在{}以内生效
      循环条件,每次循环体代码执行之前都要判断
      循环增量,每次循环体代码执行完毕之后才执行迭代操作
    */
  }
}

4breakcontinue

break跳出循环,循环直接结束

continue跳出本次循环,除跳过之外其他地方正常输出

相关文章
|
10天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
38 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
4月前
|
Java
解析Java线程池:参数详解与执行流程
解析Java线程池:参数详解与执行流程
56 1
|
5天前
|
前端开发 安全 Java
java发布公告的实现流程
构建一个Java公告发布系统涉及到前端界面设计、后端业务逻辑处理、数据库设计与交互、安全性保障等多个环节。通过采用现代的开发框架和最佳实践,可以高效地开发出既安全又易于维护的系统。随着需求的增长,系统还可以进一步扩展,比如增加评论功能、通知订阅、多语言支持等。
11 1
|
3月前
|
消息中间件 存储 Java
使用Java构建实时数据处理流程
使用Java构建实时数据处理流程
|
10天前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文介绍了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署和云原生部署。每种方式的特点、部署流程及优缺点进行了详细说明。传统部署直接在物理机上运行应用,存在资源利用率低和运维成本高的问题;虚拟化部署通过虚拟机实现资源隔离和复用,但有性能损失和单点故障风险;容器化部署则提供轻量级、可移植的应用环境,具备良好的隔离性和一致性;云原生部署结合了容器化和微服务架构,实现高效运维和灵活扩展。
Java项目部署的发展流程
|
1月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
2月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文对比分析了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署及云原生部署。传统部署直接在物理机上运行程序,存在资源复用难等问题。虚拟化部署通过虚拟机技术实现了资源的有效隔离与利用,但可能会造成性能损失。容器化部署则进一步提升了应用的可移植性和资源利用率,减轻了运维负担。云原生部署结合容器化、微服务等技术,实现了应用的快速迭代、高效运维和灵活扩展,适用于现代互联网应用的开发与部署。每种方式均针对其特点进行了详细的流程描述与优缺点分析。
|
2月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
59 18
|
2月前
|
Java
在Java编程的广阔天地中,条件语句是控制程序流程、实现逻辑判断的重要工具。
在Java编程中,if-else与switch作为核心条件语句,各具特色。if-else以其高度灵活性,适用于复杂逻辑判断,支持多种条件组合;而switch在多分支选择上表现优异,尤其适合处理枚举类型或固定选项集,通过内部跳转表提高执行效率。两者各有千秋:if-else擅长复杂逻辑,switch则在多分支选择中更胜一筹。理解它们的特点并在合适场景下使用,能够编写出更高效、易读的Java代码。
34 1
|
2月前
|
Java
Java 流程控制15道练习题(选择&循环)
Java 流程控制15道练习题(选择&循环)
45 10