目录:

1、random
2、数组
3、方法
4、eclipse的断点调试
5、基础语法的练习

一、random

作用:
用于产生一个随机数

使用步骤:
类似于(Scanner类似)
1、导包
    import java.util.Random;
2、创建对象
    Random r = new Random();
3、获取随机数
    int number = r.nextInt(10);
    产生0到9的随机数,包括0,不包括10
    括号内是100,则是0到100的随机数

fe1:获取0到9的随机数

package com.liu;
import java.util.Random;

public class randomDemo {
    public static void main(String[] args) {
        // 创建对象
        Random r = new Random();

        // 获取随机数
        int number = r.nextInt(10);
        System.out.println("number:" + number);     
    }
}

二、数组

什么是数组:
存储同一种数据类型的多个元素的容器

定义格式:
A:数据类型[] 数组名;(推荐方式)
B:数据类型 数组名[]; 

fe:
int[] arr;  定义了一个int类型的数组,数组名是arr
int arr[];  定义了一个int类型的变量,变量名是arr数组

数组初始化:
    为数组开辟内存空间,并未数组中的每个元素赋予初始值,
    1.动态初始化---只给出长度,由系统给出初始化值
    2.静态初始化---给出初始化值,由系统决定长度

fe:数组的解释

// 数据类型 [] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];

/* 左边:
    int:说明数组中的元数类型是int类型
    []:说明这是一个数组
    arr:这个是数组的名称

    右边:
    new:为数组申请内存分配,开辟空间
    int:说明数组中的元素类型是int类型
    []:说明这是一个数组
    3:数组的长度,其实就是数组中的元素个数
*/

2、获取数组内的元素
    数组名[索引]
    system.out.println(arr[0]);

3、数组赋值
    arr[0] = 110;

三、方法

定义:
    其实就是完成特定功能的代码块

定义格式:
    修饰符 返回值类型 方法名(参数类型1 参数名1,...)
    {
    方法体;
    return 返回值;
    }

格式解释:
A、修饰符  目前记住public、static就行
B、返回值类型  用于限定返回值的数据类型
C、方法名   方便我们调用方法的名字
D、参数类型   限定传入方法的数据的类型
E、参数名   形参
F、方法体   完成功能的代码
G、return   结束方法,并且把返回值带给调用者

两个明确:
A、返回值类型  明确功能结果的数据类型
B、参数列表   明确有几个参数,以及参数的数据类型

fe1:两个数求和的方法

public static int sum_two(int a, int b)
{
    return a + b;
}

fe2、求两个数的最大值

public class MethodTest {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入第一个数");
    int a = sc.nextInt();

    System.out.println("请输入第二个数");
    int b = sc.nextInt();

    int max = getMax(a, b);

    // 输出结果
    System.out.println("结果Max为:" + max);
}

    public static int getMax(int a, int b) {
        if (a > b) {
            return a;
        }else {
            return b;
        }
    }

}

fe、

四、eclipse的断点调试

作用:
1、查看程序的执行流程
2、调试程序

1、断点调试方法

需要在mian方法和执行的方法中加断点

2、参数是基本数据类型,形参改变不影响实参

因为作用域的不同,形参的影响范围只在自己的大括号内。

3、引用数据类型参数(形参)

形式参数的改变直接影响实参

五、基础语法的练习

1、根据月份输出季节

public class Test {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    // 接收数据
    System.out.println("请输入月份(1-12)");
    int month = sc.nextInt();

    if (month == 1 || month == 2 || month == 12) {
        System.out.println("冬季");
    }else if(month == 3 || month == 4 || month == 5) {
        System.out.println("春季");
    }
    else if(month == 6 || month == 7 || month == 8) {
        System.out.println("夏季");
        }
    else if(month == 9 || month == 10 || month == 11) {
        System.out.println("秋季");
    }else {
        System.out.println("您的输入有误:");
    }

}
}

2、回文数

public class Test2 {
public static void main(String[] args) {

    int a = 54321;
    for(int x = 10000; x < 100000; x++) {
        int ge = x % 10;
        int shi = x / 10 % 10;
        int qian = x / 10 / 10/10 % 10;
        int wan = x /10 / 10 / 10 /10 %10;
        if (ge == wan && shi == qian) {
            System.out.println("回文数为:" + x);
        }
    }

}
}

3、不死兔

public class Test4 {
public static void main(String[] args) {

    int[] arr = new int[20];

    arr[0] = 1;
    arr[1] = 1;

    for (int x = 2; x < arr.length; x++) {
        arr[x] = arr[x-1] + arr[x-2];
    }
    System.out.println("第二十个月的兔子数Wie:" + arr[19]);
}
}

4、求数组中个位&十位不为7&偶数的和

package com.itliu;

public class Test5 {
public static void main(String[] args) {
    int[] arr = {174, 72, 19,16,51,210,7,18,118};

    int sum = 0;
    for (int x = 0; x < arr.length; x++) {
        if(arr[x] % 10 != 7 && arr[x] /10%10 != 7 && arr[x] % 2 == 0)
        {
            sum += arr[x];
        }
    }
    System.out.println("sum " + sum);
}
}

5、数组反转

反转数组的前后顺序
fe:
【1,2,3,4】
反转后
【4,3,2,1】
package com.itliu;

import java.util.Scanner;

public class Test7 {
public static void main(String[] args) {
    int[] arr = new int[5];

    Scanner sc = new Scanner(System.in);

    for(int x = 0; x < arr.length; x++) {
        System.out.println("请输入第" + (x+1) + "元素:");
        int num = sc.nextInt();
        arr[x] = num;
    }

    System.out.println("反转前");
    printArray(arr);

    reverse(arr);

    printArray(arr);


}

    public static void printArray(int[] arr) {
        System.out.print("[");
        for(int x = 0; x < arr.length; x++) {
            if (x == arr.length-1) {
                System.out.print(arr[x] + "]");
            }else {
                System.out.print(arr[x] + ", ");
            }
        }
        System.out.println();
    }

    public static void reverse(int[] arr) {
        for(int start=0, end = arr.length-1; start < end;start++) {
            int temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;
        }
    }
}

6、求元素在数组出现的第一次索引值

package com.itliu;

import java.util.Scanner;

public class Test8 {
public static void main(String[] args) {
    int[] arr = {5,7,3,2,5};
    Scanner sc = new Scanner(System.in);

    System.out.println("请输入要查询的数");
    int number = sc.nextInt();

    int index = getIndex(arr, number);
    System.out.println("index:" + index);

}
    public static int getIndex(int[] arr, int val) {
        for(int x = 0; x < arr.length; x++) {
            if(arr[x] == val) {
                return x;
            }
        }
        return -1;  
    }
}

7、数据加密小游戏

package com.itliu;

import java.util.Scanner;

public class Test9 {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    System.out.println("请输入一个4位数");
    int number = sc.nextInt();

    int[] arr = new int[4];
    arr[3] = number%10;
    arr[2] = number/10%10;
    arr[1] = number/10/10%10;
    arr[0] = number/10/10/10%10;

    for(int x = 0; x < arr.length; x++) {
        arr[x] += 5;
        arr[x] %= 10;
    }

    int temp = arr[0];
    arr[0] = arr[3];
    arr[3] = temp;

    temp = arr[1];
    arr[1] = arr[2];
    arr[2] = temp;

    for(int x = 0; x < arr.length; x++) {
        System.out.print(arr[x]);
    }
    System.out.println();
}
}


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *