java中方法,数组,排序总结

来源:互联网 发布:海康ddns域名取消了 编辑:程序博客网 时间:2024/06/14 21:11
一:方法(函数)
1.静态方法的调用:属于类而非对象,类名.方法名(),如果在同一个类中,可直接方法名调用(默认为main方法所在的类)
2.静态方法不能调用非静态方法
3.java中函数返回值为void时,说明函数没有返回值,可用return 结束该函数(此时return可有可无)
4.方法的参数列表既可以是有参数的,也可以是没有参数的
5.如果方法有返回值, 方法中必须使用关键字return返回该值
二.方法参数的传递
1.传递的参数是基本数据类型(数值型和字符型,但布尔型(boolean)
不能作为参数类型),接收到的实际上是这个数据的值拷贝
可以理解为编译器会为形参和实参分别开辟内存来存储该类型的数据,为两个不同的内存空间;
2.如果传递的参数是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址
可以理解为将实参的地址传递给形参,但编译器未给形参开辟存储该类型数据的空间,形参和实参共同指向同一块内存空间;
二:数组
1.一个数组变量就是在内存空间划出一串连续的空间


2.int[ ] score1; 意为还未给数组分配内存空间;
3.注意:声明数组时不规定数组长度,否则编译出错
4.数组未初始化时int型默认为0,double默认为0.0,String默认为NULL;
4.二维数组的每行从下标0(左对齐)开始,但每行长度可以不同;


5.静态初始化是声明初始化,动态初始化是运行初始化
三.插入排序
1.n个数据共需要排序n-1趟,从第二个元素开始插入,将每次要插入的元素作为指示灯数据,
用一个变量J来记录指示灯数据的前一个数据,每趟排序为:指示灯数据依次与指示灯数据前面数据相比较,
如果指示灯数据较小,就将该数据后移一位,最大的比较次数是指示灯数据都比前面的数据小,后移次数最多,
此时指示灯数据是最小的(有序序列中),此趟排序结束, 如果不小于则为正序(排序正常),跳出本趟排序(break),
进行下一趟排序;
四.冒泡排序
n个数据需比较n-1趟,每趟排序将本趟排序的最大值放在最后,
第一趟比较n-1次,第二趟比较n-2次,...第n趟排序比较n-i次,i为第i趟排序;
优化;如果本趟排序没有进行数据交换,说明为正序,则不需进行排序,直接跳出整个排序过程
实现方法为,可在外层循环上结束条件加flag标识,内层循环每交换一次将flag标识更新;
五.快速排序
从待排序的数据序列中任取一个数据(如第一个数据)作为分界值,所有比它小的数据元素放到左边,
所有比它大的数据元素放到它的右边。
思想:将数据序列的第一个值作为分界值,设start为待排序数组的起始下标,设end为待排序数组的结束下标,
红军i指向第二个数据,寻找比分界值大的数,蓝军j指向最后一个数据,寻找比分界值小的数,红军依次与分界值比较,找比分界值大的数,
如果小于则前进一个继续比较,如果找到跳出寻找的循环,如果红军走到end处还没找到则结束寻找
蓝军同理,只是找比分界值小的数据而已,
红军蓝军寻找结束后,如果红军未超越蓝军进行数据交换,否则说明为正序,直接跳出最外层循环即可
最后将分界值与蓝军交换,此时分界值左边全为比分界值小的,右边全为比分界值大的,



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 360n5手机耗电快怎么办 怪兽充电宝丢了怎么办 有已处置的评价怎么办 淘宝降权了怎么办2018 使用虚假广告词被工商查到怎么办 为什么手机淘宝店关注不了怎么办 淘宝买东西付钱后卖家不发货怎么办 微信销售群没人买东西怎么办 淘宝想开2个店铺怎么办 拼多多没钱交保证金怎么办 差评一个月后怎么办 淘宝买家投诉成立后怎么办 天猫投诉成立了怎么办 新开实体店铺没生意怎么办 新开淘宝没流量怎么办 白色板鞋有青草弄的绿色怎么办 淘宝租衣服不退押金怎么办 c盘不可以扩展怎么办 实践教学管理平台忘记账号怎么办 淘宝申请售后店家不处理怎么办 全民k歌地区限制怎么办 网络电视hdp无法下载怎么办 淘宝店铺销量为零怎么办 快递号填错卖家拒绝退款申请怎么办 淘宝店代购 售假怎么办 淘宝申请售后卖家没钱怎么办 淘宝禁止评价一个月怎么办 被卖家电话骚扰怎么办 恶意骚扰扣12分怎么办 新店开张交保证金被骗了怎么办 支付宝蚂蚁花呗逾期怎么办 被注销的微信怎么办 花呗有些不能用怎么办 实体店生意不好做怎么办 电器实体店生意越来越差怎么办 开业第一天不吉利怎么办 美容店开业第一天没人怎么办 淘宝店铺没有人访问怎么办 淘宝店铺没有人问怎么办 淘宝申请退款后店铺关闭怎么办 宝贝详情怎么改不了怎么办