一、数组

数组的复制
int[]a={10,20,30,40,50};
int[]b=new int[6];
//b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];
//for{int i=0;i<a.length;i++){b[i]=a[i]}
//法一:       //a:源数组;1:源数组的起始下标;//b:目标数组; 0:目标数组的起始下标;//4:要复制的元素个数**System.arraycopy(a,1,b,0,4);**
//法二:
package day007;
import java.util.Arrays;
//数组的演示
public class ArrDome {public static void main(String[] args) {//数组的复制**int[]a={10,20,30,40,50};int[]b=Arrays.copyOf(a, 6);//从a的头到b的头的整个复制**(若大于源数组长度则补默认值,若小于源数组长度则截取)//a:源数组//b:目标数组//6:目标数组的长度}
}

数组的长度一旦定好就没法改变了;(about扩容)

int[]a={10,20,30,40,50};//数组的扩容(创建了一个更大的新数组并且将数据复制进去了)a=Arrays.copyOf(a, a.length+1);for(int i=0;i<a.length;i++){System.out.println(a[i]);}
数组的排序

从小到大————升序
从大到小————降序

排序方法:冒泡排序、快速排序。插入排序…
冒泡排序——出现较早,6句话搞定------常常出现冒泡的面试题

  • Arrays.sort(arr);   //对arr进行升序排列、效率最高
    

二、方法

方法:函数、过程
1.封装一段特定的业务逻辑功能
2.方法尽可能独立,一个方法尽量做一件事
3.每个方法都可以被反复调用多次
4.减少代码的重复,有利于代码的维护、团队合作

三、方法的定义:五要素

修饰词、返回值类型、方法名(参数列表){
方法体——业务逻辑的实习
}

  •  修饰词:public static
    
  • 返回值类型:
    

方法可以有返回值,也可以没有返回值;
何时有返回值,何时没有返回值?
答: 方法执行结束后,还需要用到方法中的某个数据,则需要有返回值,若不需要用到,则不需要返回值。
无返回值——返回值类型写成void
有返回值——返回值类型写成特定数据类型即可

  • 参数列表:
    

方法可以无参数也可以有参数,有参数使得方法更加灵活。但注意()不可以省略

四、方法的调用

1.有参数无返回值——直接在main中写方法名(有参传参)

public static void main(String[] args) {sayHello();
}
//有参数无返回值public static void sayHello(String name,int age){System.out.println("hello!!!My name is "+name+"年龄是+"+age);}

2.无参数有返回值——先声明一个变量来接收

public static void main(String[] args) {double a=getNum();System.out.println(a);}//无参有返回值public static double getNum(){//若方法有返回值,必须存在return才行return 8.88;//结束方法的执行、返回一个结果给调用方//return"abc";//return后的值需与返回值类型相同//return;//return后必须要跟返回值}

3.有参数有返回值——先声明一个变量来接收

public static void main(String[] args) {       int b=plus(5,6);System.out.println(b);int c=5,d=6;int e=plus(c,d);//存的是c和d里面的数System.out.println(e);}//有参数有返回值public static int plus(int number1,int number2){int num=number1+number2;return num;//返回值为num所代表的数//return number1+number2;//返回值为number1+number2}

五、return

1.return 值;:结束方法的执行,返回结果给调用方
2.return; :用在无返回值的方法中
1.

public static double getNum(){//若方法有返回值,必须存在return才行return 8.88;//结束方法的执行、返回一个结果给调用方//return"abc";//return后的值需与返回值类型相同//return;//return后必须要跟返回值
}


上方图片中代码会因return出现这种结果

六、补充:

形参、实参:


方法的嵌套调用(方法中调用方法):

 public static void main(String[] args) {  a();System.out.println("444");}//方法的嵌套调用(方法中调用方法)public static void a(){System.out.println("111");b();System.out.println("333");}public static void b(){System.out.println("222");}

***练习 ***

int[]a={10,20,30,40,50};int[]b=new int[6];//0,0,0,0,0,0//a:源数组;1:源数组的起始下标;//b:目标数组; 0:目标数组的起始下标;//4:要复制的元素个数System.arraycopy(a,1,b,0,4);for(int i=0;i<b.length;i++){System.out.println(b[i]);}/*5 int[]a={10,20,30,40,50,60};int[]b=new int[7];System.arraycopy(a,1,b,0,5);for(int i=0;i<b.length;i++){System.out.println(b[i]);}*//*4 int[]c={1,2,3,4,5,6,7};int[]d=new int[8];System.arraycopy(c, 0, d, 2, 4);for(int i=0;i<d.length;i++){System.out.println(d[i]);}*//*3 int[]c={12,14,15,16,17};int[]d=new int[10];System.arraycopy(c, 0, d, 5, 3);for(int i=0;i<d.length;i++){System.out.println(d[i]);}*//*2 int[]s={1,2,3,4,5,6,7,8};int[]w=new int[15];System.arraycopy(s, 0, w, 11, 3);for(int i=0;i<w.length;i++){System.out.println(w[i]);}*//*1 int[]z={1,5,6,7,8,9,5,10};int[]x=new int[15];System.arraycopy(z, 1, x, 5, 7);for(int i=0;i<x.length;i++){System.out.println(x[i]);}*/
package day007;
import java.util.Arrays;
//数组的演示
public class ArrDome {public static void main(String[] args) {//数组的复制int[]a={10,20,30,40,50};int[]b=Arrays.copyOf(a, 6);//从a的头到b的头的整个复制//a:源数组//b:目标数组//6:目标数组的长度(若大于源数组长度则补默认值,若小于源数组长度则截取)for(int i=0;i<b.length;i++){System.out.println(b[i]);}/*5 int[]c={1,2,4,5,7};int[]d=Arrays.copyOf(c, 7);for(int i=0;i<d.length;i++){System.out.println(d[i]);}*//*4 int []c={1,5,7,8,9,7};int[]d=Arrays.copyOf(c, 7);for(int i=0;i<d.length;i++){System.out.println(d[i]);}*//*3 int[] c={4,5,7,8,9,10};int[]d=Arrays.copyOf(c, 10);for(int i=0;i<d.length;i++){System.out.println(d[i]);}*//*2 int[]q={1,2,3,4,5};int[]w=Arrays.copyOf(q, 8);for(int i=0;i<w.length;i++){System.out.println(w[i]);}*//*1 int[]w={1,2,3,5,7,8,6,8};int[]q=Arrays.copyOf(w, 7);for(int i=0;i<q.length;i++){System.out.println(q[i]);}*/
package day007;import java.util.Arrays;//求数组元素的最大值并将其放在数组最后一个元素的下一个位置
public class MaxofArray {public static void main(String[] args) {int[]arr=new int[10];for(int i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*100);//0~99之间的数赋值System.out.println(arr[i]);}int max=arr[0];//假设第一个元素最大for(int i=1;i<arr.length;i++){//遍历剩余元素if(max<arr[i]){//若剩余元素大于maxmax=arr[i];//修改max的值为较大的那个}}System.out.println("max="+max);arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}//5 import java.util.Arrays;arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}//4 import java.util.Arrays;arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}//3 import java.util.Arrays;arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}//2 import java.util.Arrays;arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}//1 import java.util.arrays;arr=Arrays.copyOf(arr, arr.length+1);arr[arr.length-1]=max;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}
//数组的排序int[]arr={21,35,16,54,78,49,65,57,15,38,18};Arrays.sort(arr);//升序排列for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}/*5 int[] as={1,5,7,4,8,9,4,5,3};Arrays.sort(as);for(int i=0;i<as.length;i++){System.out.println(as[i]);}*//*4 int[]ad={4,5,2,6,7,1,9};Arrays.sort(ad);for(int i=0;i<ad.length;i++){System.out.println(ad[i]);}*//*3 int[]da={5,4,54,6,88,5465,66};Arrays.sort(da);for(int i=0;i<da.length;i++){System.out.println(da[i]);}*//*2 int []ad={45,56,123,123,4856,879};Arrays.sort(ad);for(int i=ad.length-1;i>=0;i--){System.out.println(ad[i]);}*//*1 int[]arr={45,65,12,23,78,98,456};Arrays.sort(arr);for(int i=arr.length-1;i>=0;i--){System.out.println(arr[i]);}*/
 sayHello("zhangsan",25);sayHi("Tom");//String name="Tom"sayHi("Lily");//String name="Lily"//sayHi(250);//编译错误,参数类型不匹配//sayHi();//编译错误,有参数则必须传参say();//调用say方法System.out.println("over");say();sayhi();sayhello();}//有参数无返回值public static void sayHello(String name,int age){System.out.println("hello!!!My name is "+name+"年龄是+"+age);}//有参数无返回值public static void sayHi(String name){System.out.println("hello!!!My name is "+name);}//无参无返回值的方法(所有值都为定死的)public static void say(){System.out.println("hello!!!");}/*5 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("hi!my name is "+name);}public static void sayhello(String name,int age){System.out.println("hi!my name is "+name+" age is"+age);}*//*4 public static void sayhi(){System.out.println("hi");}public static void say(String name){System.out.println("hi my name is "+name);}public static void sayhello(String name,int age){System.out.println("hi! my name is "+name+" and age is"+age);}*//*3 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("hi my name is"+name);}public static void sayhello(String name,int age){System.out.println("hi!my name is "+name+" age is "+age);}*//*2 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("hi my name is "+name);}public static void syahello(String name,int age){System.out.println("hi name is "+name+"age is"+age);}*//*1 public static void sya(){System.out.println("hello");}public static void sayhi(String name){System.out.println("my name is "+name);}public static void sayhello(String name,int age){System.out.println("my age is "+age+" and name is "+name);}*/
public static void main(String[] args) {double a=getNum();int b=number();int c=get();double d=getnum();double e=get();System.out.println(a+b+c+d+e);}
/*5 public static double getnum(){return 8.88;}/*4 public static int number(){return 7;}/*3 public static int get(){return 4;}/*2 public static double getnum(){return 5.2;}/*1public static double get(){retun 11.2;}*/
 //有参数有返回值public static int plus(int number1,int number2){int num=number1+number2;return num;//返回值为num所代表的数//return number1+number2;//返回值为number1+number2}/*5 public static void main(String[] args) {int a=5,b=6;e=plus(a,b);System.out.println(e);}public static int plus(int num1,int num2){int num=num1+num2;return num;}*//*4 public static void main(String[] args) {int a=5,b=4;int c=plus(a,b);System.out.println(c);}public static int plus(int num1,int num2){int num=num1+num2;return num;}*//*3 public static void main(String[] args) {int a=6,b=9;int c=plus(a,b);System.out.println(c);}public static int plus(int num2,int num4){int num=num4+num2;return num;}*/ /*2 public static void main(String[] args) {int a=45,b=684;int c=plus_(a,b);System.out.println(c);}public static int plus_(int a,int b){int num=a+b;return num;}*//*1 public static void main(String[] args) {double a=456,s=4123;double d=plus(a,s);System.out.println(d);}public static double plus(double a,double s){double num=a+s;return num;}*/
package day007;public class Homework {public static void main(String[] args) {say();sayhi("lisi");sayhello("zhangsan",29);double d=getnum();int a=plus(55,78);System.out.println(d+"/"+a);}
//5public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("name is "+name);}public static void sayhello(String name,int age){System.out.println("name:"+name+";age:"+age);}public static double getnum(){return 6.66;}public static int plus(int num1,int num2){return num1+num2;}/*4 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("name:"+name);}public static void sayhello(String name,int age){System.out.println("name:"+name+";age:"+age);}public static double getnum(){return 7.77;}public static int plus(int num1,int num2){return num1+num2;}*//*3 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("name:"+name);}public static void sayhello(String name,int age){System.out.println("name:"+name+";age:"+age);}public static double getnum(){retrun 8.88;}public static int plus(int num1,int num2){return num1+num2;}*//*2 public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("name:"+name);}public static void sayhello(String name,int age){System.out.println("name"+name+";age:"+age);}public static double getnum(){return 9.99;}public static int plus(int num1,int num2){return num1+num2;}*//*1public static void say(){System.out.println("hi");}public static void sayhi(String name){System.out.println("name:"+name);}public static void sayhello(String name,int age){System.out.println("name:"+name+";age:"+age);}public static double getnum(){return 10.10;}public static int plus(int num1,int num2){return num1+num2;}*/
}
 public static void main(String[] args) {/*需求:封装一个方法generateArray,* 生成制定长度的int数组,//指定长度则需要参数* 数组的元素为0到指定范围的随机数,* 并将数组返回,//有返回值则需要确定数据类型*/int[]arr=generateArray(4,9);for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}}public static int[] generateArray(int length,int x){int[]arr=new int[length];for(int i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*(x+1));}return arr;}/*5 public static int[]generateArray(int l,int b){int[]arr=new int[l];for(int i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*(b+1));}return arr;}*//*4 public static int[]generateArray(int a,int b){int[]arr=new int[a];for(int i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*(b+1));}return arr;}*//*3public static int[]generateArray(int a,int s){int[]arr=new int[a];for(int  i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*(s+1));}return arr;}*//*2 public static int[]generateArray(int a,int b){int[]arr=new int[a];for(int i=0;i<arr.length;i++){arr[i]=(int)(Math.random()*(b+1));}return arr;}*//*1 public static int[]generateArray1(int a,int s){int[]arr=new int[a];for(int w=0;w<arr.length;w++){arr[w]=(int)(Math.random()*(s+1));}return (arr);}*/

Java学习_day007:数组与方法相关推荐

  1. java二维数组的创建,java二维数组创建方法

    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...

  2. Java学习之路3——方法定义、调用【重拾Java】

    Java学习之路3--方法定义.调用[重拾Java] 方法定义 为什么要写方法 方法完整的定义形式.调用 方法定义的格式 修饰符 返回值类型 返回值 调用格式 方法重载 方法定义 为什么要写方法 对于 ...

  3. Java 学习笔记 - 数组类型互转

    Java 学习笔记 - 数组类型互转 数组类型转换 字符串数组 to (Integer.Long.Double)列表 传统方式 Java8 Stream方式 数组 to 数组 字符串数组 to (in ...

  4. 好程序员Java学习路线分享finalize()方法详解

    好程序员Java学习路线分享finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法.. fi ...

  5. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  6. int arr 13 java,java学习13 - 数组的定义、操作、异常、二维数组

    续java学习12: 1.数组,引用类型变量,保存数据实际是保存的数组的首地址 2.定义数组容器三要素,数据类型,大小(长度),数组名 3.数组的定义公式一:数据类型[] 数组名 = new 数据类型 ...

  7. JAVA学习笔记--数组初始化

    JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...

  8. java字符串转数组的方法,写给正在求职的Java开发

    第一个 Java相关 1.1 美团面试Java问题 JVM内存模型 GC垃圾回收算法 讲解新生代 老年代 java的基本类型有哪几个?String是不是java的基本类型?String为什么要是fin ...

  9. google java c c++ python ruby_Ruby Python Java C C++ 数组使用方法对比

    Ruby可以用 length ,size 这些关键字获得数组的大小 这里Ruby ,python, JAVA 都使用了类的方法 有静态方法,也有动态方法 首先是Ruby#!/usr/bin/ruby ...

最新文章

  1. HDU1756(判断一个点是否在多边形内)
  2. 串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别 释疑
  3. flask渲染图像_用于图像推荐的Flask应用
  4. YUV / RGB 格式及快速转换
  5. jquery实现的滚动新闻(多个实例代码)
  6. uniaccess安全助手卸载_如何彻底卸载360
  7. 如何系统的自学python-如何系统地自学Python
  8. 量子计算机具有天然的处理能力,新发现:光纤可用于构建具有强大计算与处理能力的超导量子计算机...
  9. 希尔伯特空间等各空间介绍-数据升维以及核函数选择
  10. LabVIEW开放神经网络交互工具包【ONNX】,大幅降低人工智能开发门槛,实现飞速推理
  11. 微信公众号自动回复添加文件
  12. mediasoup安装使用
  13. AT32F435_437_USB_MSC_SDIO
  14. 计算机管理属性被禁用,win7命令提示符提示已被系统管理员停用?
  15. Heapsort 代码 学习笔记 阳春三月版
  16. Windows查看占用文件的进程
  17. 【XBOX360】Xbox360 RGH3.0 刷机教程
  18. 虚拟信用卡风控方案介绍
  19. 直线的参数方程ABC【基础中级高阶辅导】
  20. 第2章 有限域、向量空间、有限几何和图论 -1

热门文章

  1. python全栈 互联网协议
  2. winfrom gridview 导出到Excel文件的代码
  3. B-tree/B+tree/B*tree
  4. css3制作左右拉伸动画菜单
  5. Jenkins常见问题解决(持续更新)
  6. Button中command后面函数添加参数解决方法
  7. fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题
  8. 解决微信小程序textarea层级太高遮挡其他组件的问题
  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(13)-系统日志和异常的处理③
  10. mysql编写中文时变成问号解决方法