数组的定义
格式一:
数据类型 [] 数组名
比如:int [] array
格式二:
数据类型 数组名 []
比如: int array []
打印数组的时候,实际出现的是数组的地址值。
数组的地址值:就表示数组在内存中的位置。
数组的初始化:
1.静态初始化 :int [] arr = {10,20,30,40};
2.动态初始化:int [] arr = new int [3]
不可以混用静态初始化和动态初始化
数组的默认初始化值:
整数类型:0
小数类型:0.0
布尔类型:false
字符类型:‘\u0000’
引用类型:null
- 索引一定是从0开始的。
- 连续不间断。
- 逐个+1增长。
数组的遍历
数组的遍历
遍历:就是把数组里面所有的内容一个一个全部取出来。
数组的长度:数组名.length;
int [] arr = {10,20,30,40};
int sum = 0 ;
for (int i = 0; i < arr.length; i++) {
sum +=arr[i];
}
System.out.println(sum);
数组中求最大值
int []array = {100,2300,300,400};
int max = array[0];
for (int i = 1; i <array.length ; i++) {
if(max<array[i]){
max = array[i];
}
}
System.out.println(max);
数组的翻转1:
int []array1 = {100,2300,300,400};
int []array2 = new int[array1.length];
for (int i = array1.length-1,j = 0; i >=0&&j<array2.length;j++, i--) {
array2[j] = array1[i];
}
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i]);
}
数组的翻转2:
int []array1 = {100,2300,300,400,100};
int []array2 = new int[array1.length];
int temp;
long time1 = System.currentTimeMillis();
for (int i = 0,j = array1.length-1; i <j; i++,j--) {
temp =array1[i];
array2[i] = array1[j];
array2[j] =temp;
}
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i]);
}
生成随机的排名
int []arr = new int[5];
int i1 ,temp;
Random random = new Random();
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
for (int i = 0; i < arr.length; i++) {
i1 = random.nextInt(arr.length);
temp = arr[i];
arr[i] = arr[i1];
arr[i1] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
求1-n的和
public static int sum(int n){
int sum = 0;
for (int i = 0; i <=n; i++) {
sum+=i;
}
return sum;
}
判断奇偶
public static boolean sum(int n) {
if (n % 2 == 0) {
return true;
} else {
return false;
}
}
public static double buy_ticket(int month,double price,int type) {
if(month>=5&&month<=10)
{
type = 1;
}
else {
if(month>12){
System.out.println("月份错误");
return -1.0;
}
type = 0;
}
switch (type){
case 1:price*=0.9;
break;
case 0:price*=0.7;
break;
}
return price;
}
public static double average(int n){
double sum = 0,temp = 0,temp_max = 0,temp_min = 0;
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < n; i++) {
temp = scanner.nextInt();
sum+=temp;
if(i ==0){
temp_max = temp;
temp_min = temp;
}
else {
if (temp>temp_max)
{
temp_max =temp;
}
if (temp<temp_min)
{
temp_min =temp;
}
}
}
sum-=temp_max;
sum-=temp_min;
return sum/=(n-2);
}
加密:
public static String password(int n )
{
byte [] temp = new byte[n];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < n; i++) {
temp[i] =scanner.nextByte();
temp[i]+=5;
temp[i]%=10;
}
byte []array = new byte[temp.length];
byte temp1;
for (int i = 0,j = temp.length-1; i <j; i++,j--) {
temp1 =temp[i];
array[i] = temp[j];
array[j] =temp1;
}
String s = new String(array);
return s;
}
抢红包
public static void hongbao(int n, int arr[]){
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < n; i++) {
int temp = scanner.nextInt();
if(temp>n){
System.out.println("没有那么多个红包,只有"+n+"个红包");
i--;
continue;
}
if(temp<=0){
System.out.println("没有负数红包哦");
i--;
continue;
}
if(arr[temp-1]!=0){
System.out.println("你取走了第"+(temp)+"个红包");
arr[temp-1] =0;
}
else {
System.out.println("第"+(temp)+"个红包已经被取走了");
System.out.println("请重新输入");
i--;
}
}
System.out.println("红包已经被抢走了哦");
}
判断素数
public static boolean get(int n){
for (int i = 2; i < Math.sqrt(n); i++) {
if(n%i == 0){
return true;
}
}
return false;
}
九九乘法表
for (int i = 1; i <=9; i++) {
for(int j =1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+'\t');
}
System.out.println(' ');
}
双色球和验证码没有做