java速学教程(入门到精通)
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
数组:存储一组相同数据类型的数据的集合。
int[] :int类型数组
double[] :double类型数组
通过类型就可以定义变量,比如:
int[] array,array就是这个类型的变量,这个变量是存储一组相同数据的变量。
三种数组定义的方式:
第一种:
int[] array = {1,2,3,4,5,6};
定义一个数组且初始化
虽然没写new,但实际上也是一个对象
注意事项:
int[10] array = {1,2,3,4,5,6};
写法错误,int[] 属于类型,中括号里面不能加任何的数字,相当于在这里破坏了它的类型。
第二种:
int[] array2 = new int[3];
定义数组未初始化
第三种:
int[] array3 = new int[]{1,2,3,4,5,6};
定义且初始化
三种当中用的最多的就是第一种
获取数组长度:
Java里面可以直接通过数组名array.length 求出当前数组的长度
访问数组元素:
访问数组下标为4的元素
越界访问数组元素:
Java语言越界直接报错
更改数组元素:
通过数组名中括号的方式,不仅仅可以访问下标的内容,也可以往下标里面写一些数据
第一种:(for循环)
第二种:(增强for循环,for each循环)
for循环和for each循环的区别:
for循环是可以拿到下标的,
for each循环是拿不到下标的,更多的是用于集合中
第三种:借助Java的操作数组工具类 Arrays
JVM简单介绍
局部变量在内存中的储存:
引用不指向对象写法:
这个引用不指向任何的对象
一个引用能不能同时指向多个对象吗?
对于这个代码来说只能指向一个对象,存一个对象的地址。最终只保存了最后一个对象的地址
数组作为方法的参数传递的过程:
求解打印结果:
前两种求解:
fun2打印结果:
分析例子:下图代表什么
代表array2这个引用,指向了array1这个引用指向的对象。
下图就代表了上面例子的意思:
注意事项:
引用指向引用这句话 是错误的,引用只能指向对象
引用一定在栈上吗?
不一定,一个变量在不在栈上,是你变量的性质决定的,如果你就是一个局部变量,一定是在栈上的。如果不是,例如,实例成员变量那就不一定就是在栈上的。
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]); }
打印结果:
/** * 在原来的数组上扩大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length><p>打印结果:</p> <p><img src="https://img.php.cn/upload/article/000/887/227/168223813590088.jpg?x-oss-process=image/resize,p_40" alt="Java中数组怎么定义使用"></p> <p>把原来数组扩大2倍的值放在一个新的数组中</p> <pre class="brush:java;">/** * 把原来数组扩大2倍的值放在一个新的数组中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i <h4>3.模拟实现tostring函数</h4><pre class="brush:java;">public static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length><p>打印结果:</p> <p><img src="https://img.php.cn/upload/article/000/887/227/168223813551946.jpg?x-oss-process=image/resize,p_40" alt="Java中数组怎么定义使用"></p> <h4>4.找数组中的最大元素 </h4> <pre class="brush:java;">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><p>打印结果:</p> <p><img src="https://img.php.cn/upload/article/000/887/227/168223813514105.jpg?x-oss-process=image/resize,p_40" alt="Java中数组怎么定义使用"></p> <h4>5.查找数组中指定元素(顺序查找) </h4> <pre class="brush:java;"> public static int findNum(int[] array,int key){ for (int i = 0; i <array.length><p>打印结果:</p> <p><img src="https://img.php.cn/upload/article/000/887/227/168223813539808.jpg?x-oss-process=image/resize,p_40" alt="Java中数组怎么定义使用"></p> <h4>6.查找数组中指定元素(二分查找) </h4> <pre class="brush:java;">二分查找的必要条件是必须有序的数列 public static int binarySearch(int[] array,int key){ int left = 0; int right = array.length-1; while(left key){ right = mid - 1; }else if(array[mid] <p>打印结果:</p><p><img src="https://img.php.cn/upload/article/000/887/227/168223813628113.jpg?x-oss-process=image/resize,p_40" alt="Java中数组怎么定义使用"></p>
Java免费学习笔记:立即学习
解锁 Java 大师之旅:从入门到精通的终极指南
已抢7591个
抢已抢97606个
抢已抢15268个
抢已抢54025个
抢已抢198506个
抢已抢88415个
抢