美文网首页
2019-03-01

2019-03-01

作者: 沫忘丶 | 来源:发表于2019-03-18 08:43 被阅读0次

// 数据类型

/*1.基本数据类型:byte short int long float double char boolean

*2.引用数据类型:①类 (String Scanner Random Math..)②接口 ③数组

* 数组:1它能保存一组数据类型相同的数据,我们把数组保存的数据成为元素 2定长(固定长度)

* 如何声明,创建一个数组

*/

//声明

// int arr[] ;

// new: 开辟堆内存的操作符

int arr[] = new int[5]; //5代表的是数组长度 运行过程中不可变

//数据元素的访问--通过索引值(下标值) 下标值从0开始,长度为n的数组,下标值从0到n-1

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

System.out.println(arr[3]);

System.out.println(arr[4]);

}

double arr[] = new double[4];

System.out.println(arr[0]);

arr[0] =1.2;

System.out.println(arr[0]);

//1.数组有默认值 (整型 0 浮点型0.0 字符型\u0000 不二选哪个false 字符串行null

//2.长度必须指定

//2.new关键字

char arr1[] = new char[3];

arr1[0] = 'a';

int arr[] = new int[5];

int newarr[] = arr;

arr[1] = 11;

System.out.println(newarr[1]);

//数组创建方式

// 1.

int arr1[] = new int[3];

arr1[0] = 1;

arr1[1] = 3;

arr1[2] = 9;

// 2.

int arr2[] = new int[] {1,3,9};

// 3.

int arr3[] = {1,3,9};

//注意:一些错误的声明方式

// int arr[5] = new int[];

// int arr2[] = new int[3] {1,3,9};

// int arr[3] = {1,3,9};

}

// 数组的遍历 将数组当中元素逐个取出来

int arr[] = {4,7,23,5,8,9,0,-5};

// 数组长度

System.out.println(arr.length);

//遍历

for(int i = 0;i<arr.length;i++) {

System.out.println(arr[i]);

}

String str[] = {"a","b","c","d","e","f","g"};

System.out.println(str.length);

for(int a = 0;a<str.length;a++) {

System.out.println(str[a]);

}

// 二维数组,数组当中存数组

int arr1[] = {1,2,3,4,5};

int arr2[][] = {

{1,2,3},

{4,5},

{6,7}

};

int arr[][]= new int[3][];//前面的括号代表长度,后面括号无影响

// 将一个数组逆序打印

// int arr1[] = new int[] {1,2,3,4,5};

// for(int i=arr1.length-1;i>=0;i--) {

// System.out.println(arr1[i]);

// }

// 将一个数组中的元素逆序存放

int arr2[] = new int[] {1,2,3,4,5};

for(int i=0;i<arr2.length;i++) {

if(i+1 == arr2.length-(i+1)){

arr2[i]=arr2[arr2.length-(i+1)];

}

System.out.println(arr2[i]);

// 模拟35选7 生成七个不同的1-35之间的数字

boolean b[] = new boolean[35];//35个false

Random ran= new Random();

for(int i = 0;i<7;i++) {

//生成一个1-35之间的数字

int num = ran.nextInt(35)+1;

//判断是否生成过,到b在各个数组中检查下标为num-1对应元素是否为true

if(b[num-1]) {

i--;

}

else {

//表示生成过

b[num-1]=true;

System.out.println(num);

}

}

// 编写一个长度为5的整型数组,每个元素赋值为0-10的随机整数,

// 遍历该数组,输出每个元素。

Random ran = new Random();

int arr[] = new int[5];

for (int i = 0; i < arr.length; i++) {

arr[i] = ran.nextInt(11);

System.out.println(arr[i]);

}

public static void main(String[] args) {

int[][]arr1 = new int[3][];

arr1[0]=new int[3];

arr1[0][0] = 10;

arr1[0][1] = 11;

arr1[0][2] = 12;

arr1[1]=new int[1];

arr1[1][0] = 20;

arr1[2]=new int[2];

arr1[2][0] = 30;

arr1[2][1] = 31;

// int arr2[][] = new int[][] {{10,11,12},{20},{30,31}};

// int []arr3[] = {{10,11,12},{20},{30,31}};

//二维数组的遍历

for(int i = 0;i<arr1.length;i++) {

for(int j = 0;j<arr1[i].length;j++) {

System.out.print(arr1[i][j]+" ");

}

System.out.println();

}

}

// 数组的排序

int arr[] = {12,1,55,7,89,32};

//1.冒泡排序

for(int i = 1;i<arr.length;i++) {

for(int j = 0;j<arr.length-i;j++) {

if(arr[j]<arr[j+1]) {

int a;

a = arr[j];

arr[j] = arr[j+1];

arr[j+1] = a;

}

}

}

for(int num :arr) {

System.out.println(num);

}

//2.选择排序

for(int i = 0;i<arr.length-1;i++) {

for(int j = i+1;j<arr.length;j++) {

if(arr[i]>arr[j]) {

int temp;

temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

for(int num :arr) {

System.out.println(num);

}

// 快速排序

// int arr[] = {12,1,55,7,89,32};

// Arrays.sort(arr);

// for(int num :arr) {

// System.out.println(num);

// }

//数组复制

int arr1[] = {1,2,3,4,5};

int arr2[] = {6,7,8,9,10,11,12,13,14,15};

System.arraycopy(arr1, 2, arr2, 2, 3);

for(int num :arr2) {

System.out.println(num);

}

相关文章

网友评论

      本文标题:2019-03-01

      本文链接:https://www.haomeiwen.com/subject/xapmmqtx.html