java从0开始 5


目录:
1  定义一个1-5数组,将其数值随机打乱并输出
2  Java内存分配
3  方法重载
4  重载错误示例
5  重载正确示例
6  设计一个方法用于数组遍历
7  设计一个方法求数组的最大值,并将最大值返回
8  定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处(break写法)
9  定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处(return写法)



1  定义一个1-5数组,将其数值随机打乱并输出

package com.itheima.demo1.arraytest;

import java.util.Random;

public class test12 {
    public static void main(String[] args) {
        //定义一个1-5数组
        int[] arr = {1,2,3,4,5};int temp=0;
        //生成0-5的随机数  包头不包尾
        Random r = new Random();
        for (int i = 0; i < arr.length ; i++) {
            int randomIndex = r.nextInt(5);
            //按照新生成的索引序列来交换数组的值
            temp = arr[i];
            arr[i]=arr[randomIndex];
            arr[randomIndex]=temp;
        }
        //输入打乱后的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}



2  Java内存分配

  • 栈 : 方法运行时使用的内存,比如main方法运行,进入方法栈中执行
  • 堆 : 存储对象或者数组,new来创建的,都存在堆内存
  • 方法区 : 存储可以运行的class文件
  • 本地方法栈 : JVM在使用操作系统功能的时候使用,和我们开发无关
  • 寄存器 : 给cpu使用,和我们开发无关


函数值返回的三种方法

package com.itheima.demo1.fangfa;

public class test3 {
    public static void main(String[] args) {
                        //    1  直接调用   method(10,30,40);
        int sum1 = method(10,30,40);
        int sum2 = method(10,30,40);
        int sum3 = method(10,30,40); //四个季度  一个季度三个月 求全年总和
        int sum4 = method(10,30,40);
        int sum = sum1+sum2+sum3+sum4;     2  赋值调用
        System.out.println(sum);
             3  输出调用     System.out.println(method(10,30,40,50));
    }
    public static int method(int c,int x,int q){
        //求每个季度的营业额
        int sum= c+x+q;
        return sum;
    }
}

利用函数比较多个长方形的面积

package com.itheima.demo1.fangfa;

public class test4 {
    public static void main(String[] args) {
        double s1 = method(10, 20);
        double s2 = method(10, 20);
        if (s1 > s2)
            System.out.println("s1大");
        else if (s1 == s2)
            System.out.println("s1 s2 相等");
        else
            System.out.println("s2大");
    }
    public static double method(double chang, double kuan) {
        double s = chang * kuan;
        return s;
    }
}



方法没有返回值(void):return表示结束方法 他后面的代码都是无效的
方法 有 返回值: return表示结束方法和返回结果

方法可以嵌套调用,但是不能嵌套定义



参数重载判断:
方法的重载: 同一个类中,方法名相同,参数不同的方法。与返回值无关
如何判断是否构成重载关系

  • 1.必须在同一个类里
  • 2.方法名必须相同
  • 3.参数 个数 不同 或 参数顺序不同 参数类型不同
package com.itheima.demo1.fangfa;

public class test5 {
    public static void main(String[] args) {
    //方法的重载:  同一个类中,方法名相同,参数不同的方法。与返回值无关
    //参数不同分为:个数不同,类型不同,顺序不同
    //如何判断是否构成重载关系: 1.在同一个类里2.方法名相同3.参数个数不同4.参数类型不同5.参数顺序不同
    }
        public static int sum(int a,int b){
            return a + b;
        }
        public static int sum(int a,int b,int c){
            return a+b+c;
        }
    }




4  重载错误示例

package com.itheima.demo1.fangfa;

public class test6 {
    public static void main(String[] args) {
        //使用方法重载,比较两个整数是否相同
        //兼容全整数类型(byte,short,int,long)
        //单双比等  逻条赋逗
        boolean result = compare(10,20);
        boolean result1 = compare(10,20);
        boolean resul2t = compare(10,20);
        boolean result3 = compare(10,20);

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    }//错误写法  重载与返回值无关与参数有关 把void改成啥都不算重载
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// public static int compare(int x,int y){ 
// boolean result = x==y?true:false;//关系
//    }
//    public static byte compare(int x,int y){
//        boolean result = x==y?true:false;
//    }
//    public static short compare(int x,int y){
//        boolean result = x==y?true:false;
//    }
//    public static long compare(int x,int y){
//        boolean result = x==y?true:false;
//    }
}
--------------------------------------------------------------------


5  重载正确示例

package com.itheima.demo1.fangfa;

public class test6 {
    public static void main(String[] args) {
        //使用方法重载,比较两个整数是否相同
        //兼容全整数类型(byte,short,int,long)
        //单双比等  逻条赋逗
        compare((byte)10, (byte)20);  //整数默认调用int型   可以通过强制转换调用
        //还可以定义两个变量     //别的同理
        // byte b1 = 10;
        // byte b2 = 20;
        // compare(b1,b2);
        short s1 = 10;short s2 = 10; compare(s1,s2);
        compare((long)10, (long)20);
        compare(10, 20);
    }

    public static void compare(byte x, byte y) {
        System.out.println(x == y);
    }

    public static void compare(int x, int y) {
        System.out.println(x == y);
    }

    public static void compare(long x, long y) {
        System.out.println(x == y);
    }

    public static void compare(short x, short y) {
        System.out.println(x == y);
    }

}



6 设计一个方法用于数组遍历
注意:int[ ] 和 int 不是一个东西 不相等 接收整型数组用 int [ ]

package com.itheima.demo1.fangfa;
public class test7 {
    public static void main(String[] args){
        int[] arr={1,2,3,4,5};
        method(arr);
    }
    public static void method(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1)
            System.out.print(arr[i] + "]");
            else
                System.out.print(arr[i]+ ",");
        }
    }
}
}


7 设计一个方法求数组的最大值,并将最大值返

package com.itheima.demo1.fangfa;

public class test8 {
    public static void main(String[] args) {
        //设计一个方法求数组的最大值,并将最大值返回
        int[] arr = {1, 2, 3, 4, 5};
        int zui = Max(arr);
        System.out.println(zui);
    }

    public static int Max(int[] arr) {
        int max = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        return (max);
    }
}


8 定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处(break写法)

package com.itheima.demo1.fangfa;
import java.util.Scanner;
public class test9 {
    public static void main(String[] args) {
        //定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处
        int[] arr = {1, 3, 4, 5, 6};
        int result = method(arr);
        if (result == 0)
            System.out.println("不存在");
        else
            System.out.println("存在");
    }
    public static int method(int[] arr) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int x = sc.nextInt();
        int i;
        int s;
        for (i = 0; i < arr.length; i++) {
            if (x == arr[i]) {
                break;
            }
        }
        if (i == arr.length)
            s = 0;
        else
            s = 1;
        return s;
    }
}


9 定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处(return写法)

package com.itheima.demo1.fangfa;

public class test10 {
    public static void main(String[] args){
        int[] arr = {1,2,4,5,6};
        boolean falg = method(arr,1);
        System.out.println(falg);
    }
    public static boolean method(int[] arr,int number){
        for (int i = 0; i < arr.length; i++) {
            if(number == arr[i])
                return true;
        }
        return false;
    }
}
//return和break的区别:return和循环没关系  程序遇到return就会结束   循环也会停止
//break不一样,只是跳出循环,程序仍然进行

总结:
return和break的区别:
              1 return和循环没关系 程序遇到return就会结束 循环也会停止
              2 break不一样,只是跳出循环,程序仍然进行






返回目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值