最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

【JavaSe,Day06,Note】

运维笔记admin18浏览0评论

【JavaSe,Day06,Note】

【JavaSe,Day06,Note】

ArrayTest

/*

  • 一、数组的概述
  • 1.数组的理解:数组(Array),是多个相同类型数据按照一定顺序类型的集合,并使用一个名字命名,
  • 并通过编号的方式对这些数据进行统一管理。
  • 2.数组相关的概念:
  • 数组名

  • 元素

  • 角标、下标、索引

  • 数组的长度:元素的个数

  • 3.数组的特点:
  • 1)数组是有序排列的
  • 2)数组属于引用数据类型的变量。数组的元素既可以是基本数据类型,也可以是引用数据类型。
  • 3)创建数组对象会在内存中开辟一整块连续的空间
  • 4)数组的长度一旦确定,就不能修改
  • 4.数组的分类:
  • ①按照维数:一维数组、二维数组、…
  • ②按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
  • 5.一维数组的使用
  • ①一维数组的声明和初始化
  • ②如何调用数组的指定位置的元素
  • ③如何获取数组的长度
  • ④如何遍历数组
  • ⑤数组元素的默认初始化值:见ArrayTest1.java
  • ⑥数组的内存解析
    */
public class ArrayTest {public static void main(String[] args) {//1.一维数组的声明和初始化int num;//声明num = 10;//初始化int id = 1001;//声明+初始化int[] ids;//声明//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行ids = new int[] {1001,1002,1003,1004};//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行String[] names = new String[5];//1.3类型推断:也是正确的写法:int[] arr4 = {1,2,3,4,5};System.out.println(arr4);//[I@45fe3ee3//错误的写法:
//		int[] arr1 = new int[];
//		int[5] arr1 = new int[5];
//		int[] arr3 = new int[3] {1,2,3};//总结:数组一旦初始化完成,其长度就确定了//2.如何调用数组的指定位置的元素:通过角标的方式调用。//数组的角标(或索引)从0开始的,到数组的长度-1结束。names[0] = "王明";names[1] = "王鹤";names[2] = "张学良";names[3] = "孙巨龙";names[4] = "王宏志";//charAt(0)
//		names[5] = "周扬";//3.如何获取数组的长度。//属性:lengthSystem.out.println(names.length);//5System.out.println(ids.length);//4.如何遍历数组
//		System.out.println(names[0]);for(int i = 0;i < names.length;i++){System.out.println(names[i]);}}}

ArrayTest1

/*

  • ⑤数组元素的默认初始化值
  • 数组元素是整型(byte short int long):0

  • 数组元素是浮点型(float double):0.0

  • 数组元素是char型:0或’\u0000’,而非’0’

  • 数组元素是Boolean型:false

  • 数组元素是引用数据类型:null

  • ⑥数组的内存解析
    */
public class ArrayTest1 {public static void main(String[] args) {//5.数组元素的默认初始化值int[] arr = new int[4];for(int i = 0;i < arr.length;i++) {System.out.println(arr[i]);}System.out.println("*************");double[] arr1 = new double[5];for(int i = 0;i < arr1.length;i++) {System.out.println(arr1[i]);}System.out.println("*************");char[] arr2 = new char[5];for(int i = 0;i < arr2.length;i++) {System.out.println(arr2[i]);}System.out.println("*************");boolean[] arr3 = new boolean[5];for(int i = 0;i < arr3.length;i++) {System.out.println(arr3[i]);}System.out.println("*************");String[] arr4 = new String[5];for(int i = 0;i < arr4.length;i++) {System.out.println(arr4[i]);}}
}

ArrayTest2

/*

  • 二维数组的使用
  • 1.理解:
  • 对于二位数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
  • 其实,从数组底层的运行机制来看,没有多维数组。
  • 2.二维数组的使用:
  • ①二维数组的声明和初始化
  • ②如何调用数组的指定位置的元素
  • ③如何获取数组的长度
  • ④如何遍历数组
  • ⑤数组元素的默认初始化值:见ArrayTest3.java
  • ⑥数组的内存解析:见ArrayTest3.java
    */
public class ArrayTest2 {public static void main(String[] args) {//1.二维数组的声明和初始化int[] arr = new int[]{1,2,3};//一维数组:静态初始化String[] arr2 = new String[3];//一维数组:动态初始化//静态初始化int[][] arr3 = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};//动态初始化1String[][] arr4 = new String[3][2];//动态初始化2String[][] arr5 = new String[3][];//类型推断:也是正确的写法int[][] arr6 = {{1,1,1},{2,2,2},{3,3,3},{4,4,4}};int[] arr7[] = new int[2][3];//错误的情况
//		String[][] arr6 = new String[][4];
//		String[4][3] arr7 = new String[][];
//		int[][] arr8 = new int[4][3] {{1,1,1},{2,2,2},{3,3,3},{4,4,4}};//2.如何调用数组的指定位置的元素System.out.println(arr3[0][1]);//2System.out.println(arr4[1][1]);//nullarr5[1] = new String[4];System.out.println(arr5[1][0]);//3.获取数组的长度System.out.println(arr3.length);//3System.out.println(arr3[0].length);//3System.out.println(arr3[1].length);//4//4.如何遍历二维数组for(int i = 0;i < arr3.length;i++) {for(int j = 0;j < arr3[i].length;j++) {System.out.print(arr3[i][j] + " ");}System.out.println();}}
}

ArrayTest3

/*

  • 二维数组的使用:
  • 规定:二维数组分为外层数组的元素,内层数组的元素
  •  int[][] arr = new int[4][3];
    
  •  外层元素:arr[0],arr[1]等
    
  •  内层元素:arr[0][0],arr[1][2]等
    
  • ⑤数组元素的默认初始化值
  • 针对于初始化方式一:比如:int[][] arr = new int[4][3];
  •  外层元素的初始化值为:地址值
    
  •  内层元素的初始化值为:与一维数组初始化情况相同
    
  • 针对于初始化方式二:比如:int[][] arr = new int[4][];
  •  外层元素的初始化值为:null
    
  •  内层元素的初始化值为:报错(空指针异常)
    
  • ⑥数组的内存解析

*/

public class ArrayTest3 {public static void main(String[] args) {int[][] arr = new int[4][3];System.out.println(arr[0]);//[I@45fe3ee3System.out.println(arr[0][0]);//0System.out.println(arr);//[[I@4cdf35a9System.out.println("****************");float[][] arr1 = new float[4][3];System.out.println(arr1[0]);//[F@4c98385cSystem.out.println(arr1[0][0]);//0.0System.out.println("****************");String[][] arr2 = new String[4][3];System.out.println(arr2[0]);//[Ljava.lang.String;@3f8f9dd6System.out.println(arr2[0][0]);//nullSystem.out.println("****************");double[][] arr3 = new double[4][];System.out.println(arr3[0]);//null
//		System.out.println(arr3[0][0]);//报错:空指针异常}
}

Exer

ArrayDemo

public class ArrayDemo {public static void main(String[] args) {int[] arr = new int[] {8,2,1,0,3};int[] index = new int[] {2,0,3,2,4,0,1,3,2,3,3};String tel = "";for(int i = 0;i < index.length;i++) {tel += arr[index[i]];}System.out.println("联系方式:" + tel);//18013820100}
}

ArrayDemo1

import java.util.Scanner;
public class ArrayDemo1 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.print("请输入学生人数:");int peopleNumber = scan.nextInt();int[] scores = new int[peopleNumber];System.out.println("请输入" + peopleNumber + "个成绩:");int maxScore = 0;for(int i = 0;i < scores.length;i++) {scores[i] = scan.nextInt();if(maxScore < scores[i]){maxScore = scores[i];}}
//		int maxScore = 0;
//		for(int i = 0;i < scores.length;i++) {
//			if(maxScore < scores[i]){
//				maxScore = scores[i];
//			}			
//		}System.out.println("最高分是:" + maxScore);
//		char[] grades = new char[peopleNumber];char grade;for(int i = 0;i < scores.length;i++) {if(scores[i] >= maxScore - 10) {grade = 'A';}else if(scores[i] >= maxScore - 20) {grade = 'B';}else if(scores[i] >= maxScore - 30) {grade = 'C';}else {grade = 'D';}System.out.println("student " + i + " score is " + scores[i] + " grade is " + grade );}
//		for(int i = 0;i < scores.length;i++) {
//			System.out.println("student " + i + " score is " + scores[i] + " grade is " + grades[i] );
//		}}
}
发布评论

评论列表(0)

  1. 暂无评论