java四月份总结

JAVA学习知识点小结

命名规则:

  • 类名:首字母大写,驼峰命名规则
  • 方法名,局部变量:首字母小写,驼峰命名规则;
java是值传递: Java中只有值传递,没有引用传递。值传递和引用传递的根本区别是有没有变量的拷贝,或者说有没有变量的副本
  1. 什么是值传递?
我自己还不是很彻底了解,等后续过来补
  1. 什么是引用传递?
未完待续~~~~~~

参考知乎:

[值传递和引用传递详细解释](https://zhuanlan.zhihu.com/p/349689029

方法的定义:


修饰符 返回值类型 方法名(形参列表)
{
方法体
return 返回值(可以终止方法);
}
  • 修饰符(可有可无) :public(公开的) static(静态的)

  • 返回值类型 :void(空)

    ​ 数据类型(Int, double,string)

  • 方法名:首字母小写,遵循驼峰命名规则

  • 形参列表(可有可无):传参传的是值,起决定性作用的是参数类型,不是变量名

  • 方法调用时压栈,方法结束弹栈;

  • 栈顶元素最活跃

  • 1650700015926

方法重载:

意义:功能相似,尽可能让方法名相同,只要记住一个方法名
  1. 方法名必须相同
  2. 参数列表必须不同(起决定性作用的是参数类型),可以是形参个数不同,形参顺序不同,类型不同等
  3. 返回值类型可以不同,也可以不同
  4. 仅仅返回值类型不同,不能当作判断方法重载的判断

可变参数

1648816820091

递归:

就把return a * diGui(a-1)这一行代码改了就变成了递归,自己调用自己,把后面的当作一个整体。

发现这个挺好玩的。

package demo;

public class Demo7 {
     public static void main(String args[])
     {
    	 int sum = diGui(5);
    	 System.out.println("递归的值:sum = "+ sum);
     }
     public static int diGui(int a) {
    	
    	 if(a==1) {
    		 return  1;
    	 }else {
    		 return a*diGui(a-1);
    	 }
     }
}
边界条件;
前阶段:
返回阶段:
栈(Java运行是一层一层的压栈,直到栈满为止)

作业:

1648868647351

数组

  • 声明数组

    ​ 数据类型[] 变量;int[] a;

    ​ 数据类型 变量[]; int a[];

  • 创建数组

    数据类型 变量名 = new 数据类型[长度];

    ​ int [] a = new int[10];

    int 默认初始化为 0 ;

    string 默认初始化为 null;

    自己画图 栈,堆内存的分配

    1648870753080

数组的使用:

反转数组

1650681767784

冒泡排序:

  1. 重点掌握 数组最右边的那个数时结束:数组长度减一 减去第一层循环的数;

  2. 定义一个变量来接收 存储转换数组时

  3. for(声明语句 (数据类型 变量名): 数组){

    ​ 数组声明中使用的语句;

    }

    1. ​ for(int n : a)
package com.java.arrarydemo;

public class ArrayDemo1 {
    public static void main(String args[]){
     paiXu();//从小往大排序

    }
    public static void paiXu(){
        int a[] = { 1,3,9,4,5,1,25,7};
                for(int i = 0;i<a.length;i++){
                    for(int j = 0;j<a.length-1-i;j++){
                        if(a[j]>a[j+1]){
                            int x = a[j];
                            a[j] = a[j+1];
                            a[j+1] = x;
                        }
                    }
                }
                for(int n : a){
                    System.out.println(n);
                }
    }
}

稀疏数组

  1. 把复杂的问题简单化,相同的值一样,不同的值用数组存放起来

1650694903922

面向对象和面相过程

1650717985579

1650719769086

java中所有的class都是引用数据类型

1650721468263

1650721933851

1650721421102

1650722139305

java虚拟机中堆,栈,方法区内存

垃圾回收器主要针对堆内存,栈内存变化最频繁,最先有数据的是方法区内存

1650774916562

空指针异常:

1650775258408

实例变量

访问实例变量要先创建对象

通过对象去访问:

引用.变量名;

封装: 所有属性私有化,private进行修饰,修饰的所有数据只能在本类中访问

1650784935027

封装的步骤:

private 加在属性前面

对外提供接口:

get (读取)

set(修改)

1650785734923

私有的属性不能在外部直接访问,这就是封装l
操作入口变成了只能通过set和get方法进行访问
在set方法和get方法执行过程中可以进行安全过滤

构造方法:
  • 修饰符列表 方法名(形参列表)

{

方法体;

}

  • 系统默认提供无参构造方法

  • 自定义有参构造方法,需手动创造无参构造方法

  • 构造方法没有返回值,构造方法名和类名一致。

  • 作用:通过构造方法的调用可以创建对象

  • 调用: new 构造方法名(实参列表);

  • 1650796612420

posted @ 2022-04-24 18:49  GoblinQ  阅读(31)  评论(0编辑  收藏  举报
复制代码