zoukankan      html  css  js  c++  java
  • 0423方法总结和数组初识

    方法总结和数组初识

    1. 方法总结

    1.1 方法的三要素
    返回值类型	
    	当前方法运行之后对外的数据产出,同时也是调用者所需的数据
    方法名
    	明确告知用户这里运行的方法是哪一个,执行的效果会怎么样。
    	小驼峰命名法,见名知意,动宾结构
    形式参数列表
    	巧妇难为无米之炊,方法运行所需的外来数据,方法运行的必要条件!!!
    
    1.1.1 方法名
    规矩
    	1. 只能用英文字母(A ~ Z a ~ z), 数字(0 ~ 9),还有下划线 _
    	2. 见名知意,动宾结构
    		好的代码从方法名开始
    	3. 小驼峰命名法
    		行为规范
    		setXXX
    		getXXX
    		remove
    		add
    		delete
    		update
    		attribute
    		
    【注意】
    	1.杜绝拼音出现,(备上有道词典)
    	2.行规:
    		大写开头:数据类型,类
    		小写开头:变量名,方法名
    		全大写:常量 _
    
    1.1.2 返回值类型~~需求分析
    返回值
    	1. 没有什么必要和不必要,需求分析过程!!!
    	2. 返回值的数据类型
    	3. 返回值的数据含义
    	4. 返回值每一次有且只能返回一个数据
    
    1.1.3 形式参数列表
    巧妇难为无米之炊!
    	需求分析过程!!!
    	
    	用户注册
    		用户名,手机号,密码....
    	
    
    	形式参数实际上是在对于方法分析过程中,了解方法运行需要必要参数,并且在参数使用必要性上做论证。
    
    1.2 方法的完成过程
    1. 需求分析
        方法名,形式参数列表,返回值类型
       
    2. 考虑方法的执行流程
        可以采用注释辅助完成方法的执行流程
       
    3. 实现代码
        按照注释完成代码
        【不要头铁】【不要自大】【认清自我】
        【知错就改】
       
    4. 验证
        代码运行验证,正确参数情况,运行结果怎么样
        错误参数是,代码反馈是什么
        代码的稳定性,健壮性,安全性
        【方法中需要使用参数合法性判断】用户输入数据
    

    2. 数组【重点】

    2.1 生活中的数组
    超市
    	商品货物的存放,是不是分门别类???
    	分门别类有什么好处??? 
    		便于管理,便于查找
    	理念 【归纳总结】
    
    图书馆:
    	1. 社科类,文学类,管理类,小说类,历史类,语言类
    	2. 相同的书籍会存放于一个书架上 【同一个位置】
    	3. 每一本书都要有一个唯一的编号 【同样的称呼】 W-101
    	4. 同一本有10本,都会有一个唯一的索引 
    		W-101-01 ~ W-101-10 【唯一索引】
    	
    通过图书馆我们可以概括
    	1. 存储位置一致,并且连续
    	2. 有统一的称呼,方便管理
    	3. 存在唯一索引,具有一定的唯一性
    
    2.2 开发中的实际情况
    开发中一定存在对于大量相同数据处理的过程!!!
    
    如果按照单一变量的定义方式,会导致
    	1. 代码冗余!!!
    	2. 代码维护性极差!!!
    	3. 代码可操作性极差!!!
    	4. 代码阅读性极差!!!
    
    	这里可以模仿生活中的案例,图书馆,超市,把这些同一个数据类型的数据,存放在一起,方便管理和使用
    	引入数组使用的场景和概念!!!
    
    2.3 Java中创建数组的方式
    案例
        int[] array = new int[10];
    /*
    赋值号左侧:
    	int:
    		告知编译器,这里创建定义的是一个int类型数组,有且只能保存int类型数据,保
    		证数据类型一致化
    	[]:
    		1. 告知编译器,当前定义的数据类型是一个数组类型
    		2. 数组名 array是一个【引用数据类型】
    	array:
    		1. 这里是一个数组名,操作数组的核心数据!!!就是一个变量名
    		2. 数组名 array是一个【引用数据类型】
    
    赋值号右侧:
    	new:
    		1.new关键字需要在计算机中申请【连续内存空间】,这块区域在内存的【堆区】
    		2.将所申请到的整个内存空间的数据全部清空
    		
    		【生活案例】这里就好比,顾客找仓库管理员申请货架,管理员一定是给你一个整个连续区域给你使用
    	int:
    		前后呼应,告知编译器这里能够存储的数据类型是int类型,其他类型都不可以,要求数据类型一致化
    	[10]:
    		告知编译器,当前数组的【容量 Capacity】是多少,这里是10,也就是说当前数
    		组中有且只能保存10个int类型数据
    */
    
    【补充知识点 引用数据类型 难点】
    	引用在生活中很常见,比如 文献中引用,文言文注解引用,广告角标上标引用,这些目的,引入其他的内容,其他的文献,其他的操作... 
    	引用存在的一定的【指向性!!!】
    	
    	取快递
    	快递小哥如何知道你的地址在哪里???
    	根据快递单上的地址,联系方式和姓名来找到你的位置。
    	快递单这里也存在一定的【指向性!!!】
    	
    	快递单中存有一个非常重要的数据【地址】!!!
    
    	开发中的【引用数据类型】,实际上是一个指向其他内存空间的一个数据类型。引用数据类型的变量中存储的内容是其他内存空间的【首地址】。
    	当CPU访问到【引用数据类型】变量时,会得到其存储的地址,然后直接跳转到对应的内存空间中,执行代码,获取数据,操作内容...
    
    2.4 定义数组和使用
    定义数组:
    	int[] array = new int[10];
    
    需要操作数组中哪一个元素,这里需要使用数组的【下标】
        计算机内数据的开头都是从0开始,数组容量为10的情况
       	有效下标的范围
        	0 ~ 9
        	0 ~ 数组容量 Capacity - 1
    
    操作格式:
    	数组名[有效下标] 
    
    /* 演示数组的定义和使用 */
    class Demo2 {
    	public static void main(String[] args) {
    		/* 这里定义一个int类型的数组,数组的容量为10 */
    		int[] array = new int[10];
    		
    		/*
    		给数组中下标为0的元素赋值
    		格式: 数组名[有效下标]
    		*/
    		array[0] = 10;
    		
    		/*
    		给数组中下标为5的元素赋值
    		*/
    		array[5] = 20;
    		
    		/*
    		给数组下标为10的元素赋值30
    		10 已经超出了有效下标范围 0 ~ 9
    		
    		array[10] = 30;
    		*/
    		/*
    		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
    			at Demo2.main(Demo2.java:22)	
    		ArrayIndexOutOfBoundsException	数组下标越界异常
    		*/
    		
    		/*
    		给数组中下标为-1的元素赋值为20
    		-1 已经超出了有效下标范围 0 ~ 9
    		*/
    		// array[-1] = 20;
    		/*
    		java.lang.ArrayIndexOutOfBoundsException: -1
    		*/
    		
    		/*
    		取出数组中下标为0和下标为5的元素内容
    		*/
    		System.out.println("array[0] : " + array[0]);
    		System.out.println("array[5] : " + array[5]);
    		// System.out.println("array[4] : " + array[4]);
    		
    	}
    }
    
    2.5 数组内存分析图【难点】

    2.6 数组和循环不得不说的秘密
    数组的下标是不是一个等差数列?
    	0 ~ 数组容量 - 1
    
    这里和循环存在一定的关系!!!
    数组关系极为密切是for循环!!!
    
    class Demo3 {
    	public static void main(String[] args) {
    		/* 定义一个int类型数组 容量为10 */
    		int[] arr = new int[10];
    		
    		/*
    		数组名.length 
    			获取当前数组的【容量 Capacity】,获取数组的【属性】
    		*/
    		for (int i = 0; i < arr.length; i++) {
    			// 给数组中每一个元素赋值操作 
    			arr[i] = i + 1;
    		}
    		
            // 利用循环展示数据
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println(arr[i]);
    		}
    	}
    }
    
  • 相关阅读:
    Python标准库之csv(1)
    python3:csv的读写
    Python os模块方法
    Python闭包
    Python修饰器
    Python生成器
    Python迭代器
    Python文件对象方法
    Justep X5 Studio,业界公认第一的快速开发平台
    马云:早九晚五的工作方式在2013-2015年就是慢性自杀
  • 原文地址:https://www.cnblogs.com/raising/p/12764422.html
Copyright © 2011-2022 走看看