1. Basic usage of arrays
1. What is an array
Array: A collection that stores a set of data of the same data type .
2. Define the array
int[]: int type array
double[]: double type array
Variables can be defined by type, such as :
int[] array, array is a variable of this type. This variable is a variable that stores a set of the same data.
Three ways to define arrays:
The first one:
int[] array = {1,2 ,3,4,5,6};
Define an array and initialize it
Although new is not written, it is actually an object
Notes:
int[10] array = {1,2,3,4,5,6};
Wrong writing, int[] belongs to type, no numbers can be added inside the square brackets, which is equivalent to destruction here its type.
Second type:
int[] array2 = new int[3];
Define array Uninitialized
Third type:
int[] array3 = new int[]{1,2,3,4,5,6};
Definition and initialization
The most commonly used of the three is the first one
3. Use of arrays
Get Array length:
In Java, you can directly find the length of the current array through the array name array.length
Access array elements:
Access the element with index 4 in the array
Access the array element out of bounds:
The Java language directly reports an error when out of bounds
Change array elements:
By placing brackets in the array name, you can not only access the content of the subscript, but also write some data into the subscript
Print array:
The first type: (for loop)
##Analysis example: What does the picture below represent
represents the reference of array2, pointing to the object pointed to by the reference of array1.
The following picture represents the meaning of the above example:
Note:
The quote points to the quote. This sentence is wrong. References can only point to objects
Does the reference have to be on the stack?
Not necessarily. Whether a variable is on the stack is determined by the nature of your variable. If it is a local variable, it must be on the stack. If not, for example, instance member variables are not necessarily on the stack.
3. Array exercises
1. Exchange the values of two variables
public class TestDemo { public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) { int[] array = {10,20}; System.out.println("交换前: "+array[0]+" "+array[1]); swap(array); System.out.println("交换后: "+array[0]+" "+array[1]); }
Print results:
2. Write a method to * 2
/** * 在原来的数组上扩大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length ; i++) { array[i] = array[i]*2; } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; enlarge(array); System.out.println(Arrays.toString(array)); }
Print the result of each element in the array:
Enlarge the original array by twice the value In a new array
/** * 把原来数组扩大2倍的值放在一个新的数组中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i < array.length; i++) { ret[i] = array[i] * 2; } return ret; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; int[] ret = func(array); System.out.println(Arrays.toString(ret)); }
3. Simulate the implementation of the tostring function
public static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length ; i++) { str = str+array[i]; if(i != array.length-1){ str+= ","; } } str= str + "]"; return str; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; String str = myToString(array); System.out.println(str); }
Print the result:
4. Find the Maximum element
public static int maxNum(int[] array){ if(array == null) return -1; if (array.length == 0) return -1; int max = array[0]; for (int i = 1; i <array.length ; i++) { if(max < array[i]){ max = array[i]; } } return max; } public static void main(String[] args) { int[] array = {12,8,14,26,5,7,8}; int max = maxNum(array); System.out.println(max); }
Print result:
5. Find the specified element in the array (sequential search)
public static int findNum(int[] array,int key){ for (int i = 0; i <array.length ; i++) { if(array[i] == key){ return i; } } return -1; } public static void main(String[] args) { int[] array = {2,4,5,6,11,7,8,9}; System.out.println(findNum(array, 7)); }
Print result:
6. Find the specified element in the array (binary search)
二分查找的必要条件是必须有序的数列 public static int binarySearch(int[] array,int key){ int left = 0; int right = array.length-1; while(left <= right){ int mid = (left+right)/2; if(array[mid] > key){ right = mid - 1; }else if(array[mid] < key){ left = left + 1; }else{ return mid; } } return -1; } public static void main(String[] args) { int[] array = {12,14,15,16,18,23}; System.out.println(binarySearch(array, 15)); }
Print result:
The above is the detailed content of How to define and use Java arrays. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.