三、java数组

主要内容:数组概述、一维数组声明、数组元素的引用、数组元素的默认初始化、创建数组、数组初始化、多维数组、多维数组初始化、数组排序

1.数组概述

数组是多个相同类型数据的组合,实现对这些数据的统一管理。

数组中的元素可以是任何数据类型,包括基本类型和引用类型。

数组属于引用类型,可以理解为对象(Object),数组中的每个元素相当于该对象的成员变量。

数组一旦初始化,长度不可变。

2.一维数组声明

一维数组的声明方式: type  var[] 或 type[]  var;

例如:

int a[];

int[] a1;

double  b[];

Mydate []c;   //对象数组

单独声明数组时不能指定其长度(数组中元素的数), 例如: int a[5];    //非法

3.数组元素的引用

Java中可以使用关键字new创建数组对象

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

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

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

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

数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 至 n-1

4.数组元素的默认初始化

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

public class Test {

public static void main(String argv[]){

int a[]= new int[5];

System.out.println(a[3]); //a[3]的默认值为0

}

}

5.创建数组

Java中使用关键字new 创建数组对象

int[] scores=new int[]{99,88,77,55,22};

*分配空间

语法:数组名=new 数据类型[数组长度]

例:int scores[];

scores=new int[5];

合并:int scores[]=new int[5];

6.数组初始化

动态初始化:数组定义与为数组元素分配空间并赋值的操作分开进行。

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

补充:数组名.length用于获取数组长度

*输出scores数组的元素

for(i=1;i<=scores.length;i++){

System.out.println(scores[]);

}

7.二维数组

声明并分配空间:数据类型[][]数组名=new数据类型[行数][列数]

int[][] num=new int[2][3];

或:int[][] num;

num=new int[2][3];

8.使用Arrays类操作java中数组

(使用Arrays类必须使用import java.util.Arrays;

public class Account{}导入包)

(1)排序:Arrays.sort(数组名);

(2)将数组转换为字符串:Arrays.toString(数组名);

(3)foreach操作数组:语法:for(元素类型 元素变量:遍历对象)

{执行代码}

9.冒泡排序

基本语法实例:

public static void PubbleSort(int[] array){

int temp;

for(int x = 0; x < array.length - 1; x++ ){for(int y = 0; y < array.length - 1 - x; y++){

if(array[y] > array[y+1]){                  temp = array[y];

array[y] = array[y+1];

array[y+1] = temp;

}

}

}

for(int z = 0; z < array.length ; z++){

System.out.print(array[z]+" ");

}

}

10.for-Each语句(用来遍历数组中所有元素)

一般语法:for(数据类型 变量:遍历对象){

执行语句}

示例:

一般访问一个数组使用的格式:

int sum=0;

int[] nums={1,2,3,4,5,6,7,8,9};

for(int i=0;i<nums.length;i++){

sum+=nums[i];

}

使用for-Each语句遍历:

int sum=0;

int[] nums={1,2,3,4,5,6,7,8,9};

for(int i:nums){

sum+=i;}

访问多维数组语法:

int nums[][]=new int[5][5];

for(int x[]:nums)

for(int y:x)

//对元素进行操作

四、类和对象

主要内容:

类和对象、信息的封装和隐藏、构造方法、方法的重载、this 关键字、package/import语句

面向对象三特征:封装、继承、多态性

1.类(class)和对象(object):是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。

2.定义类:

语法格式:

[< 修饰符>] class < 类名> {

[<属性>]

[<构造器>]

[<方法>]

}

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

类的正文要用{  }括起来

举例:

public class  Person{

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

public void setAge(int i) { //定义公有方法setAge

age = i;

}

}

3.对象可通过属性“attribute”和方法“method”来分别对应事物的静态属性和动态属性。

4.属性——对象具有的各种特征

定义属性:

语法格式:

[<修饰符>]  类型  < 属性名> [=初值] ;

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

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

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

举例:

public class Person{

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

public String name =“Jack”; //声明public变量 name

}

属性有时也称为:数据成员(数据),成员变量(变量)

5.定义方法:

语法格式:

<修饰符> <返回类型> <方法名>([< 参数表>]) {

[< 语句>]

}

说明: 修饰符:public,private,protected 等。

返回类型:return语句传递返回值。没有返回值:void。

举例:

public class Person{

private int age;

public int getAge()  { return age; }

public void setAge(int i) {

age = i;

}

}

6.对象的创建和使用

使用new+构造方法创建一个新的对象;

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

创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员。

示例:

class TestPerson

{

public static void main(String[] args)

{

Person p1 = new Person();

Person p2 =new Person();

p1.age = 20;

p1.shout();

p2.shout();

}

}

java总结第二次//数组及面向对象的更多相关文章

  1. Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流

    #Java基础测试 涉及知识点:数组,面向对象,重载,重写,继承,集合,排序,线程,文件流 一.多项选择题(可能是单选,也可能是多选) 1.下列标识符命名不合法的是(   D  ). A.$_Name ...

  2. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

  3. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  4. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  5. JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想

    JAVA之旅(三)--数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组 1.概念 数组就是同一种类型数据的集合,就是一个容器 数组的好 ...

  6. 第二十四节:Java语言基础-讲解数组的综合应用

    数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...

  7. java的第二个实验——JAVA面向对象程序设计

    java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实     验    报     告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩:      ...

  8. 201771010123汪慧和《面向对象程序设计Java》第二周学习总结

    一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言 ...

  9. JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

    JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买 ...

随机推荐

  1. JQuery:JQuery操作CSS类

    JQuery:CSS类jQuery - 获取并设置 CSS 类,通过 jQuery,可以很容易地对 CSS 元素进行操作.jQuery 操作 CSSjQuery 拥有若干进行 CSS 操作的方法.我们 ...

  2. ThreadLocal 多线程并发,数据隔离

    ThreadLocal:  创建一个线程本地变量. 本质:在ThreadLocal类中有一个Map,用于存储每一个线程的变量的副本. 优点:既实现多线程并发,游兼顾数据的安全性. 区别:Synchro ...

  3. PHP如何解决网站大流量与高并发的问题

    首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻 ...

  4. php中对2个数组相加的函数

    <?php function array_add($a,$b){ //根据键名获取两个数组的交集 $arr=array_intersect_key($a, $b); //遍历第二个数组,如果键名 ...

  5. myeclipse中的web项目导入到eclipse中注意事项,项目部署到tomcat后无法访问jsp文件

    打开eclipse,点击空白处,右键可以看到import>general>existing projects into workspace>next>选择你的myeclipse ...

  6. js实现svg图形转存为图片下载

    我们知道canvas画布可以很方便的js原生支持转为图片格式并下载,但是svg矢量图形则并没有这方面原生的支持.研究过HighChart的svg图形的图片下载机制,其实现原理大体是浏览器端收集SVG代 ...

  7. javaScirpt学习之事件

    一.事件的添加和删除 不同浏览器,不同DOM级别,添加和删除事件的方法也不同,具体可以参见后面的EventUtil元素. 二.事件对象 在事件处理程序中,浏览器会为之传入一个event对象,该对象的常 ...

  8. Java jaxp查询节点

    <?xml version="1.0" encoding="UTF-8"?> <person> <p1> <name& ...

  9. iOS UICollectionView之-(水平滚动)

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  10. ASP.NET MVC Template

    http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html http://st ...