JavaSE学习笔记(Day4)
2021/11/1 20:11:00
本文主要是介绍JavaSE学习笔记(Day4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数组
-
定义: 数组是相同数据类型元素的集合
- 数组本身也是引用类型,即对象。但是数组既可以存储基本数据类型,也可以存储引用类型、
-
数组的声明:
- 数据类型 [ ] 数组名字 例如:int [ ] a;
- 数组的名字 [ ] 例如: int a [ ];
- 推荐使用第一种,以免混淆数组的类型
-
声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认 的初始化值
int[] ary0 = new int[10];
-
声明数组并分配内存,同时将其初始化
int[] ary1 = new int[]{1, 2, 3, 4, 5};
-
与前一种方式相同,仅仅只是语法相对简略
int[] ary2 = {1,2,4,5,6};
数组还可以分为静态和动态两种
动态初始化数组`
import java.util.Scanner; public class test{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int []a = new int[10]; for (int i = 0; i < 10; i++) { a[i] = scanner.nextInt(); } } } // 这样就做到了对数组元素的赋值
静态初始化数组
int [] num = new int []{1,2,3,4,5}
- 数组的长度用 数组名.length 表示
num.length
数组元素的访问:
-
数组名字[索引] 例如: a[0],a[1];
数组的索引从0开始索引的数据类型是整型
索引的最大值和数组长度始终差1
数组的迭代(遍历数组)
- 第一种 for循环
int [] b1 = new int[]{1,2,3,4,5,6,7}; for(int i = 0 ; i < b1.length; i++){ System.out.println(b1[i]); }
- 第二种 增强for循环
int [] b1 = new int []{1,2,3,4,5,6,7}; for(数组元素的类型 临时变量名字 :数组的名字){ System.out.println(临时变量名字 ); } 即: for(int x:b1){ System.out.println(x); }
代码示例
package day4; import java.util.Arrays; public class Shuzu { public static void main(String[] args) { int [] a = {1,2,3,4,5,6,7}; float [] c = {1,2,4,5,6,7}; for (int i = 0; i <4 ; i++) { System.out.println(a[i]); } int [] b = new int[10]; char [] d = {'d','f'}; System.out.println(b); //如果数组为空数组,则输出数组会打印出数组的地址 System.out.println(Arrays.toString(b)); //用 Arrays类里面的toString方法 可以字符串化输出数组; System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(c)); System.out.println(Arrays.toSting(d)); } }
简单排序方法:
冒泡排序
package day5; import java.util.Arrays; //冒泡排序 public class maopao{ public static void swap(int []arr , int a,int b){ //swap方法 int tmp = arr[a]; arr[a] = arr[b]; arr[b] = tmp; } public static void main(String[] args) { int [] a={3,5,2,1,8,7,5,8,9}; for (int i = 0; i < a.length-1; i++) { //外层循环控制判断的趟数 for (int j = 0; j < a.length-1-i; j++) { //内层循环控制相邻数的比较 if(a[j]>a[j+1]){ //判断大小,将小的数字放到数组的前面 swap(a, j, j+1); } } } System.out.println(Arrays.toString(a)); //输出数组 } }
选择排序
package day5; import java.util.Arrays; public class Xuanze { //未优化版 /* 4 5 3 1 2 4 5 3 1 2 3 5 4 1 2 1 5 4 3 2 */ public static void main(String[] args) { int []a = {4,5,3,1,2,7,8,2,4,5}; for (int i = 0; i < a.length-1; i++) { for (int j = i+1; j<a.length-1; j++) { // j = 1 j < 4 i == 0; if(a[i]>a[j]){ //第一个数大于后面的数字 , i 每次向右挪一位,j从i挪动的那一位的下一位开始计算 int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } System.out.println(Arrays.toString(a)); } }
二维数组
-
二维数组中的每一个元素都是一个一维数组
例:
int [][]a = {{1,2,3},{4,5,7},{9,10,11}};
-
二维数组的声明方式和一维数组相似
int [][]a = new int[][]{{1,2,3},{1,2,3},{1,2,3}};
int [] [] b = {{1,2,3},{1,2,3},{1,2,3}};
int [][] c = new int[3][5]; int[][] arr = new int[3][5];—定义了一个整型的二维数组 ,这个二维数组有3
个一维数组,每一个一维数组包含5个元素代码示例
package day6; import java.util.Arrays; public class shuzu2 { public static void main(String[] args) { //int [] a = new int[3]; // char [][] a = new char[][]; int [][] a = {{1,3,2},{3,5,4},{4,5,7}}; for (int i = 0; i < a.length;i++) { for (int j = 0; j < a[i].length; j++) { System.out.print(a[i][j]+" "); } System.out.println(); } } }
- 运行结果:
代码示例2
package day6; public class Qipan { public static void main(String[] args) { char [][] a = new char[11][11]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { a[i][j] = '+'; } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.print(a[i][j]+" "); } System.out.println(); } } }
这篇关于JavaSE学习笔记(Day4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30java最新版本是什么,有什么特性?-icode9专业技术文章分享
- 2024-11-30[开源]27.8K star!这款 Postman 替代工具太火了!
- 2024-11-30Gzip 压缩入门教程:轻松掌握文件压缩技巧
- 2024-11-29开源工具的魅力:让文档管理更“聪明”
- 2024-11-29Release-it开发入门教程
- 2024-11-29Rollup 插件入门教程:轻松掌握模块打包
- 2024-11-29从零到一,产品经理如何玩转项目管理和团队协作
- 2024-11-29如何通过精益生产管理工具帮助项目团队实现精准进度控制?
- 2024-11-29低代码应用开发课程:新手入门与基础教程
- 2024-11-29入门指南:全栈低代码开发课程