二维数组的初始化:
格式:数据类型[][]数组名=new 数据类型[][]{{元素1,元素2},{元素1,元素2}};
范例:int [][]arr=new int [][]{(),()};
简化格式:数据类型[][]数组名={(元素1,元素2),(元素1,元素2)};
int [][]arr={(),()};
二维数组的动态初始化
格式:数据类型[][]数组名=new 数据类型[m][n];
m表示这个二维数组,可以存放多少个一维数组;n表示每一个一维数组,可以存放多少个元素
例:
int [][]arr=new int[3][5];
表示二维数组的长度为3,有三个一维数组
表示每一个一维数组的长度都是5,可以装5个int类的函数
arr[0][0]=10;//表示把10赋值给第一个数组的0索引
== 的作用:
基本类型:比较值是否相等
引用类型:比较内存地址值是否相等
类和对象
类:是共同特征的描述。
对象:是真实存在的具体实例。
对象的定义:
public class 类名{
成员变量;(代表属性的,一般是名词)
成员方法;(代表行为的,一般是动词)
}
类名 对象名=new 类名();
!!:1.类名首字母大写,需要见名知意
2.一个Java文件中可以有很多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名
3.成员变量的完整定义格式:修饰符 数据类型 变量名称=初始化值;一般无需指定初始化值,存在默认值
引用数据类型:类,接口,数组,String(默认值是null)
封装:
对象代表什么,就封装得到对应的数据,并提供数据对应的行为
1.
package javaDemo2;
public class GirlFriend {
private int age;
public String name;
private String gender;
//针对每个私有的变量,都要提供get和set方法
//set方法:给成员变量赋值
//get方法:对外提供成员变量的值
//给成员变量name赋值
public void setName(String n) {
name=n;
}
//对外提供name属性
public String getName() {
return name;
}
//age
//setage是给输出变量age进行赋值的
//getage是对外提供成员变量age的值
public void setage(int a) {
if(a>=18&&a<=50) {
age=a;
}else {
System.out.println("非法参数");
}
}
public int getage() {
return age;
}
public void setgender(String s){
gender=s;
}
public String getgender(){
return gender;
}
public void eat() {
System.out.println("haohaochi");
}
public void sleep() {
System.out.println("bieanye");
}
}
2.package javaDemo2;
public class GirlFriendText {
public static void main(String[]args) {
GirlFriend gf1=new GirlFriend();
gf1.setName("dilireba");
gf1.setage(18);
gf1.setgender("beautiful");
System.out.println(gf1.getName());
System.out.println(gf1.getage());
System.out.println(gf1.getgender());
gf1.eat();
gf1.sleep();
}
}
private关键字是一个权限修饰符,可以修饰成员变量和成员方法,被private修饰的成员只能在本类中才能访问
提供setXxx,用于给成员变量赋值,用public修饰
提供getXxx,用于获取成员变量的值,方法用public修饰
this可区分成员变量和局部变量
构造方法也叫构造器,构造函数
作用:在创建对象的时候给成员变量进行赋值
格式:
public static Student{
修饰符 类名(参数){
方法体;
}
}
1.方法名与类名相同,大小写也要一致
2.没有返回值类型,连void都没有
3.没有具体的返回值(不能由return待会返回数据)