数组:
1,数组是一个连续的内存空间。
2,数组中的元素都是变量。
3,数组变量中存放的连续空间首元素的地址。
4,数组中元素类型是声明数组时定义的类型。
5,数组创建后长度不可变化。
6,数组创建后,未赋值元素的默认初始化值为int --->0;;double--->0.0。
定义一个一维数组: int[]a = new int[8];或者int[]a={1,3,2,5,7};
算法小结:
//选择排序法:降序
class Shuzu10
{
public static void main(String[] args)
{
int[]a ={3,8,2,1,6};
for(int i =0;i < a.length; i++)
{
for(int j = i+1; j < a.length; j++)
{
if(a[i] < a[j])
{
a[i] = a[i] ^ a[j];
a[j] = a[i] ^ a[j];
a[i] = a[i] ^ a[j];
}
}
}
for(int n = 0;n < a.length; n++)
{
System.out.println("a["+n+"] = "+a[n]);
}
}
}
//将输入的数字转化成十六进制
import javax.swing.JOptionPane;
class Shuzu9
{
public static void main(String[] args)
{
String N = JOptionPane.showInputDialog(null,"请输入要转化的整数:");
int n = Integer.parseInt(N);
String str = "";
while(n != 0)
{
int m =n % 16;
if(m >= 10)
{
str = (char)(m-10+'A') + str;
}
else
{
str = m + str;
}
n = n >>> 4;
}
System.out.println(str);
}
}
//剔除数组中的7和3。
class Shuzu8
{
public static void main(String[] args)
{
int[]a = {3,5,7,9,7,3,12};
int count1 =0,count2 =0;
for(int n = 0;n < a.length; n++)
{
if(a[n]==7)
{
for(int m = n; m < a.length ; m++)
{
if(m < a.length - 1)
{
a[m] =a [m+1];
}
}
count1 ++;
}
if(a[n]==3)
{
for(int m = n; m < a.length ; m++)
{
if(m < a.length - 1)
{
a[m] =a [m+1];
}
}
count2 ++;
}
}
for(int n =0;n < a.length -count1-count2;n++)
{
System.out.print(a[n]);
}
}
}
//冒泡排序法:升序
class Shuzu7
{
public static void main(String[] args)
{
int[]a = {5,1,2,3,4,6};
for(int i = 0;i < a.length - 1; i++)//外层循环控制需要比较的轮数。
{
for(int j = 0;j < a.length - 1 - i;j++)//内存循环控制第i+1轮要比的次数。
{
if(a[j] > a[j+1])
{
a[j] = a[j] ^ a[j+1];
a[j+1] = a[j] ^ a[j+1];
a[j] = a[j] ^ a[j+1];
}
}
}
for(int n =0; n < a.length; n++)
{
System.out.println("\ta["+n+"]"+" = "+a[n]);
}
}
}