==符号
如果连接的是两个基本数据类型:比较的是两个数据值是否相等,如果连接的是两个引用数据类型,比较的是两个地址值是否相同
1关于基本数据类型和引用数据类型作为形式参数的问题研究
1.1基本数据类型作为形式参数传递有什么特点
//定义两个变量
class Test{
public static void main(String[]args){
int a=10;
int b=20;
change(a,b);
System.out.print(a);
System.out.print(b);
}
}
调用方法
change(int a,int b){
a=b;
b=a+b;
}
}
程序运行结果是 a=10 b=20
方法的调用特点:随着调用开始而开始,调用结束而结束,一旦结束,不能访问其中的变量(而且也访问不到,因为实际在内存中已经不存在了)
!!!:
基本类型作为形式参数传递,形式参数的改变不会影响实际参数,实际参数是什么,他的值还是原来的值,String(字符串类型)类型作为形式参数传递时,其效果和基本数据类型是一样的,字符串类型比较特殊(是常用类中最重要的一个类)
!!!:
引用类型(数组,类,接口,除过String类型)作为形式参数传递(传递的是一个地址值),形式参数的改变会直接改变实际参数,因为它不会在调用完成后不会立即消失(堆内存中有地址),要等待垃圾回收器回收.(根据地址值访问)
java中:jvm------假象计算机----开启垃圾回收线程
冒泡排序的思想
两两比较,将较大的值往后放,第一次比较完毕,最大值出现在最大索引处,依次比较
for(int i=0;i<arr.length-1-i;i++){ //控制冒泡的次数
for(int j=0;j<arr.length-1-i;j++){ //控制每次冒泡的动作
if (arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
规律:
1)两两比较,将大的值往后放
2)每次比较的次数:
arr.length-1-i (i是之前循环的次数) //arr.length-1 是最终比较的次数 //arr.length-1-i 是每次减少比较次数
面向对象本质就是基于面向过程
面向过程:代表语言就是c语言
面向对象:代表语言就是java
面向对象的思想特点:
1)更符合生活中的思想行为习惯
2)将复杂的事情简单化
3)让我们从执行者变成指挥者(角色发生变化)
java语言的面向对象特征:
封装 ,继承,多态
java面向对象语言设计思想:
可以不断地创建对象,使用对象,然后指挥对象做事情
需求:将大象装进冰箱!
面向对象:Java中-----最基本的单元是类
分析:UML名词提前法
大象------大象类
冰箱------冰箱类
测试类----Demo
1)分析有哪些类
2)类中有什么方法
类–与对象的关系
类---java中的最基本单元
描述现实世界事物的属性和行为的集合
描述现实世界真实存在的事物
将真实存在的事物----变成java代码
类(学生):
将事物的属性------成员变量(类中,方法外)
将事物的行为 -----成员方法(和我们之前学习的方法是一样的,唯一不同的是去掉static)
类和对象的关系
对象:应该是指定的某个类中具体的事物
对象:描述具体事物
创建对象的格式:
类名 对象名 =new 类名();
访问成员变量格式(打点儿访问):
对象名.成员变量名= 赋值
访问成员方法格式(同上):
对象名.成员方法名();
成员变量随着类而进入堆内存中
成员变量和对象的创建有关系
成员变量的生命周期:随着对象的创建而存在.
局部变量随着方法的调用结束而消失,所以调用结束后,不可访问