二维定义
public static void array_2D_define ( ) {
int [ ] [ ] arr1 = {
{
1 , 2 , 3 } , {
4 , 5 , 6 } } ;
int [ ] [ ] arr2 = new int [ ] [ ] {
{
1 , 2 , 3 } , {
4 , 5 , 6 } } ;
int [ ] [ ] arr3 = new int [ 2 ] [ ] ;
int [ ] [ ] arr5 = new int [ 2 ] [ 3 ] ;
}
二维数组打印
public static void array_2D_printout ( ) {
int [ ] [ ] arr1 = {
{
1 , 2 , 3 } , {
4 , 5 , 6 } } ;
for ( int i = 0 ; i < arr1. length; i++ ) {
for ( int j = 0 ; j < arr1[ i] . length; j++ ) {
System . out. print ( arr1[ i] [ j] + " " ) ;
}
System . out. println ( ) ;
}
System . out. println ( Arrays . toString ( arr1) ) ;
System . out. println ( Arrays . deepToString ( arr1) ) ;
for ( int [ ] tmp : arr1) {
for ( int val : tmp) {
System . out. print ( val + " " ) ;
}
System . out. println ( ) ;
}
}
不规则二维数组
public static void irregular_array_2D ( ) {
int [ ] [ ] arr1 = new int [ 2 ] [ ] ;
arr1[ 0 ] = new int [ 3 ] ;
arr1[ 1 ] = new int [ 2 ] ;
System . out. println ( Arrays . deepToString ( arr1) ) ;
}
public和static修饰的属性与方法如何访问与调用
class Person {
public String name = "智能路障" ;
public int age = 25 ;
public static int size;
public void eat ( ) {
int a = 10 ;
System . out. println ( "eat()" ) ;
}
public void sleep ( ) {
System . out. println ( "sleep()" ) ;
eat ( ) ;
}
public static void func1 ( ) {
System . out. println ( "static func1()" ) ;
size = 99 ;
}
public static void func2 ( ) {
func1 ( ) ;
Person person1 = new Person ( ) ;
person1. sleep ( ) ;
}
public void show ( ) {
System . out. println ( "我是:" + name + ",今年" + age + "岁" ) ;
}
}
private封装
class Student {
private String MyName ;
public int age;
public String getMyName ( ) {
return MyName ;
}
public void setMyName ( String myName) {
this. MyName = myName;
}
public void func1 ( ) {
System . out. println ( "func1()" ) ;
}
@Override
public String toString ( ) {
return "Student{" +
"MyName='" + MyName + '\'' +
", age=" + age +
'}' ;
}
}
总结
打印二维数组 System.out.println(Arrays.toString(arr));//打印行的地址 System.out.println(Arrays.deepToString(arr));//深度打印
for循环双层遍历打印
二维数组定义
int [ ] [ ] arr1 = {
{
1 , 2 , 3 } , {
4 , 5 , 6 } } ;
int [ ] [ ] arr2 = new int [ ] [ ] {
{
1 , 2 , 3 } , {
4 , 5 , 6 } } ;
int [ ] [ ] arr3 = new int [ 2 ] [ 3 ] ;
不规则二维数组问题 C:可以省略行,有了列就可以推导行 java:行必须指定,列不可以推到行 arr栈上指向堆中仅有的两个元素,堆中元素所指向的数据不知则为null,因此无法推出列
在这里插入代码片int [ ] [ ] arr4= new int [ 2 ] [ ] ;
arr4[ 0 ] = new int [ 3 ] ;
arr4[ 1 ] = new int [ 2 ] ;
System . out. println ( Arrays . deepToString ( arr4) ) ;
arr4[ 0 ] = new int [ ] {
1 , 2 , 3 } ;
arr4[ 1 ] = new int [ ] {
4 , 5 } ;
System . out. println ( Arrays . deepToString ( arr4) ) ;
类和对象
public:访问修饰限定符
private:私有的
protected:首保护的
什么都不写:默认权限–>包访问权限
实例成员变量那些事
1. 字段-- > 成员变量:定义在方法的外边;内的里边。
2. 实例成员变量:在对象里。没有初始化则默认为对用的0 值。3. 引用类型为null ,简单数值类型为0
char -> '\u0000' boolean -> false
4. 静态成员变量不初始化也是默认的0 值。不通过实例化的对象进行访问 类名 . 静态成员变量 [ 无论new 多少次,结果都只有一份]
5. 在静态方法内部无法访问非晶态方法成员
实例方法那些事
public void eat ( ) {
int a = 10 ;
System . out. println ( "eat()!" ) ;
}
public void sleep ( ) {
System . out. println ( "sleep()!" ) ;
}
public static void func1 ( ) {
System . out. println ( "static func1!" ) ;
}
public void show ( ) {
System . out. println ( "我是:" + name + ", 今年" + age + "岁" ) ;
}
封装private
封装:用private 修饰属性或方法
this :当前对象的 引用[ 要习惯使用this
没有特殊要求,属性设置为private
快捷键设置set与get是alt+ insert
class Student {
public String name;
public int age;
private int id;
public void func1 ( ) {
System . out. println ( id) ;
}
public int getId ( ) {
return id;
}
public void setId ( int id) {
this . id = id;
}
public void show ( ) {
System . out. println ( "我是" + this . name+ "今年" + this . age+ "岁,ID是" + this . id) ;
}
}