欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java第二周总结

程序员文章站 2022-04-12 22:17:34
数组数组:可以存储同一种类型的元素的一种"容器".注:必选要保证该容器中存储的类型一致!一维数组格式:数据类型[] 数组名称;数据类型 数组名称[];初始化:动态初始化:开发者定义数组初始化的时候,指定数组的长度,系统默认给系统中的元素赋值.数据类型[] 数组名称 = new 数据类型[数组长度];数据类型 数组名称[] = new 数据类型[数组长度];静态初始化:直接指定数组的元素内容,系统指定的数组长度.数据类型[] 数组名称 = new 数据类型[] {元素1...

do-while循环语句

格式:
	
	初始化语句;
	do{
	
		循环体语句;
		步长语句
	
	}while(条件表达式) ;
	
do-while循环语句和for,while循环的最大的区别就是:
		循环体至少执行一次(条件不满足的情况)

for循环的嵌套

for循环语句作为循环体语句;

for(初始化语句;条件表达式;步长语句){
	
	//循环体语句
	for(初始化语句;条件表达式;步长语句){
		循环体语句;
	}
}

跳转控制语句

break;
continue;
return ;

break :表示结束,中断的意思

break:单独使用,没有意义(存在问题),只能switch语句或者循环语句中使用!

如果while(true)和switch一块使用的时候,

注意:break此时只能结束switch语句,while(true)的结束,可以使用System.exit(0) ;
		
break应用场景:只能switch语句或者循环语句中使用!
	情况1:中断结束单层循环
	情况2:中断结束多层循环(早期使用)
		
				
break 标签名称;  结束多层循环!

continue:继续 (结束当前循环,立即进入下一次循环)

单独使用:没有意义

continue 在 loop 外部(循环中使用)

return是结合方法去使用的,如果一个方法中有return,具体返回结果;

方法

方法:就是使用{}包起来的内容,给{}独立的代码块起一个名字,以便于复用

方法的格式
	
		情况1:有具体返回值类型的方法定义
		情况2:没有具体返回值类型的方法定义

有具体返回值类型的方法定义

定义格式:	
权限修饰符 静态修饰符  返回值类型  方法名(数据类型1 变量名1,数据类型2 变量名2,......){
		业务内容;
			
		return 结果;
	}

没有具体返回值类型的方法定义以及调用

定义格式:
修饰符(public static)  返回值类型 方法名(参数类型1 变量名1,参数类型2 变量名2....){
		要么输出结果要么相关其他业务功能 ,没有return关键字
	}
	
	Java中针对没有具体返回值类型的方法的定义,要遵循方法的格式,提供一个关键字void 来代替返回值类型

数组

数组:可以存储同一种类型的元素的一种"容器".
注:必选要保证该容器中存储的类型一致!

一维数组

格式:
数据类型[] 数组名称;
数据类型 数组名称[];

初始化:
	动态初始化:开发者定义数组初始化的时候,指定数组的长度,系统默认给系统中的元素赋值.
	数据类型[] 数组名称 = new 数据类型[数组长度];
	数据类型 数组名称[] = new 数据类型[数组长度];
	
	静态初始化:直接指定数组的元素内容,系统指定的数组长度.
	数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,...};
	数据类型 数组名称[] = new 数据类型[] {元素1,元素2,...};
简写:
	数据类型[] 数组名称 = {元素1,元素2,...};
	数据类型 数组名称[] = {元素1,元素2,...};

二维数组

二维数组:其实就是一个元素为一维数组的数组.
格式:
	数据类型[][] 数组名称;
	数据类型[] 数组名称[];
动态初始化:
格式1:
	数据类型[][] 数组名称 = new 数据类型[m][n];
格式2:
	数据类型[] 数组名称[] = new 数据类型[m][n];
格式3;
	数据类型[][] 数组名称 = new 数据类型[][]{{元素1,元素2,...},{元素1,元素2...}};
简写:
	数据类型[][] 数组名称 = ({元素1,元素2,...},{元素1,元素2,...});

面向对象

类和事物的关系:

事物:描述现实世界的真实存在泛指的东西!  
类:是描述一组事物的属性和行为的集合

面向对象的思想特点:

1)更符合生活中的思想行为习惯
2)让复杂的事情简单化
3)让我们成从执行者变成了一个指挥者!

面向对象设计原则:

不断创建对象,使用对象,指挥该对象做事情!

面向对象的三大特征:

封装,继承,多态

局部变量和成员变量的区别

1)在类中的位置不同
局部变量:在方法定义中或者是方法声明上的变量
成员变量:在类中,方法外定义的变量

2)在内存中的位置不同
局部变量:在栈内存中存储  跟方法有关
成员变量:在堆内存中存储	 跟类的对象有关

3)生命周期不同
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失!
成员变量:随着对象的创建而存在,随着对象的创建完毕并且使用完毕,等待垃圾回收器回收掉掉(GC)之后才消失!(不会立即被回收)
										
4)初始时机不同:
局部变量:在方法定义中或者方法声明上的变量,必须在使用之前进行数据初始化,否则"可能尚未初始化变量"
成员变量:跟对象有关系,在堆内存中,即使这个成员变量没有赋值,系统会根据变量的类型给这个变量进行默认初始化

形式参数是一个具体类的情况

形式参数如果是一个基本数据类型,形参的改变对实际参数没有影响. 需要什么类型的数据,传递具体的值即可!

形式参数如果是一个类(具体类),那么形式参数的改变直接影响实际参数!

形式参数如果传递的是一个数组类型,需要传递的该数组的对象

形式参数如果传递的是一个具体类(jdk提供的,我们自定义的),需要传递该类的具体对象

匿名对象

匿名对象:没有名字的对象

匿名对象的格式
		new 类名() ;  (前提条件:该类是一个具体类)

	特点:
	   1.仅仅使用一次,使用完毕,从内存中会立即被释放掉! (节省内存空间,android移动端使用居多!)
	   2.匿名对象也可以作为参数进行传递
	   
	  注意:
		在使用匿名对象的时候,建议不使用多次!

封装

封装:
	将类中成员变量私有化(private),对外提供公共的访问方法(权限足够大)
	私有化的成员变量:只能在本类中,外界不能访问的!

private关键字的特点:
	1)private可以修饰一个类中的成员变量,也可以成员方法
	2)被private修饰的成员变量或者是成员方法只能在本类中方法,外界不能访问的!(保证数据的安全性)

构造方法

构造方法:
	1)方法名和类名相同
	2)没有具体的返回值类型
	3)并且连void都没有
	
	权限修饰符 + 方法名就是类名(){
		
	}
	
	构造方法主要作用:就是给该对象中的数据进行初始化!

构造方法中的注意事项:
	1)在一个类中,我们不写无参构造方法,系统会默认的提供一个无参构造方法,
		
	2)如果我们提供一个有参构造方法,系统不会在提供无参了,如果使用无参构造方法创建对象,就会报错!
				(永远建议给出无参构造方法)!

一个标准类的写法:
		类
			1)属性私有化
			2)提供对外的公共的setXXX(形式参数)/getXXX()方法
			3)构造方法:
			  永远给出无参构造方法;
			  有参构造

成员方法

成员方法的分类:(非静态的成员方法)
	两种情况:
		要么有返回值类型
	
			1)有返回值类型,并且有参数
			2)有返回值类型,没有参数
	
		要么没有具体返回值:void代替
	
			1)没有返回值类型,带参
			2)没有返回值类,不带参

static关键字

静态static的特点:
	1)被static修饰的变量/方法 都随着类的加载而加载
	
	2)被static修饰的 优先于对象存在
			
	3)被static修饰的可以被多个对象共用 
		有共享,共用
	
	4)被静态修饰的成员变量或者成员方法 ,
		可以被类名直接访问(推荐访问方式)
			类名.成员变量;
			类名.成员方法();
注:
	1)在static中,是没有this关键字的!	
	
	2)关于成员方法的访问问题:
			非静态的成员方法
				既可以访问静态的成员变量,也可以访问非静态的成员变量
				既可以访问静态的成员方法,也可以访问非静态的成员方法;
			
			静态的成员方法
				静态只能访问静态	

本文地址:https://blog.csdn.net/qq_37265779/article/details/107522835

相关标签: 周记 java