java四月份总结
JAVA学习知识点小结
命名规则:
- 类名:首字母大写,驼峰命名规则
- 方法名,局部变量:首字母小写,驼峰命名规则;
java是值传递: Java中只有值传递,没有引用传递。值传递和引用传递的根本区别是有没有变量的拷贝,或者说有没有变量的副本。
- 什么是值传递?
我自己还不是很彻底了解,等后续过来补
- 什么是引用传递?
未完待续~~~~~~
参考知乎:
[值传递和引用传递详细解释](https://zhuanlan.zhihu.com/p/349689029
方法的定义:
修饰符 返回值类型 方法名(形参列表)
{
方法体
return 返回值(可以终止方法);
}
- 
修饰符(可有可无) :public(公开的) static(静态的) 
- 
返回值类型 :void(空)  数据类型(Int, double,string) 
- 
方法名:首字母小写,遵循驼峰命名规则 
- 
形参列表(可有可无):传参传的是值,起决定性作用的是参数类型,不是变量名 
- 
方法调用时压栈,方法结束弹栈; 
- 
栈顶元素最活跃 
- 
方法重载:
意义:功能相似,尽可能让方法名相同,只要记住一个方法名
- 方法名必须相同
- 参数列表必须不同(起决定性作用的是参数类型),可以是形参个数不同,形参顺序不同,类型不同等
- 返回值类型可以不同,也可以不同
- 仅仅返回值类型不同,不能当作判断方法重载的判断
可变参数
递归:
就把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运行是一层一层的压栈,直到栈满为止)
作业:
数组
- 
声明数组  数据类型[] 变量;int[] a;  数据类型 变量[]; int a[]; 
- 
创建数组 数据类型 变量名 = new 数据类型[长度];  int [] a = new int[10]; int 默认初始化为 0 ; string 默认初始化为 null; 自己画图 栈,堆内存的分配 
数组的使用:
反转数组
冒泡排序:
- 
重点掌握 数组最右边的那个数时结束:数组长度减一 减去第一层循环的数; 
- 
定义一个变量来接收 存储转换数组时 
- 
for(声明语句 (数据类型 变量名): 数组){  数组声明中使用的语句; } -  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);
                }
    }
}
稀疏数组
- 把复杂的问题简单化,相同的值一样,不同的值用数组存放起来
面向对象和面相过程
java中所有的class都是引用数据类型
java虚拟机中堆,栈,方法区内存
垃圾回收器主要针对堆内存,栈内存变化最频繁,最先有数据的是方法区内存
空指针异常:
实例变量
访问实例变量要先创建对象
通过对象去访问:
引用.变量名;
封装: 所有属性私有化,private进行修饰,修饰的所有数据只能在本类中访问
封装的步骤:
private 加在属性前面
对外提供接口:
get (读取)
set(修改)
私有的属性不能在外部直接访问,这就是封装l
操作入口变成了只能通过set和get方法进行访问
在set方法和get方法执行过程中可以进行安全过滤
构造方法:
- 修饰符列表 方法名(形参列表)
{
方法体;
}
- 
系统默认提供无参构造方法 
- 
自定义有参构造方法,需手动创造无参构造方法 
- 
构造方法没有返回值,构造方法名和类名一致。 
- 
作用:通过构造方法的调用可以创建对象 
- 
调用: new 构造方法名(实参列表); 
- 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号