java基础知识三

本文详细介绍了Java中的方法概念,包括有返回值类型和无返回值类型的方法定义与调用。强调了方法的复用性和参数传递的原理。此外,还讲解了数组的定义、初始化及元素访问,包括一维和二维数组的创建与操作。最后,阐述了方法重载的概念,即方法名相同但参数列表不同的情况。内容深入浅出,适合初学者掌握Java基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法

什么是方法:将一个独立的代码块{}抽取出来并为当前这个起名字!(作用:提高代码的复用性)
		
	方法的概念:
		使用{}将代码包裹起来,并给这个代码起一个名字:方法名
		---->以后直接使用方法名调用.  {}代码块
		
	方法的两种定义:
		有返回值类型的方法的定义
		没有返回值类型的方法定义
		
		
	第一种:有返回值类型的方法的定义
		固定格式:
		public static 返回值类型 方法名(形式参数类型1 参数名称1,形式参数类型2 参数名称2...){
				
				业务需求...
				return 结果;
		}
		
		格式的详细介绍:
		 权限修饰符:public(公共的,访问权限足够大) static(静态)
		 返回值类型:数据类型(目前基本数据类型:四类八种: )
				举例:求两个数据之后  结果:int类型
		方法名:遵循标识符的规则(见名知意)
				单个单词:全部小写
				多个单独:第一个单词小写,从第二个单词开始,每个单词首字母大写,其余小写
				    小驼峰命名法!
		形式参数类型:数据类型(目前基本数据类型:四类八种: )
		参数名称:变量名称
		
		return: 这个方法调用完毕了,带回具体的结果!
		
		有返回值类型的方法调用:
		1)单独调用(没有意义)
		2)输出调用:不推荐
		3)赋值调用:推荐
		
		
	第二种:没有返回值类型的方法的定义
        固定格式:
            public static void 方法名(形式参数类型1 变量名1,形式参数类型2 变量名2...){
                直接输出语句或者其他业务操作;
            }

            没有具体返回值类型的方法调用
                单独调用
                赋值调用
                输出调用		
                
			注意:Java中不存在void类型(替代词)


	定义有具体返回值类型的方法的定义的注意事项!
	
		1)方法和方法平级关系,不能嵌套使用!
						特殊:方法递归(IO流后面讲):方法调用方法本身的一种现象!
		2)定义方法注意两个明确
			明确返回值类型
			明确参数类型以及参数个数
		3)定义方法的时候:
				参数类型必须携带的!
			public static int add(x,y){}  错误的:
			因为Java是一种强类型语言:语法非常严谨的,以及格式是有要求的!
					
		4)定义方法的时候,()后面不要出现; (目前来说没意义的方法!) 
		5)调用方法的时候,实际参数不需要携带数据类型
			

数组

数组:是可以存储元素的一种容器!(前提:元素的数据类型必须一致的!)(属于引用数据类型)
	
	定义数组:
			格式:
					数据类型[] 数组名称 ;
					数据类型 数组名称[] ;
					
	数组的初始化:
			1)动态初始化:指定了数组长度,系统默认给定数组的元素值!
			2)静态初始化:指定了具体的元素的内容,系统默认指定数组的长度!
			
        1)动态初始化:
            数据类型[]  数组名称 =  new 数据类型[数组长度] ;
            数据类型 数组名称[] = new 数据类型[数组长度] ;

                        
		2)静态初始化:
	
            格式:
                标准格式:
                    数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ;
                    数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3....} ;

                简化格式:
                        数据类型[] 数组名称  ={元素1,元素2,元素3....} ;
                        数据类型 数组名称[]  ={元素1,元素2,元素3....} ;:定义数组的时候:不能动,静集合(只能其中一种初始化方式!)
        
        数组中元素的的访问方式:
                    数组名称[角标]来访问
                        角标(下标/索引):都是从0开始记录元素的!
                        
        数组中获取元素值:
			数组名称[角标值/索引值] ----->数组结构: 查询快!         
            
            
            
            
            
           
           
二维数组(作为了解):
		它就是一个包含多个一维数组的数组!
			
		二维数数组的定义格式1:
		
            数据类型[] 数组名称[]  ;
            数据类型[][] 数组名称 ; (推荐)

            二维数组的初始化:
                动态初始化: 指定数组长度,系统给数组中元素分配默认值

            动态初始化格式1
                数据类型[][] 数组名称  = new 数据类型[m][n] ;

                m:表示当前二维数组中的一维数组的个数
                n:表示每一个一维数组的长度
			  
            
            
            
        二维数组格式2:

            数据类型[][] 数组名称 = new 数据类型[m][] ;
            数据类型[] 数组名称[] = new 数据类型[m][] ;:上面:当前二维arr中有2个一维数组,但是不知道2个一维数组的长度
                所以,需要动态给定一维数组的长度




        二维数组格式3:

            标准格式:
                数据类型[][]  数组名称  
                =
        	new 数据类型[][]{{元素1,元素2,...},{元素1,元素2...},{元素1,元素2...}};

            简化格式:
               数据类型[][] 数组名称 = {{元素1,元素2,...},{元素1,元素2...},{元素1,元素2...}}

  

方法重载

	方法重载overload:方法名相同,参数列表不同,与返回值无关!

					参数列表不同:
							参数类型(考虑顺序)
							参数个数

数据类型作为形式参数传递

基本类型作为形式参数进行传递的特点:形式参数的改变对实际参数没有影响
引用类型作为形式参数进行传递的特点:形式参数的改变会直接影响实际参数

基本类型作为参数传递--->传递的是一个值(具体的数据值)
引用类型作为参数传递--->传递的是一个值(空间地址值)

String类型是一种特殊的引用类型:它作为形式参数,形参的改变对实际参数没有影响-----跟基本类型作为形式参数是一样!

java中的内存分配

栈内存:存储一般都是局部变量(在方定义中/方法声明上)
堆内存:new出来的东西都在堆内存中
方法区:相关存储class,相关static区域,字符串常量池...
寄存器,本地方法区:和系统相关
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值