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跳出本次循环,除跳过之外其他地方正常输出

相关文章
|
29天前
|
缓存 监控 Java
Java线程池提交任务流程底层源码与源码解析
【11月更文挑战第30天】嘿,各位技术爱好者们,今天咱们来聊聊Java线程池提交任务的底层源码与源码解析。作为一个资深的Java开发者,我相信你一定对线程池并不陌生。线程池作为并发编程中的一大利器,其重要性不言而喻。今天,我将以对话的方式,带你一步步深入线程池的奥秘,从概述到功能点,再到背景和业务点,最后到底层原理和示例,让你对线程池有一个全新的认识。
55 12
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
92 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
1月前
|
小程序 前端开发 算法
|
1月前
|
Java API 开发者
Java如何实现企业微信审批流程
大家好,我是V哥。本文分享如何在企业微信中实现审批流程,通过调用企业微信的开放API完成。主要内容包括获取Access Token、创建审批模板、发起审批流程和查询审批结果。提供了一个Java示例代码,帮助开发者快速上手。希望对你有帮助,关注V哥爱编程,编码路上同行。
100 4
|
2月前
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
36 1
|
2月前
|
前端开发 安全 Java
java发布公告的实现流程
构建一个Java公告发布系统涉及到前端界面设计、后端业务逻辑处理、数据库设计与交互、安全性保障等多个环节。通过采用现代的开发框架和最佳实践,可以高效地开发出既安全又易于维护的系统。随着需求的增长,系统还可以进一步扩展,比如增加评论功能、通知订阅、多语言支持等。
53 1
|
2月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文介绍了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署和云原生部署。每种方式的特点、部署流程及优缺点进行了详细说明。传统部署直接在物理机上运行应用,存在资源利用率低和运维成本高的问题;虚拟化部署通过虚拟机实现资源隔离和复用,但有性能损失和单点故障风险;容器化部署则提供轻量级、可移植的应用环境,具备良好的隔离性和一致性;云原生部署结合了容器化和微服务架构,实现高效运维和灵活扩展。
Java项目部署的发展流程
|
3月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
4月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文对比分析了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署及云原生部署。传统部署直接在物理机上运行程序,存在资源复用难等问题。虚拟化部署通过虚拟机技术实现了资源的有效隔离与利用,但可能会造成性能损失。容器化部署则进一步提升了应用的可移植性和资源利用率,减轻了运维负担。云原生部署结合容器化、微服务等技术,实现了应用的快速迭代、高效运维和灵活扩展,适用于现代互联网应用的开发与部署。每种方式均针对其特点进行了详细的流程描述与优缺点分析。
|
4月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
73 18