栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习笔记(二)——2022-7-8

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习笔记(二)——2022-7-8

注:本系列为个人学习笔记,存在知识点欠缺或知识逻辑不连贯,见谅。

一、循环语句初识
  • 什么是循环?循环是程序中重复执行,直到满足指定条件才停止的一段代码。

  • 在编程学习过程中,循环结构部分可以说是思维转换的过程(将人的思维转换成人的思维),在接下来的编程学习中,循环结构非常常用,一定要精通学习。

二、循环结构的三种结构
  • for循环:最有效、最灵活的循环结构,一般用于解决已知循环次数的问题。

    • for(表达式1;表达式2;表达式3){循环语句}
    • 三个表达式的作用:

      • 表达式1:给循环变量赋初值;

      • 表达式2:给出循环条件,结果为布尔值,为true执行,false退出;

      • 表达式3:给出循环变量的变化规律,通常为递增或递减。

    • 循环结构的执行顺序:表达式1-->表达式2-->循环语句-->表达式3。

    • 例:

    for(int i=0;i<5;i++) {
    	System.out.print("*");
    }
  • while循环

    • while(布尔表达式){循环语句}
    • 一般用于解决未知次数的循环,当布尔表达式成真时执行循环语句。

    • 例:

    • public static void main(String[] args) {
          Scanner scanner=new Scanner(System.in);
          int n =scanner.nextInt();
          int sum = 1; //0乘以任何数字都是0
          int index=2;
          while( index <= n ) {
              sum*=index;//*=  sum=sum*n;
              index++;
          }
          System.out.println(sum);
      }
  • do-while循环

    • 和while循环类似,唯一不同点就是,do-while循环至少循环一次,先循环一次再验证。

    • 例:

    • public static void main(String[] args) {
          int n=1234;
          int temp=n;
          int index=0;
          do { //!结束条件=执行条件
              temp=temp/10;
              index++;
          }while(temp!=0);
          //index一共几位数
          System.out.print(index);
          int t=index;//t当前要求的位数
          for(int i=0;i 
三、双重循环(多重循环)
  • 本质上就是初始循环结构的嵌套使用,常用情景:二维数组遍历。

    • 例:

      for(int j=0;j<5;j++) {
          for(int i=0;i<5;i++) {
              System.out.print("*");
          }
          System.out.println();
      }
  • 转换字符:

    • break:执行break操作,跳出当前所在的循环,到外层继续执行;

    • continue:执行continue操作,跳出本次循环,到下一次继续执行,直到执行完毕,到外层继续执行;

    • return:执行return操作,直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。

    • 例:

    • public static void main(String[] args) {
          boolean flag=false;
          for (int i = 0; i < 5; i++) {
              //? 1
              for (int j = 0;j < 4;j++) {
                  System.out.print("*");
                  //? 2
                  if(i==2 && j == 1) {
                      flag=true;
                      break;
                  }
              }
              if(flag) {
                  break;
              }
              System.out.println();
              //? 3
          }
      }
四、数组
  • 一维数组:

    • 数组是相同类型数据的有序集合,数组中的数据称之为数组元素,每个元素可通过他们的下标来访问他们,下标从0开始。

    • 数组的声明:

    • dataType[ ] arrayRefVar = new dataType[ arraySize];
    • 获取数组的长度:arrays.length。

    • 数组的四个基本特点:

      • 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

      • 其元素必须是相同类型,不允许出现混合类型。

      • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。

      • 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

    • 数组三种初始化

      • 静态初始化:

      • int[] a = {1,2,3};
        Man[ ] mans = {new Man(1,1),new Man(2,2)};
      • 动态初始化:

      • int[] a = new int[2];
        a[0]=1;
        a[1]=2;
      • 数组的默认初始化:数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

    • 注:数组在声明之后,会将第一个数组元素存放在内存栈中(引用数组对象的变量),用于引用在堆里面的数组主体,且数组在内存中占据一段连续不变的空间,当数组下标超出声明时定义的length-1,就会报数组越界的错误(ArraylndexOutOfBoundsException:数组下标越界异常!)。

  • 多维数组:多维数组可以看作是数组的数组,拿二维数组来说,二维数组中的每一个元素就是一个以为数组。

    • 二维数组:

    • int a[][] = new int[2][5];
    • 例:

    • int n = 0;
      Scanner scanner=new Scanner(System.in);
      n=scanner.nextInt();
      int[][] arr=new int[n][];
      for(int i=0;i
五、函数/方法(过程)
  • 有返回值叫函数,方法(过程)没有返回值——基本上没多大关系,三个名称可以指向同一种东西。

  • 用于实现某个特定功能的、可被调用执行并能返回值的程序代码段。函数=函数声明+函数体;

    • 函数声明:定义函数名、形式参数及返回值;

    • public static int cal(int a,int b,int c,int d) {
          return a/b+c%d;
      }
    • 函数体:由执行操作的语句序列组成;

    • 函数调用必须指定函数名和实际参数,函数执行后返回结果值。

    • 注:Java语言没有全局函数,函数声明在类中,称之为成员函数,分静态方法和实例方法两种。

    • 例:

    • public static void f1(int a,int b) { //形参=实参
          System.out.println(4);
      }
      public static void main(String[] args) {
          f1(2,3);
      }
  • 函数中变量的作用范围(作用域)

    • 函数中声明的变量仅在当前函数中有用,且传入的参数也只在当前函数中有用。

  • Java中的方法重载:

    • 同一个类中,函数名相同,返回类型相同,但参数列表不同。

六、递归方法
  • 定义:递归是数学中一种重要的概念定义方式,即用一个概念本身直接或间接地定义自己。

  • 递归的两个基本要素:

    • 边界条件:至少有一个初始条件是非递归的;

    • 递推通式:由已知的函数值逐步递推计算出未知函数值。

  • 例:

  • public static void main(String[] args) {
        System.out.print("输入阶乘n的值:");
        int sum = factorial(new Scanner(System.in).nextInt());
        System.out.println(sum);      
    }
    public static int factorial(int num){
        if (num == 1){
            return 1;
        }else {
            return num * factorial(num - 1);
        }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007544.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号