@@ -5,7 +5,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
- <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+ <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
@@ -0,0 +1,31 @@
+package com.loveCoding.j20250524_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo01
+ * @description
+ * @create 2025/5/24
+ */
+public class Demo01 {
+ public static void main(String[] args) {
+ int[][] arr=new int[2][3];
+ arr[0]=new int[]{1,6,4,8,7,9,1,1,6,4,7};
+ for (int i = 0; i < arr.length; i++) {
+ for (int j = 0; j < arr[i].length; j++) {
+ System.out.print(arr[i][j]+"\t");
+ }
+ System.out.println();
+ //数组是一个引用类型
+ int[] arr1=new int[10];
+ arr1=new int[20];
+}
@@ -0,0 +1,76 @@
+ * @title Demo02
+public class Demo02 {
+ //我们接触的第一个方法就是main方法,我们自己定义的方法,必须和main方法处于同一级别
+ printHello();
+ printName("张三");
+ int sum=add(15,16);
+ System.out.println(sum);
+ String s = getHello();
+ System.out.println(s);
+ /*
+ 方法的格式:
+ 修饰符 返回值类型 方法名(形式参数类型 形参名){
+ return 返回值;
+ //方法的定义-1
+ // -无返回值,所以返回值类型写void,
+ // -无参数,所以参数位置不写内容
+ 修饰符 返回值类型 方法名(){
+ 方法体
+ public static void printHello(){
+ System.out.println("Hello");
+ //方法的定义-2
+ // -有参数
+ 修饰符 返回值类型 方法名(参数类型 参数名){
+ public static void printName(String name){
+ System.out.println(name);
+ //方法的定义-3
+ // -有返回值
+ return 返回值
+ public static int add(int a,int b){
+ return a+b;
+ //方法的定义-4
+ // -无参数
+ public static String getHello(){
+ return "hello";
@@ -0,0 +1,19 @@
+ * @title Demo03
+public class Demo03 {
+ //创建一个减3的方法,无论谁调用了这个方法,传入了多大的数值,方法的运行结果都是传入的数-3
+ public static int m(int a){
+ return a-3;
+ int m = m(6);
+ System.out.println(m);
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/20250426-Java基础语法" isTestSource="false" packagePrefix="com.loveCoding.j20250426_java_basic" />
+ <sourceFolder url="file://$MODULE_DIR$/20250517_Java一维数组" isTestSource="false" packagePrefix="com.loveCoding.j20250517_java_array" />
+ </content>
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
@@ -0,0 +1,28 @@
+package com.loveCoding.homework.j20250517;
+ * @title T1
+ * @description 1. 统计数组元素类型
+ * 要求:统计数组中正数、负数和零的个数
+ * 示例输入:`{5, -2, 0, 3, -1, 0, 7}`
+ * 示例输出:正数3个,负数2个,零2个
+public class T1 {
+ int[] arr = {5, -2, 0, 3, -1, 0, 7};
+ int a=0,b=0,c=0;
+ if (arr[i] > 0) {
+ a++;
+ } else if (arr[i] < 0) {
+ b++;
+ } else{
+ c++;
+ System.out.println("正数"+a+"个,负数"+b+"个,零"+c+"个");
+ * @title T10
+ * **10. 统计最长连续递增序列**
+ * 要求:找出数组中最长的连续递增子数组长度
+ * 示例输入:`{1,3,5,4,7,8,9}`
+ * 示例输出:4(对应子数组7,8,9或4,7,8,9)
+public class T10 {
+ int[] arr={1,3,5,6,7,1,2,3,4,7,8,9,4,7,8,9};
+ int t=1; //是临时记录序列长度,从1开始。
+ int count=0; //记录最长的那个序列的长度,从0开始
+ for (int i = 1; i < arr.length; i++) {
+ if (arr[i]>arr[i-1]){
+ t++;
+ }else {
+ if(t>count){
+ count=t;
+ t=1;
+ System.out.println(count);
+import java.util.Arrays;
+import java.util.HashSet;
+ * @title T11
+ * **11. 数组去重**
+ * 要求:创建新数组,保留原数组元素的首次出现顺序
+ * 示例输入:`{2,5,2,3,5,8}`
+ * 示例输出:`2,5,3,8`
+public class T11 {
+ int[] arr={2,5,2,3,5,8};
+ HashSet s=new HashSet();
+ s.add(arr[i]);
+ System.out.println(s.toString());
@@ -0,0 +1,27 @@
+ * @title T12
+ * **12. 寻找缺失数字**
+ * 要求:在包含1~n的数组中找出缺失的那个数字(数组长度为n-1)
+ * 示例输入:`{3,1,4,5}`(n=5)
+ * 示例输出:2
+public class T12 {
+ int[] arr={3,1,4,5};
+ int sum=0;
+ sum+=arr[i];
+ int s2=0;
+ for (int i = 1; i <= arr.length+1; i++) {
+ s2+=i;
+ System.out.println(s2-sum);
@@ -0,0 +1,29 @@
+ * @title T13
+ * **13. 数组右移k位**
+ * 要求:将数组元素向右循环移动k个位置
+ * 示例输入:`{1,2,3,4,5}`,k=2
+ * 示例输出:`4,5,1,2,3`(右移2位后结果)
+public class T13 {
+ int[] arr={1,2,3,4,5,6,7,8,9,10};
+ int k=5;
+ int[] tArr=new int[arr.length];
+ for (int i = 0; i < arr.length-k; i++) {
+ tArr[i+k]=arr[i];
+ for (int i = 0; i < k; i++) {
+ tArr[i]=arr[arr.length-k+i];
+ for (int i = 0; i < tArr.length; i++) {
+ System.out.print(tArr[i]+" ");
+ * @title T14
+ * **14. 寻找第一个重复元素**
+ * 要求:找出数组中第一个重复出现的元素(第二个重复的位置)
+ * 示例输入:`{3, 7, 2, 5, 7, 3}`
+ * 示例输出:7(第一个重复的是7,在索引1和4重复)
+public class T14 {
+ int[] arr={3, 7, 2, 2, 7, 3};
+ int nJ=arr.length;
+ int nI=0;
+ for (int j = i+1; j < arr.length; j++) {
+ if (arr[i]==arr[j]){ //成立
+ if(nJ>j){
+ nJ=j;
+ nI=i;
+ System.out.println(arr[nJ]+"(第一个重复的是"+arr[nJ]+",在索引"+nI+"和"+nJ+"重复)");
@@ -0,0 +1,21 @@
+ * @title T2
+ * **2. 逆序输出数组**
+ * 要求:将数组元素按逆序输出(不需要真正修改数组)
+ * 示例输入:`{9, 6, 3, 7, 2}`
+ * 示例输出:`2 7 3 6 9`
+public class T2 {
+ int[] arr={9, 6, 3, 7, 2};
+ for (int i = arr.length-1; i >=0 ; i--) {
+ System.out.print(arr[i]+"\t");
@@ -0,0 +1,33 @@
+import java.util.Scanner;
+ * @title T3
+ * **3. 元素查找器**
+ * 要求:输入一个数字,判断它是否存在于数组中,并统计出现次数
+ * 示例输入:数组`{2,5,3,2,8,2}`,查找数字2
+ * 示例输出:存在,出现3次
+public class T3 {
+ Scanner sc=new Scanner(System.in);
+ int[] arr={2,5,3,2,8,2};
+ int count=0;
+ int n=sc.nextInt();
+ if (n==arr[i]){
+ count++;
+ if (count>0){
+ System.out.println("存在,出现"+count+"次");
+ System.out.println("不存在");
+ * @title T4
+ * **4. 数组左移操作**
+ * 要求:实现数组元素左移一位(首元素移到末尾)
+ * 示例输入:`{1,2,3,4,5}`
+ * 示例输出:`2 3 4 5 1`
+public class T4 {
+ int[] arr={1,2,3,4,5};
+ int t=arr[0];
+ arr[i-1]=arr[i];
+ arr[arr.length-1]=t;
+ System.out.println(Arrays.toString(arr));
@@ -0,0 +1,39 @@
+ * @title T5
+ * **5. 删除特定元素**
+ * 要求:新建一个数组,删除原数组中所有指定的元素
+ * 示例输入:原数组`{3,8,2,5,8,9}`,删除元素8
+ * 示例输出:新数组`3 2 5 9`
+public class T5 {
+ int[] arr={8,8,3,8,3,3};
+ int c=0; //记录要删除的元素有几个
+ if (n!=arr[i])
+ int[] newArr=new int[c]; //为了指定新的数组的长度
+ for (int i = 0,j=0; i <arr.length; i++) {
+ if (n!=arr[i]){
+ newArr[j]=arr[i];
+ j++;
+ System.out.println(Arrays.toString(newArr));
@@ -0,0 +1,26 @@
+ * @title T7
+ * @description **6. 合并两个数组**
+ * 要求:将两个等长的数组合并为一个新数组,交替存储元素
+ * 示例输入:`{1,3,5}` 和 `{2,4,6}`
+ * 示例输出:`1 2 3 4 5 6`
+public class T6 {
+ int[] subArr1 = {1, 3, 5};
+ int[] subArr2 = {2, 4, 6};
+ int[] arr = new int[subArr1.length + subArr2.length];
+ for (int i = 0; i < subArr1.length; i++) {
+ arr[2*i] =subArr1[i];
+ arr[2*i+1] =subArr2[i];
+ * **7. 寻找第二大的数**
+ * 要求:找出数组中第二大的元素
+ * 示例输入:`{7,3,9,2,9,4}`
+ * 示例输出:7
+public class T7 {
+ int[] arr={7,3,9,2,9,4};
+ int max=arr[0];
+ int max2=arr[0];
+ if (max<arr[i]){
+ max=arr[i];
+ if (max2<arr[i]&&arr[i]!=max){
+ max2=arr[i];
+ System.out.println(max2);
+ * @title T8
+ * **8. 数组对称判断**
+ * 要求:判断数组是否首尾对称
+ * 示例输入1:`{1,3,5,3,1}` → 输出:对称
+ * 示例输入2:`{2,4,4,2}` → 输出:对称
+ * 示例输入3:`{1,2,3,4}` → 输出:不对称
+public class T8 {
+ int[] arr={1,2,3,4};
+ boolean b=false;
+ for (int i = 0; i < arr.length/2; i++) {
+ if (arr[i]==arr[arr.length-1-i]){ //判断收尾元素是否相等
+ b=true; //相等则为b赋值为true
+ }else {//否则赋值false
+ b=false;
+ break; //只要有一次赋值是false,就说明已经不对称了,后面的就不需要继续循环了。直接跳出循环。
+ if (b){
+ System.out.println("对称");
+ System.out.println("不对称");
@@ -0,0 +1,32 @@
+ * @title T9
+ * @description **9. 数字频率统计**
+ * 要求:统计数组中每个数字出现的次数(假设数字范围0-9)
+ * 示例输入:`{2,5,3,2,8,2}`
+ * 示例输出:
+ * `2出现3次`
+ * `3出现1次`
+ * `5出现1次`
+ * `8出现1次`
+public class T9 {
+ int[] arr = {2, 5, 3, 2, 8, 2, 2};
+ int count = 0;
+ for (int j = i; j < arr.length; j++) {
+ if (arr[i] == arr[j]) {
+ System.out.println(arr[i] + "出现" + count + "次");
+package com.loveCoding.homework.j20250517_method;
+ //有参数但是无返回值的方法
+ public static void method(int[] arr){
+ method(arr);