java一维数组的理解
来源:互联网 发布:中国4g网络协会 编辑:程序博客网 时间:2024/05/21 09:02
本人新人学习,如有问题请指教,谢谢。
在学习java时候,数组对于我们来说是很重要的,因为好多的集合和字符串等等都和他有关。
java数组是对象,所以是继承Object类的,他也是有Object的方法的,引用类型。可以存储基本类型和引用类型
一.初始化
三种初始化 1. 类名/基本类型 [ ] 数组名称 = new 类名/基本类型 [ index ];
//这里面的index必须是正整数,表示这个数组的个数
2. 类名/基本类型 [ ] 数组名称 = new 类名/基本类型 [ ]{ };
//大括号里面可以直接放入要存入的对象或基本类型数据,之间用,隔开
3.最简单的 类名/基本类型 [ ] 数组名称= { };
//大括号里面可以直接放入要存入的对象或基本类型数据,之间用,隔开
如:int [ ] money= new int[ 8]; int [ ] money= new int[ ]{ 12, 13 ,14 }; int [ ] money={12,15,16,};
二.特点
数组的长度是固定的,从上面的初始化也能看出来,不管用哪种初始化都会将数组的长度固定下来了 ,也能看出数组的类型是统一的,是整型就是整型,是引用类型就是引用类型,就应为这些特征,就有java中的StringBuffer和集合。数组相当于蜜蜂的巢穴,每个地方放一个对象,但每个对象都有个下标(相当于给他贴了个标签),紧记下标是从0开始的,所长度为n的时候,最大下标是n-1.
三:数组运算
数组会使用才能有价值
l数组遍历(依次输出数组中的每一个元素)
遍历就想成,一遍遍拿数据
public class A{//定义一个类来完成遍历
public static void main(String [] args){//定义主方法
int [ ] i= {1,2,3,4,5};//以这个数组为例 最终为[1,2,3,4,5]这中形式
System.out.print("[");
for(int j=0;j<i.length;j++){//要从0开始,执行到数字长度-1就行
if(j==i.length-1){//最后一个没有逗号的
System.out.print(i [ j ]);
}
else{
System.out.print(i [ j ]+" , ");
}
}
System.out.print("]");
}
}
l数组获取最值(获取数组中的最大值最小值)
以最大值为例,最小一样
public B{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4};// 获取这个数组最大值并输出
int max=i [ 0 ];//主要思想是用最大的与每个 元素相比,元素大的,赋值给大的变量
for(int j=1;j<i.length;j++){//从1开始应为0下标已经赋值了。
if(max<i [ j ]){//这里的for语言可以用增强for for(int j: i){ }
max=i [ j ];
}
System.out.print(max);
}
}
}
//以上是对象比较,请重写对象类的equals方法,并且将=改为equals方法
l数组元素逆序 (就是把元素对调)
同时将前后两个元素对调,直到中间停止。根据数组是下标起作用,我们可以写两个“指针”,这两个指针一个指向小的一个指向大的,一个加,令一个同时减,最终肯定到中间,那么时候停止了,一个小,一个大,那么如果小的都大于大的了,还需要移动吗?所以代码如下:
public class C{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4};
for(int minPoint=0,maxPoint=i.length-1; minPoint>maxPoint; minPoint++,maxPoint--){
int temp=i[ minPoint ];
i [minPoint]=i[maxPoint];
i[maxPoint]=temp;
}
//这个地方调用上面A类去掉主方法的普通方法
}
}
l数组查表法(根据键盘录入索引,查找对应星期)
import java.util.Scanner;
public class D{
public static void main(String [] args){
int String[ ]={ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.println("请输入对应的星期数字,0是星期日");
Scanner sc= new Scanner(System.in);
int weekDay= sc.nextIn();
if(weekDay<0||weekDay>=7){
System.out.println("您输入的星期的数字有误");
}
System.out.println(i[ weekDay]);
}
}
l数组元素查找(查找指定元素第一次在数组中出现的索引-就是下标)
public class E{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4};
int number=3; //以这个数为例查找 i数组
for(int j=0;j<i.length;j++){
if(number==i [ j ])
System.out.println(j);
System.out.println("没找到这个数");
}
}
}
l数组排序
数组排序有很多中 ,我这里写一个选择排序,原理是第一个数开始,分别与后面的数比较,将最小的留下,第二个再与后面的比较,最终比较完毕。
public class F{
public static void main(String [] args){
int [ ] arr= {1,3,5,4,8,1,2};
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
}
----*
---* *
--* * *
-* * * *
* * * * *
class G {
public static void main(String[] args) {
int i=1,j,x;
for(;i<=5;i++){//控制“-” 打印的数和行数之和是5固定
for(j=1;j<=5-i;j++){
System.out.print("-");
}
for(x=1;x<=i;x++){//控制“* ” 打印的数和行数相等
System.out.print("* ");
}
System.out.println();
}
}
}
- java一维数组的理解
- 一维数组的简单理解
- java数组的理解
- java中数组的理解
- Java中数组的理解
- 对java数组的理解
- java数组--一维数组
- java-一维数组的随机赋值
- java 数组的应用(一维)
- java一维数组的使用
- java一维数组的学习
- JAVA(简单的一维数组)
- Java一维数组
- java一维数组
- Java:一维数组
- Java数组 一维数组,二维数组
- Java中二维数组和一维数组的clone
- java 一维数组与二维数组的遍历
- 安装jdk之后cmd java 可以执行 javac 无法执行 执着的用%JAVA_HOME%
- C++学习 boost学习之-Variant
- .net编写客户端实现正方教务网登录,查询课表,查询考试等信息程序(Post,Get等)---潘尚
- BIRCH算法学习
- bool
- java一维数组的理解
- Nmap扫描原理与用法
- [Android]获取拍照完的图片的数据两种方式
- Java写的动画gif
- Linux下tomcat的操作
- Linux常用命令大全
- DIV+CSS兼容性问题总结
- jQuery模糊匹配checkbox全选 value实现checkbox部分或全部全选
- Centos 使用YUM安装MariaDB