变量
概念
可以改变的数,称为变量。一般通过三部分来描述一个变量。变量类型,变量名,变量值。其中三部分都是可以改变的,根据需要来确定即可。
变量的使用原则:就近原则。尽量控制到最小范围
局部变量
定义在方法里,或者局部代码块中。 注意:必须手动初始化,来分配内存。如:int i=5;
作用域也就是方法里或者局部代码块里,方法运行完内存就释放了
成员变量
定义在类里。 注意:不用初始化,也会自动被初始化成默认值。 作用域是整个类中,类消失了,变量才释放
例子:
public class Test {
//1、成员变量:在类里方法外是
//作用范围就是整个类里
//可以不初始化,也会有默认值
int age = 20;
int sum = 30;
public static void main(String[] args) {
//2局部变量:在方法里是
//作用范围就是方法里,出了这个方法就不认识了
//必须初始化
int sum = 10;
System.out.println(sum);//10
//3、变量的就近原则,附近有同名的会去执行最近的
System.out.println(sum);//10
}
}
方法
概述
被命名的代码块,方法可以含参数可以不含参数 可以提高代码的复用性
格式
修饰符 返回值 方法名(【参数】){
方法体;
}
方法的重载
概念
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)。
程序调用方法时,可以通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法
例子:
public class Test{
public static void main(String[] args) {
int a=10;
int b=20;
String name="lisi";
c1();
c1(a);
c1(a,b);
c1(a,b,name);
}
private static void f1(int a, int b, String name) {
System.out.println(a+b+name);//30name
}
private static void f1() {
System.out.println("f1()");
}
private static void f1(int a) {
System.out.println(a);
}
private static void f1(int a, int b) {
System.out.println(a+b);
}
}
数组
概念
数组Array是用于储存多个相同类型数据的集合。 想要获取数组中的元素值,可以通过元素的下标来获取,下标是从0开始的
创建数组
一般分为动态初始化和静态初始化
动态初始化:
int[] a = new int[5];
新建int[],长度是5
刚创建好的数组都是默认值0,int类型的数据默认值是0
把数组的地址值给变量a保存
静态初始化:
int[] a ={1,2,3,4,5,6,7,8};
或
int[] a =new int[]{1,2,3,4,5};
例子:
将数组中存入hello
public class Test{
public static void main(String[] args) {
b1();
}
private static void b1() {
int[] i = new int[]{1,2,3,4,5};
System.out.println(Arrays.toString(i));
char[] a = new char[5];
a[0]='h';
a[1]='e';
a[2]='l';
a[3]='l';
a[4]='o';
System.out.println(Arrays.toString(a));
}
}
数组长度
length属性获取数组长度
数组一旦创建,长度不可变
允许0长度的数组
数组的遍历
从头到尾,依次访问数组的位置
格式
for(int i=0;i<a.length;i++){
syso(a[i]);
}
例:
遍历数组,存入1到10
public class Test7 {
public static void main(String[] args) {
a1();
}
private static void a1() {
int[] arr=new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i]=i+1;
}
System.out.println(Arrays.toString(arr));
}
}
数组工具类Arrays
Arrays.toString(数组)
把数组里的数据,用逗号连接成一个字符串。
格式:[10, 14, 20, 46, 51]
Arrays.sort(数组)
对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。 对引用类型数组,使用优化后的合并排序算法
Arrays.copyOf(数组,新的长度)
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。–数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。–数组的缩容
例:
int[] a = Arrays.copyOf(arr, 10);//数组的复制,大于原来长度相当于扩容
System.out.println(Arrays.toString(a));//[12, 30, 20, 90, 34, 0, 0, 0, 0, 0]
System.out.println(a.length);//10
int[] a2 = Arrays.copyOf(arr, 3);//数组的复制,晓宇原来长度相当于截取前几个数据
System.out.println(Arrays.toString(a2));//[12, 30, 20]
System.out.println(a2.length);//10
微信公众号:程xu猿