目录
数组:
定义:在内存中开辟一连串的空间存储数据。
要求:空间中存储的数据类型要保持一致
数组的长度一旦声明是不可以改变的。
语法:
方式一:
int [] 数组名 =new int[长度];
int 数组名[] =new int[长度];
数组的下标是从0开始
数组名[0]=数值1;
数组名[1]=数值2;
如:
public class Shuzu {
//声明一个数组
String [] names = new String[3];
/*//或者
String names [] = new String[3];*/
names[0] = "张三";
names[1] = "李四";
names[2] = "王五";
}
方式二:
int [] 数组名= new int[]{数值1,数值2,数值3};
如:
public class Shuzu {
//声明一个数组
String [] names = new String[3]{"张三","李四", "王五"};
}
方式三:
int [] 数组名={数值1,数值2,数值3};
如:
public class Shuzu {
//声明一个数组
String [] names = {"张三","李四", "王五"};
}
对象:
由属性和方法组成
类:
是抽取对象中共同的属性和方法来组成
使用: 发现类、声明类【编写属性和方法】
测试:创建对象:类名 对象的引用 = new 类名();
给属性赋值:对象的引用.属性名 = 值;
调用方法: 对象的引用.方法名();
方法:
语法:
访问修饰符 返回值类型 方法名(){}
如:
public void show(){}
如果返回值类型非void就是表示有返回值,有返回值的情况,就必须得有return,return后面的数据类型必须要和方法中声明的返回值类型保持一致。
如:
public int method(){
return 0;
}
方法的调用:
1.同类方法的调用:
如:
class Student{ // 创建一个Student类
void a(){} // 创建方法a
void b(){ // 创建方法b
a();// 调用同类中的方法
}
}
2.不同类方法的调用:
如:
class A{ //创建一个A类
void a(){} // 创建方法a
}
class B{ //创建一个B类
//在类中调用其他类中的方法需要先创建对象再使用对象名点的方式调用
void b(){ //创建方法b
A t = new A(); // 创建对象
t.a(); // 调用方法a
}
}
方法的使用场景:
①一个参数的使用方法(方法如上)
②多个参数的使用方法
如:
public class Jiafa {
//加法 方法
public double sum(double s1,double s2){ //定义两个变量
double str=s1+s2; //定义double类型变量str
return str;
}
public static void main(String[] args) {
Jiafa jia = new Jiafa(); //创建对象
double he=jia.sum(1,2); //调用方法并赋值给double类型变量he
System.out.println("合:"+he); //输出两数相加之合
}
}
③数组作为参数的方法
如:
public class Shuzu {
//声明一个数组
String [] names = new String[20];
//输入学生姓名的方法
public void addName(String name){
//遍历数组
for(int i=0;i<names.length;i++){
if(names[i]==null){ //判断语句,满足条件就将name存在数组中
names[i]=name;
break;
}
}
}
//显示用户输入的姓名的方法
public void showName(){
//遍历数组
for(int i=0;i<names.length;i++){
if(names[i]!=null){
System.out.print(names[i]+" ");
}
}
}
}
④对象作为参数的方法
如:
public class Student{
String name;
int age;
double score;
}
public void show(){
System.out.print("姓名:"+name+"\t年龄:"+age+"\t成绩:"+score); // "\t"表示空格
}
public class TestStudent{
public static void main(){
Student student = new Student(); //创建对象
student.name = "张三";
student.age = 20;
student.score = 97.5;
student.show(); //调用方法
}
}
变量的作用域:
1.种类
全局变量:是声明在类以内方法以外的位置的变量
局部变量:声明在方法内部的变量
如:
public class TestBian {
//全局变量
int a=20;
int b;
public void show(){
//局部变量
int a=30;
System.out.println(a);
}
public static void main(String[] args) {
TestBian t = new TestBian();
t.show();
}
}
2.区别
相同点:
都是用来接收用户输入的值
都会在内存中开辟对应大小的空间
不同点:
全局变量:全局变量有默认值;全局变量可以在方法中有重名的变量
局部变量:局部变量没有默认值;在同一个方法中不可以有重名的变量
3.使用:就近原则