Java自学笔记(3)

一堆数组声明

一堆数组的声明方式:

type var[]或type[] var;

例如:

int a[];

int[] a1;

double b[];

Mydate[] c;//对象数组

一堆数组的初始化

动态初始化:数组声明且为数组元素分配空间赋值的操作分开进行

int[] arr=new int[3];
arr[0]=3;
arr[1]=9;
arr[2]=8;

静态初始化:在定义数组的同时就为数组元素分配空间并赋值。

int a[]=new int[]{3,9,8};
int[] a={3,9,8};

数组元素的引用

定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;

数组元素的引用方式:数组名[数组元素的下标]

        数组元素的下标可以是整型常量或整形表达式。如a[3],b[i],c[6*i];

        数组元素下标从0开始;长度为n的数组合法下标取值范围:0->n-1;如int a[]=new int a[3];可引用的数组元素为a[0]、                a[1]、a[2]

每个数组都有一个属性length指明它的长度,例如:a.length指明数组a的长度(元素个数)

        数组一旦初始化,其长度是不可变的

数组元素的默认初始化

数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量相同的方式被隐式初始化。例如:

public class Test{
    public static void main(String argv[]){
        int a[]=new int[5];
        System.out.println(a[3]);//a[3]的默认值为0
    }
}

使用动态初始化的时候,数组的元素会有默认值,数字类型的默认值是0,对象的默认类型是null

多维数组

二维数组[][]:数组中的数组
格式1(动态初始化):int[][] arr=new int[3][2];

定义了名称为arr的二维数组

二维数组中有三个一维数组

每一个一维数组中有2个元素

一维数组的名称分别为arr[0],arr[1],arr[2]

给第一个一维数组1脚标位赋值为78写法是:arr[0][1]=78;

格式2(动态初始化):int[][] arr=new int[3][];

二维数组中有三个一维数组

每一个一维数组都是默认初始化值null(注意:区分于格式1)

可以对这三个一维数组分别进行初始化

arr[0]=new int[3]; arr[1]=new int[1]; arr[2]=new int[2];

注:

int[][] arr=new int[][3];//非法

int[][] ii=new int[][]{
    {1,2},
    {4,2}
};
int[][] ii0=new int[2][3];//第一维部分的长度是2,第二维也就是第一维的每个元素的长度是3
//{
//    {1,23,4},
//    {2,4,6}
//}
格式3(静态初始化):int[][] arr=new int[][]{{3,8,2},{2,7},{9,0,1,6}};

定义一个名称为arr的二维数组,二维数组中有三个一维数组

每一个一维数组中具体元素也都已初始化

第一个一维数组arr[0]={3,8,2};

第二个一维数组arr[1]={2,7};

第三个一维数组arr[2]={9,0,1,6};

第三个一维数组的长度表示方式:arr[2].length;

>注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。

>Java中多维数组不必都是规则矩阵形式

冒泡排序

排序思想:

相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其他的数进行类似操作。

数组操作常见问题

(编译时不报错)

数组下标越界异常(ArrayIndexOutOfBoundsException)

int[] arr=new int[2];

System.out.println(arr[2]);

访问到了数组中不存在的脚本时发生。

空指针异常(NullPointerException)

int[] arr=null;

System.out.println(arr[0]);

arr没有引用指向实体,却在操作实体中的元素时。

3.1 面向对象与面向过程

·面向对象(OOP)与面向过程(POP)

>二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为。面型对象,将功能封装进行对象,强调具备了功能的对象。

>面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。

·面向对象的三大特征

>封装(Encapsulation)

>继承(Inheritance)

>多态(Polymorohism)

OOP:Object Oriented Programming

面向过程:procedure oriented programming

类的语法格式

修饰符 class 类名{

        属性声明;

        方法声明;

}

说明:修饰符public:类可以被任意访问

        类的正文要用{ }括起来

举例:

public class Person{

        public int age;        //声明公有变量age

        public void showAge(){//声明方法showAge()

                System.out.println(age);

        }

}

创建Java自定义类

步骤:

1、定义类(考虑修饰符、类名)

2、编写类的属性(考虑修饰符、属性类型、属性名、初始化值)

3、编写类的方法(考虑修饰符、返回值类型、方法名、形参等)

对象的创建和使用

>使用new+构造器创建一个新的对象;

>使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);

举例:

public class Animal{
    public int legs;
    public void eat(){
        System.out.println("Eating.");
    }
    public void move(){
        System.out.println("Move.")
    }
}
public class Zoo{
    public static void main(String args[]){
        Animal xb=new Animal();
        xb.legs=4;
        System.out.println(xb.legs);
        xb.eat();
        xb.move();
    }
}

3.3 类的成员之一:属性

·语法格式:

        修饰符 类型 属性名=初值;

        >说明:修饰符private:该属性只能由该类的方法访问。

                    修饰符public:该属性可以被该类以外的方法访问。

                    类型:任何基本类型,如int、boolean和任何类。

·举例:

public class Person{

        private int age;        //声明private变量age

        public String name="Lila";        //声明public变量name

}

补:变量的分类:成员变量与局部变量

·在方法体外,类体内生成的变量称为成员变量。

·在方法体内部声明的变量称为局部变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 狂神是Java培训领域中的知名人物,他所开设的Java课程备受关注和好评。在Java学习过程中,配套笔记是至关重要的。狂神所说的Java配套笔记,就是他自己编写的一份针对Java初学者的笔记。这份笔记内容详实,包括Java基础语法、面向对象编程、据库操作等多个方面。并且,狂神还会根据学员的反馈及时修改和完善这份笔记Java配套笔记对于Java学习的初学者来说,是一份非常好的辅助资料。通过这份笔记,初学者可以系统地学习Java编程涉及到的各个方面,同时也可以在学习过程中及时记录下重要的知识点,方便日后复习和查询。同时,这份笔记编写者是一位经验丰富的Java教育者,他对Java的理解和知识点的讲解都非常到位和深入浅出。 总之,Java配套笔记是一份非常重要的学习资料,它不仅可以帮助初学者更好地学习Java编程,还可以对Java学习者在日后的实际工作中提供有效的参考和帮助。如果你想学好Java,一份好的Java配套笔记绝对是必不可少的。 ### 回答2: 狂神说Java配套笔记是非常好的学习资料,对于刚学习Java的初学者来说尤其有用。这些笔记详细介绍了Java编程的一些基础知识,例如类型、变量、循环结构、方法等。而随着学习的深入,笔记也逐渐开始讲解Java中的高级特性,例如面向对象编程、异常处理等。 狂神说Java配套笔记的另一个优点是非常易于理解和学习。这些笔记使用了简单易懂的语言和生动的示例来阐述概念,使得学习者可以快速入门。此外,笔记中还包含了大量的练习题,可以帮助学习者巩固所学知识和加深理解。 除了配合视频课程使用,狂神说Java配套笔记也可以作为一个独立的学习资料来使用。学习者可以通过自学的方式来学习Java编程,掌握Java编程的基础知识和实践技能。 总之,狂神说Java配套笔记是一份非常优秀的学习资料,无论是初学者还是有一定Java基础的学习者都可以从中受益。学习者只需要按照笔记的步骤一步一步地学习,就可以轻松掌握Java编程的基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值