【Java集合的详细研究6】Java 数组
Java 语言中提供的数组是用来存储固定大小的同类型元素。
声明数组变量
double[] myList; // 首选的方法
或
double myList[]; // 效果相同,但不是首选方法
创建数组
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = {value0, value1, ..., valuek};
处理数组
数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 foreach 循环。
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// 查找最大元素
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max);
}
foreach 循环
JDK 1.5 引进了一种新的循环类型,被称为 foreach 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}
数组作为函数的参数
数组可以作为参数传递给方法。
例如,下面的例子就是一个打印 int 数组中元素的方法:
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
数组作为函数的返回值
public static int[] reverse(int[] list) {
int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
完整代码:
public class ArrayDemo {
public static int[] intArray={1,2,3,4}; // 首选的方法 // public static int doubleArray2[]; 效果相同,但不是首选方法。沿用c/c++的写法 public static void main(String[] args) {
initArray();
printArray(intArray);
intArray = reverse(intArray);
printArray(intArray);
} // 创建数组
public static void initArray() {
int[] intArray1 = new int[10];
int[] intArray2={1,2,3,4};
} // 数组作为函数的参数
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
} // 数组作为函数的返回值
public static int[] reverse(int[] list) {
int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
} }
【Java集合的详细研究6】Java 数组的更多相关文章
- 【Java集合的详细研究8】List,Set,Map用法以及区别
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素.一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java ...
- 【Java集合的详细研究1】Collections类常用方法总结
1.sort(Collection)方法的使用(含义:对集合进行排序). 例:对已知集合c进行排序? public class Practice { public static void main(S ...
- 【Java集合的详细研究5】Java中Array与ArrayList的主要区别
1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array([]):最高效:但是其容量固定且无法动态改变: ArrayList: 容量可动态增长:但牺 ...
- 【Java集合的详细研究2】浅谈Arrays.asList的使用
首先,该方法是将数组转化为list.有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表 ...
- 【Java集合的详细研究9】Java堆栈(stack)的使用方法
栈是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下的其他元素.”先进后出”或”后进先出”就是栈 ...
- 【Java集合的详细研究3】Arrays类常用方法
1.void sort(array)对数组array的元素进行升序排序 2.int binarySearch(array,val):查询元素值val在数组array中的下标 3.String toSt ...
- 【Java集合的详细研究4】Java中如何遍历Map对象的4种方法
方法一 通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使 ...
- 【Java集合的详细研究7】Set和List 的关系与区别
两个接口都是继承自Collection. List (inteface) 次序是List 的最重要特点,它确保维护元素特定的顺序. --ArrayList 允许对元素快速随机访问. --LinkedL ...
- 第二十三节:Java语言基础-详细讲解函数与数组
函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...
随机推荐
- Hadoop: Setup Maven project for MapReduce in 5mn
Hadoop: Setup Maven project for MapReduce in 5mn 25 MAY 2013 / ANTOINE AMEND I am sure I am not the ...
- 【Android】16.3 带Intent过滤器的Services
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 这一节演示带Intent过滤器的Services的基本用法. 1.配置Intent Filter 不论是本地解决方 ...
- 写个关于使用cocostudio Armature实现动画自由切换的小demo
这是一个关于使用cocostudio实现动画自由切换的小demo auto sprite =Sprite::create("background.png"); sprite-> ...
- asp.net mvc 5 在没有外网win2008R2服务器部署方法
我在本地用最新的.net 4.5和asp.net mvc 5框架做了一个小应用.本地都测试打包成功. 现在要放到服务器上,这个应用只是内网用.服务器不允许连接外网.看到www.asp.net 没有mv ...
- Springmvc mvc:exclude-mapping不拦截 无效
最近在使用ssm框架搭建一个后台,需要判断每个请求都判断是否登录,未登录跳转到登录页面, 使用发现 mvc:exclude-mapping 不拦截,发现,怎么都无效,依然是进行拦截.查了很多资料,总算 ...
- netty5入门教程
1.Netty是什么? 本质:JBoss做的一个Jar包 目的:快速开发高性能.高可靠性的网络服务器和客户端程序 优点:提供异步的.事件驱动的网络应用程序框架和工具 通俗的说:一个好使的处理Socke ...
- sqlserver 的一些好用的插件
sqlserver 的一些好用的插件 1.http://www.red-gate.com/products/
- 【WPF】ComboBoxItem的禁用
需求:下拉列表ComboBox中,要求部分Item不可用.效果是鼠标一上去后不获得焦点,且无法点击. 前台XAML界面: <!-- 下拉列表:省份 --> <ComboBox Gri ...
- jackson2.1.4 序列化 通过给定Class映射 与抽象类的映射
//如果已知想要序列化的类型 可以使用TypeReference来进行处理 //List<MyBean> result = mapper.readValue(src, new TypeRe ...
- LPD打印机服务是什么意思
line Printer Daemon(LPD)行式打印机后台程序,用于假脱机打印工作的UNIX后台程序(后台服务).行式打印机后台程序是一个安装在UNIX打印服务器上的后台程序.它的功能是等待接受客 ...