java今日学习小结

学习小结

1.局部变量和成员变量的区别?
	1)在类中的位置不同
	局部变量:在方法定义中或者是方法声明上的变量
	成员变量:在类中,方法外定义的变量
	2)在内存中的位置不同
	局部变量:在栈内存中存储  跟方法有关
	成员变量:在堆内存中存储	 跟类的对象有关
	3)生命周期不同
	局部变量:随着方法的调用而存在,随着方法的调用完毕而消失!
	成员变量:随着对象的创建而存在,随着对象的创建完毕并且使用完毕,等待垃圾回收器回收掉掉(GC)之后才消失!(不会立即被回收)							
	4)初始时机不同:
	局部变量:在方法定义中或者方法声明上的变量,必须在使用之前进行数据初始化,否则"可能尚未初始化变量"
	成员变量:跟对象有关系,在堆内存中,即使这个成员变量没有赋值,系统会根据变量的类型给这个变量进行默认初始化
2.请描述形式参数分别为基本类型和引用类型的不同情况?
	1)形式参数如果是基本数据类型,形式参数改变对实际参数没有影响。(传递的值是具体的数值)
	2)形式参数如果是引用类型(数组,,接口),形式参数的改变对实际参数有很大影响。(传递的值是空间地址值)
	例题:
class ArgsDemo{
	public static void main(String[] args){
		
		//定义两个变量
		int a = 10 ;	//String s1 = "hello" ;
		int b = 20 ;	//String s2 = "world" ;
		System.out.println("a:"+a+",b:"+b) ; //a:10,b:20
		change(a,b) ;
		System.out.println("a:"+a+",b:"+b) ;//a:10,b:20 
		
		int[] arr = {1,2,3,4,5} ; //new int[]{1,2,3,4,5};
		change(arr) ;
		System.out.println(arr[1]) ;
	}
	
	//形式参数是两个数据类型数据
	public static void change(int a,int b){ //实际参数赋值给形式参数
		System.out.println("a:"+a+",b:"+b) ;//a:10,b:20
			a = b ;
			b = a +b ;
		System.out.println("a:"+a+",b:"+b) ;//a:20,b:40
	}
	
	public static void change(int[] arr){
		//遍历
		for(int x = 0 ; x  < arr.length ; x ++){
			if(arr[x]%2 ==0){
				arr[x] *= 2 ;
			}
		}
	}
}
3.类和事物
	事物:描述现实世界的真实存在泛指的东西。
	类:是描述一组事物的属性和行为的集合,是Java语言的最基本的单元。
	学生事物 ----------------	
		属性:描述学生的特征(姓名,年龄,学号,性别)		
		行为:描述学生能干什么(主要学习)
	具体事物:张三或者李四 
	成员变量:位置:在类中,方法外	(name,age,studyId,sex)
	成员方法:study()
		public 返回值类型 方法名(参数){}  //注:没有static
4.面向对象
	面向对象思想的特点:
		1)更符合生活中的思想行为习惯
		2)让复杂的事情简单化
		3)让我们成从执行者变成了一个指挥者!
	面向对象的特征(三大特征):封装、继承、多态
	面向对象的最大特点:强调对象的创建,使用该对象调用自己的功能。
	面向对象设计原则:不断创建对象,使用对象,指挥该对象做事情。
5.如何访问成员变量和成员方法?请代码举例
	1)访问成员变量
	//对象名访问成员变量  对象名.成员变量 = "例:张三";
		student.name="张三";
		student.sex="男";
		student.age=22;
	2)访问成员方法
	/对象名访问成员方法  对象名.成员方法()
		student.playGame();
		student.study();
6.二维数组的遍历:
	外层循环:其实是一维数组的个数(arr.length)
	内层循环:其实每一个一维数组的长度(arr[x].length)

你可能感兴趣的:(java今日学习小结)