每天努力一点点
-Make a little progress every day
前言
随着时代的发展编程语言也在进步,Java语言更是成为当今时代潮流,本文简述了阿杰对Java语言的初步认识,并记录阿杰初次进行Java入门学习的部分重要基础内容;
1、数组基本用法
1.1 什么是数组
数组本质上是能让我梦批量创建相同类型的变量;
数组存在于堆中,对数组来说栈内存的是与数组地址相对的唯一值,通过hash()该值可以获得与之对应的堆中的唯一地址;
1.2 创建数组
基本语法格式
1、动态初始化:
数据类型[ ]数组名称 = new 数据类型[ ] {初始变量值};
例:
int [ ] array =new int[ ]{1,2,3}
或int [ ] array = new int[ 5] \数组存在于堆中,堆中都有初始值)
2、静态初始化:
数据类型[ ] 数组名称 = {初始化数据};
例:
int[ ] array = {1,2,3,4}
3、二维数组:
数据类型 [ ] [ ] 数组名称 = new 数组类型 [行数] [列数]{初始化数据};
1.3 数组的使用
数组的打印
//有序打印:
for(int i = 0; i < array length; i++){
System.out.println(array[i]+" ");
}
//无序打印
for(int i: array1){
System.out.println(a + " ");
}
//例:输出数组的长度
int [ ] array = new int{1, 2 ,3 4};
System.out.println("length"+arr.length);
//例将数组转为字符串
string ret = arrays to string(array);
System.out.println(ret);
注意事项:
1、使用 array.length可以获取长度;
2、数组下表是从零开始;
3、下标操作不能超出有效范围[0,length-1] ;
4、array [ ] = array [5];其中默认初始值为零;
下标越界异常:
Java.lang,ArrayIndexoutofBondsExpection:
2、数组做为方法的参数 返回值
- 数组作为方法的参数要注意参数在方法中开辟栈是否被赋值;
- null在Java中表示空引用;
int [ ] array = null;
System.out.println(array(0));
//执行结果
Exception in thread "java.lang.NullPointerException at Text.main(Text.java:6)"
null 表示一个无效的内存位置;
- 为了不破坏原数组需要在方法内创建一个新数组;
3、数组练习
1. 数组转字符:
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args){
int [] array = new int[]{
1,2,3,4,5};
swap(array);
}
//数组转字符串
public static void swap(int[] array){
String ret = Arrays.toString(array);
System.out.println(ret);
}
}
2. 数组拷贝:
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
int [] array = new int[]{
1,2,3,4,5};
copy(array);
}
//拷贝数组
public static void copy(int[] array){
int[] ret = new int[5];
for(int i=0; i < array.length; i++){
ret[i] = array[i];
}
String ret1 = Arrays.toString(ret);
System.out.println(ret1);
}
}
3. 找数组中最大元素:
(小元素同理)
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {