Java 基础2

2018-04-08  本文已影响60人  寥寥十一

1.Java数组

数组的创建

int(数据类型)[] arr(数组类型变量) = new int[10(数组的长度)];

数组的初始化

基本类型的数组创建后,其元素的初始值:byte、shortchar、int、long为0;floatdouble为0.0;booleanfalse
可以在数组声明的同时进行初始化,例
int[] arr = {10,23,30,-10};
但此种方式只能用于声明时的吃石化,不能用于赋值。

数组的赋值
int[]arr
arr = new int[] {10,23.54}; //元素的个数即为数组的长度
数组的访问
   int len = arr.length; //获取数组的长度
   可以通过下标的方式访问数组中的每一个元素,下标从0开始,范围:0 ~ n-1
   int tmp = arr[2];

2.Java方法

方法的声明

方法用于封装一段特定的逻辑功能。方法的主要要素有:方法名、参数列表和返回值。

...(修饰符) long(返回值类型) fac1(方法名) (int n)(参数列表) {
  //方法体
}
方法要素---返回值

方法调用结束后可以返回一个数据,称之为返回值。
方法在声明时必须指定返回值的类型。
如果没有返回值,需将返回值的类型声明为void。
通过return语句返回,return语句的作用在于结束方法且将数据返回。

方法要素---参数列表

方法的参数是指:在调用时传递给方法,需要方法处理的数据。
在方法定义时需要声明该方法所需要的参数变量。

3.基础算法

Arrays核心API

JDK中的java.utils.Arrays 类提供对数组操作的一些列的方法。
Arrays.toString 方法用于字符串表示数组的元素。
Arrays.equals 方法用于比较两个数组的各个元素是否相等。
Arrays.sort 方法用于实现数组的排序。
Arrays.binarySearch 方法用于实现有序数组的二分法查找。找到后返回元素的下标值,没有返回负数。y有多个相等元素时不确定返回哪一个。

   int[] arr1 = {12,34,67,23,67,45,67};
   int[] arr2 = {12,34,23,67,46};
   System.out.println(Arrays.toString(arr1)); //[12, 34, 67, 23, 67, 45, 67]
   System.out.println(Arrays.equals(arr1,arr2)); //false
   Arrays.sort(arr1);
   System.out.println(Arrays.toString(arr1)); //[12, 23, 34, 45, 67, 67, 67]
   int index = Arrays.binarySearch(arr1,67);
   System.out.println(index); //5 或 2 或 7
    System.arraycopy(arr1,0,arr2,1,3);
    System.out.println(Arrays.toString(arr2)); //[12, 12, 23, 34, 46]
String[] names = {"Ocsdf","Kojff","Pkfjjg","Ghddg","Fcsdf","Vojff","Skfjjg","Zhddg","Lgjgd","kevin"};
String[] names1 = names;
names = new String[names.length + 1];
System.arraycopy(names1,0,names,0,names1.length);
names[10] = "Kenny";
System.out.println(Arrays.toString(names));
 //[Ocsdf, Kojff, Pkfjjg, Ghddg, Fcsdf, Vojff, Skfjjg, Zhddg, Lgjgd, kevin, Kenny]
 
 String[] names = {"Ocsdf","Kojff","Pkfjjg","Ghddg","Fcsdf","Vojff","Skfjjg","Zhddg","Lgjgd","kevin"};
 names = Arrays.copyOf(names,names.length+1);
 names[10] = "Zhou";
 System.out.println(Arrays.toString(names));
  //[Ocsdf, Kojff, Pkfjjg, Ghddg, Fcsdf, Vojff, Skfjjg, Zhddg, Lgjgd, kevin, Zhou]

二进制基础

上一篇下一篇

猜你喜欢

热点阅读