数组
数组的名称就是标识符;
把自己存储的数据叫元素;
元素下标:对数组进行编号 从零开始数组中每一个元素都可以通过下标来访问;
创建时数组的长度固定不变 避免越界;
数组内元素类型必须一样;
[]就是数组的标记
第一步;
数据类型[] 数组名;提倡这个;
数据类型 数组名[] ;
第二步
数组名 = new 数据类型 [长度];
赋值:
-
数据类型[] 数组名 = new 数据类型 [长度]{数据,数据,数据};
-
键盘接收:
数组名 = new 数据类型 [长度];
for(数组名 i=0;i<4;i++){
nums [i] = input.nextInt()
}
length 返回数组长度
相等不一定不相等 因为所有的数还没比完 如果比完了还不相等那么才输出
数组的排序
调一个包:java.util.Arrays提供数组操作方法:排序。查询
arrays类的sort()方法 升序排序
使用方法:
-
Scanner input = new Scanner(System.in); -
做一个循环输入数组
-
写 Arrays.sort(数组名字) 降序for (int i = 数组名字.lenght-1; i >定义的值; i--) {
-
然后在循环外面输出
Arrays类的方法
boolean equals 对比是否相等
boolean equals :if (Arrays.equals(args, args)){
相等
}else {
不相等
}
string to string:直接输入数组名字不会出现地址而是出现数组内的值
System.out.println(Arrays.toString(数组的名字));
void fill: 改变数组内容
Arrays.fill(数组的名字 , val:"要改的数值"); 就会把数组的数值全部改成要改的数值
copyOf 数组复制
String[] 新的数组名字= Arrays.copyOf(要复制的数组,复制的那个数组.length+1)
int binarySearch 查询元素值在素组中的下标位置
必须先排序
Arrays.sort(数组名字);
int 下标名字 = Arrays.binarySearch(数组名字,key"要找的元素");
if(下标名字>=0){
输出 输出时下标加一就是位置
}
插入
//插入
char[] b = {'a','b','c' ,'e' ,'f' ,'p' ,'u' ,'z'};
System.out.print("原字符序列");
for (int i1 = 0;i1<b.length-1;i1++){
System.out.print(b[i1]);
}
char [] c = Arrays.copyOf(b,b.length+1);
char d1 = 'm';
int d = c.length-1;
for (int i1 = 0;i1<c.length-1;i1++){
if (d1<c[i1]){
d = i1;
break;
}
}
System.out.print("\n待插入的字符是"+d1);
System.out.print("\n待插入字符的下标"+d);
for (int i1=c.length-1;i1>d;i1--){
c[i1]=c[i1-1];
}
c[d]=d1;
System.out.print("\n输出插入后的序列");
for (int i1 = 0 ; i1<c.length;i1++){
System.out.print(c[i1]+" ");
}
多维数组
int [] [] 变量名=new int[5] [50]
有五个元素 的每个元素都有50个元素
s[0] 😒[0] [0] , s [0] [1] ,s[0] [2]
s[1]😒 [1] [ 0], s[1] [1]; s[1] [ 2]
s[2]: s [2] [0], s [2] [ 1], s [2] [ 2]
三元运算符
(states[i]==1?"已完成":"已预定")条件为真 就显示第一个 条件为假就显示第二个

浙公网安备 33010602011771号