08月04日 星期二
数组
特点
- 1、是一个连续的内存空间。
下标是从0开始是相对于第一个元素的距离,最大下标为数组长度减1。 - 2、数组元素都是变量。
- 3、数组元素类型和定义数组时的类型一致。
- 4、数组元素在数组创建时都会初始化。int–>0,double–>0.0;引用类型会初始化null。
- 5、数组创建后,长度不可以改变。
来点题:
1.范例
package Demo;
import javax.swing.JOptionPane;
public class Araay {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//顶一个长度为7的整型数组,数组变量a中存放连续的空间地址
int [] a = new int [7];
//给数组中第一个元素赋值、
a[0] = 9;
a[1] = 9;
a[3] = 9;
//下标为6就是最大了。
a[6] = 1000;
//下面的就是下标越界了。
// a[7] = 88;
//其余没有赋值的都是0
// System.out.println(a[7]);//词句会报错。ArrayIndexOutOfBoundsException。
// System.out.println(a[6]);
for (int i = 0; i < a.length/*也可以写:i<7*/; i++) {
System.out.println(a[i]);
}
//创建数组时,给数组元素赋初始值,数组的长度就是初始化元素个数
String [] x = {"你好","二逼","二逼","老王","西红柿","大白"};
//a.length表示得到数组的长度。
for (int i = 0; i < x.length; i++) {
System.out.println(x[i]);
}
System.out.println(x[1].equals(x[2]));
System.out.println(x[1] == (x[2]));
System.out.println(x[1] == (x[4]));
String p = JOptionPane.showInputDialog("要输入多少个学习的成绩?");
int num = Integer.parseInt(p);
int [] z = new int [num];
for (int i = 0; i < z.length; i++) {
String grade = JOptionPane.showInputDialog("请输入成绩:第"+(i+1)+"的分数");
z[i] = Integer.parseInt(grade);
}
for (int i = 0; i < z.length; i++) {
//做到倒序输出
System.out.println(z[num-1-i]);
}
}
}
2.查找数字在数组中的下标:
package Demo;
import javax.swing.JOptionPane;
public class 怎么样查找Array {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] c ={1,5,7,8,4,4};
//请输入一个数要求是得到该数在数组中的下标
String x = JOptionPane.showInputDialog("请输入要查找的数!");
int bs = Integer.parseInt(x);
boolean t = false;
for (int i = 0; i < c.length; i++) {
if (bs == c[i]) {
System.out.println("要查找的数是:"+bs+"下标是第:"+i+"个");
t = true;
}
}
if(t == false){
System.out.println("这里没有这个数!");
}
}
}
package Demo;
import javax.swing.JOptionPane;
public class Array2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String p1 = JOptionPane.showInputDialog("要输入多少条信息?");
int num1 = Integer.parseInt(p1);
String [] z1 = new String [num1];
for (int i = 0; i < z1.length; i++) {
String l = JOptionPane.showInputDialog("输入点汉字呗。"+"第:"+(i+1)+"条");
z1[i] = l;
}
String str = "";
int b=0;
for (int i = 0; i < z1.length; i++) {
str += z1[i]+"\n";
b++;
}
JOptionPane.showMessageDialog(null, "第一共"+(b)+"条\n"+str);
}
}
4、打印一个工资卡:
package Demo;
import javax.swing.JOptionPane;
public class Array打印工资卡 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String o = JOptionPane.showInputDialog("请输入你们公司人数!");
int x = Integer.parseInt(o);
String[] name = new String[x];
int [] money = new int[x];
for (int i = 0; i < money.length; i++) {
String name1 = JOptionPane.showInputDialog("请输入员工姓名");
name[i] =name1;
String money1 = JOptionPane.showInputDialog("请输入员工工资");
int gz = Integer.parseInt(money1);
money[i] = gz;
}
String str = "姓名 工资";
for (int i = 0; i < money.length; i++) {
str = str+"\n"+name[i]+" "+money[i];
}
JOptionPane.showMessageDialog(null, str);
}
}