core java day02 总结
1、数组:
(1)数组的定义
数组是内存中的一块连续的存储空间
数组是一次性定义多个相同类型的变量
(2)定义一个数组:
int[] a; //定义一个数组,变量名就是指向数组首地址的指针
a=new int[10]; //为数组分配空间,分配了长度为10,int类型的数组空间,把首地址赋值给a,数组长度一旦确定不能改变
一个数组在java中就是一个对象,数组是一个没有方法,只有属性的对象。
a.length; //得到数组的长度
访问数组元素:
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
数组元素有默认值:默认值是各式各样的0
数组元素默认值规则:
int 0
long 0l
float 0f
double 0d
boolean false
对象数组 null(空指针)
(3)初始化:
int[] i = {0,1,2,3}; //显示初始化
(4)二维数组:
定义二维数组:int[][] a=new int[3][4] 3行4列
java中的二维数组其实是一维数组,一维数组的元素又是个一维数组
1) 有效定义
int[][] a = new int[2][3]; (同时给定一维,二维的空间)
遍历二维数组:for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
int[][] b = new int[3][]; (给定一维的空间,二维空间待定,不规则的二维数组,只有java中有,C++没有)
b[0] = new int[2];
b[1] = new int[4];
b[2] = new int[3];
2) 无效定义
int[][] i1 = new int[][3]; //不能不指定行数
3) 显示初始化二维数组
int[][] c={{1,2,3,4}{5,6,7,8}{9,8,7,6}};
3) 数组长度
int[] b = new int[5];
int len = b.length; //len = 5;
int[][] a = new int[4][6];
len = a.length; //len = 4;
len = a[0].length; //len = 6;
2、面向对象
(1)对象:现实生活中一切客观存在的事物(万物皆对象)
有什么:属性
能做什么:方法,行为
(2)抽象:对具体的对象中抽取有用信息
对象有其固有属性,对象的方法,即对象的行为(对象能做什么)
对象本身是简单的(功能简单),多个对象可以组成复杂的系统(对象之间彼此调用对方的方法)
(3)面向对象的优点
1)对象应当是各司其职(功能简单),各尽所能(把自己的功能作到最好)。(弱耦合性实现了前面所述的对象的特点)
2)对象的弱耦合性,是对象之间的联系
对象的耦合性要尽量的弱,也就是对象之间的联系尽可能的弱
弱耦合是通过标准来实现的
3)可重用性
对象的功能越简单,复用性就越好。(对象的耦合性弱,复用性就比较强)
4)可扩展性
系统的可插入性,是在系统中加入新的对象之后的系统稳定性。
对象的可替换性,是在系统中替换原有的对象之后的系统的稳定性。
(4)面向过程和面向对象的比较
面向过程是先有算法,后又数据结构 --- (怎么解决问题)
面向对象是先有对象(数据结构),后有算法(对象间的方法调用) --- (用什么做)
(5)类的定义:类是对象共性的抽象,是客观事物在人脑中的主观反映,类是对象的模板
1)属性
类型 变量名; --> 实例变量,系统赋初始值
默认值 使用范围 命名冲突
实例变量 系统赋初始值 本类的内部使用 允许实例变量和局部变量发生命名冲突,在命名冲突的时候变量的值->局部优先
局部变量 先赋值后使用 定义他的代码块 同范围内不允许两个局部变量发生命名冲突
2)方法的定义:
不允许方法的声明和实现分开
方法声明(定义,实现)的组成:修饰符 返回值 方法名(参数表)抛出的异常
(a)方法的修饰符(0或多个修饰符,出现的顺序无关)
(b)方法的返回值类型
(c)方法名
(d)方法的参数表
(e)方法中允许抛出的异常
(6)方法重载(overload)
同一个类中方法名相同,参数表不同(指参数的个数,参数的类型,排列顺序)就叫方法重载,与返回值无关
在编译时,编译器会根据参数选择适当的方法,所以重载也叫编译时多态方法重载又叫编译时多态
调用时要给出明确参数并确定调用某一方法。在编译时,编译器会根据参数选择适当的方法,所以重载也叫编译时多态。
** 方法的重载可以屏蔽一个对象同一类方法由于参数不同所造成的差异 **
分享到:
相关推荐
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。
Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...
### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...
《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...
Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。
这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection是所有集合类的顶级接口,它定义了一些基本的操作,如添加元素(add)、获取元素数量(size)、...
【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...
《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...
在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...
### 达内COREJAVA学习笔记知识点详述 #### 一、Java版本与平台概述 - **J2SE**: Java Standard Edition,即Java标准版,针对桌面应用开发。 - **JAVA SE**: 指的是Java SE 5.0,发布于2004年,增加了泛型、枚举等...
CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...
(二)面向对象技术总结.pdf (三)corejava高级特性总结 (四)接口学习总结 (五)异常和内部类 (六)集合框架学习总结 (七)GUI和AWT事件模型 (八)多线程学习总结 (九)输入输出流学习总结 (十)网络编程学习总结
在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...
这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...
java学习笔记 简介: java 学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你...
自己学习corejava核心技术卷一时的学习笔记和心得,提出的一些问题