Java流程控制

Scanner对象

通过Scanner类可以获取用户输入。

基本语法:

Scanner s=new Scanner(System.in)

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前使用hasNext()与hasNextLine()判断是否还有输入的数据。

hasNex+(数据类型)hasNexiInt……

Java流程控制_选择结构

IO流为输入输出流

Java流程控制_选择结构_02

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句句执行。
  • 顺序结构是任何一个算法都离不开的一种基本算法结构

if选择结构

  • if但选择结构

    if(布尔表达式){
        //布尔表达式为true将执行的语句
    }
    //equals:判断字符串是否相等
    if(a.equals("b")){
        System.out.print(a);
    }
    
  • if else双选择结构

    if(){
    }else{
    }
    
  • if多选择结构

    if(){
    }else if(){
    }else if(){
    }else{
    }
    
  • 嵌套if结构

    if(){
        if(){
        }
    }
    

    switch多选择结构

    • 多选择结构还有一个实现方式就是switch case语句。

    • switch case语句判断一个变量与一系列值忠某个值是否相等,每个值称为一个分支

      • switch语句忠的变量类型可以是:

      • byte、short、int、char

      • 从javaSE7开始switch支持字符串String类型

        同时case标签必须为字符串敞亮或字面量

switch(expression){
    case value:
        //语句
        break;//可选
    case value:
        break;
    default://可选
     	//语句
}
  • 反编译 java----class(字节码文件)----反编译(IDEA)

循环结构

  • while循环(最基本的循环)

    while(布尔表达式){
        //内容
    }
    
    • 只要布尔表达式为true,循环一直执行下去
    • 大部分情况会让循环停止下来,我们需要一个让表达式失效的方式来结束循环。
    • 少部分情况需要一直执行,比如服务器请求响应监听等
    • 循环条件一直为true就会造成无限循环【死循环】,我们正常业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!

do……while循环

  • while语句而言如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件也至少执行一次。

  • do……while循环和while循环相似,不同的是,do……while循环至少会执行一次。

    do{
        //代码语句
    }while()
    
  • 区别:

    • while先判断后执行。dowhile先执行后判断(顺序结构)
    • do……while总是保证循环体会被至少执行一次!这是他们的主要差别

for循环

  • for循环是支持迭代的一种通用结构,是最有效,最灵活的循环结构。

  • for循环的次数是在执行前就确定的

  • for(初始化;布尔表达式;更新){
    }
    for(int a=1;a<5;a++){
        System.out.print("神明");
    }
    
  • 九九乘法表

    for(int j=1;j<=9;j++){
    	for(int i=1;i<=j;i++){
            System.out.print(j+"*"+i+"="+(j*i)+"\t");
        }
        System.out.println();
    }
    

    增强for循环

  • 主要用于数组或集合

  • for(声明语句:表达式){
    }
    int [] numbers={1,2,3,4};
    for(int x:numbers){
        System.out.println(x);
    }
    
  • 声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

  • 表达式:要访问的数组名,或是返回值为数组的方法。

break,continue

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环忠剩余的语句。(break语句也在switch语句中使用)
  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体重尚未执行的语句,接着进行下一次是否执行循环的判定。