这一周学习的是java数组面向对象

数组中存放的数据的类型:既可以是基本数据类型也可以是引用数据类型。

数组的定义方式:

1 数据类型[] 数组名;

2 数据类型 数组名[];

数组的初始化:

1.静态初始化:

结构:

数据类型[] 数组名 = {元素1,元素2,元素3,......};

数据类型 数组名[] = {元素1,元素2,元素3,......};

2.动态初始化

数据类型[] 数组名 = new 数据类型[指定数组的元素个数];

取值:数据类型 变量名 =  数组名[元素下标]

赋值(修改): 数组名[元素下标] = 值

使用注意点:

如果是静态初始化数组,需要将f定义和初始化一起完成。

数组的遍历:

1.lenght 获取的数组的长度(元素的个数)

2.通过循环遍历数组中的元素。

示例:

For (int a =0;a<arr.lenght;a++)

{

System.out.println(arr[a])

}

For (int a : arr)

{

System.out.println(a);

}

数组的排序操作

选择排序有又可以成为直接排序: 将数组中的每一个元素依次和数组中其他的元素做比较,将符合条件的进行交换。

示例: 定义一个int数组,想将数组中的最大值移动到首位

for(int j = 0 ;j<arr.length-1;j++){

for(int i = j+1;i<=arr.length-1;i++){

if(arr[i] > arr[j]){

int temp = arr[j];

arr[j] = arr[i];

arr[i] = temp;

}

}

}

for(int a : arr){}System.out.println(a);}

冒泡排序

冒泡排序:将数组中相邻的两个数依次做比较,将大的数放在最后面

示例: 通过冒泡排序操作, 找出最大的值放在最后面

public static void main(String[] args)

{

int[] arr = {2,10,13,9,4,8,3,11};

for(int j = arr.length-1;j>0;j--){ //0-5

for(int i = 0;i<j;i++){

if(arr[i] > arr[i+1]){

int temp = arr[i];

arr[i] = arr[i+1];

arr[i+1] = temp;

}

}

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

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

}

}

Array类

常用的方法:

  1. Sort(int[]a)                     升序排列
  2. toString(int[]a)                                       将数组以一个字符串打印出来
  3. binarySearch(int[]a.int key)                用二分法查找数据

Sort(int[]a)方法示例;

Int []arr={1.3.4.56.5}

Arrays.sort.(arr);

遍历数组:fo(int i :arr){System.out.println(i);}

toString(int[]a) 方法示例;

Int []arr={1.3.4.56.5}

遍历数组:System.out.println(Arrays.toString(arr));

binarySearch(int[]a.int key)方法示例;

Int []arr={1.3.4.56.5}

Arrays.sort.()arr;

Int a=Arrys.binarySearch(arr,3)  3 是需要查找的数字

a = 返回的是找到的数字的下标

如果没有找到返回的将是一个负数

Java 多维数组

一维数组: int a []={1,2,3,4}

二维数组:int a [][]={{1,2,3,4}{1,2,3,4}}

三维数组:int a [][][]={{1,2,3,4}{1,2,3,4}{1,2,3,4}}

多维数组:int a [][][]…….= {{1,2,3,4}{1,2,3,4}{1,2,3,4},………..}

多维数组就是数组中的数组

比如:二维数组中的元素是一维数组

定义方式:

Int[一维数组][二维数组]……..数组名

初始化方式

静态:int a [][]={{},{},{}}

动态:int a [][]=new int[3][4]

多维数组的取值和赋值

分为静态初始化数组取值赋值和动态初始化取值

Java 面向对象

概念

面向对象:是以事物为中心的编程过程.

对象的组成:属性和方法

类: 通过对象的共有特点和行为所抽象出来的模子。类是没有具体的行为和属性。

对象: 就是类的一个具体实例。通过属性和方法来描述的。

1.Java 中定义类

通过关键字 class , java编程是以类为基本单元。

定以类的格式:

class 类名 {

属性(对象的特征),成员变量

行为(方法)

方法的定义格式:

返回值类型: 指的就是数据类型。  void ---> 空类型

参数列表  : 可有可无。

返回值类型  方法名 (参数列表){

}

}

2.创建对象:

Java 中创建对象都是通过new对象来完成

结构 :

new 类的名字();

需要定义一个该类型的变量来接收

类的类型  对象名 =  new 类的名字();

赋值属性:

对象名.属性名字  = 值;

取值:

数据类型 变量名 = 对象名.属性名

方法的调用:

对象名.方法名();

3.类中方法的定义和使用

一.java 中通过参数分类

1.有参定义法: 小括号中的参数可以有一个或者多个,多个参数之间用”,隔开

2.无参定义法: 小括号中不要任何东西。

二.java中通过返回值类型分类

1.有返回值型: 方法体后面加return

2.无返回值型: void 空类型

今天就写到这里吧,一周学习的东西挺多的,好多东西的具体应用还没有完全理解透,以后慢慢的再练习!

java第三周学习的更多相关文章

  1. 20165210 Java第三周学习总结

    20165210 Java第三周学习总结 教材学习内容总结 - 第四章学习总结 编程语言的几个发展阶段: 面向机器语言 面向过程语言 面向对象语言 类: 类声明: class People { ... ...

  2. 20145304 Java第三周学习报告

    20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...

  3. JAVA第三周学习总结

    20175303 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 •编程语言的发展分为三个阶段,分别是:面向机器,面向过程,面向对象的语言.Java属于面向对 ...

  4. JAVA 第三周学习总结

    20175308 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 本周的学习内容为整个第四章的内容,学习中感觉知识点既多又杂,故在总结时尽量选用重要的或高度概 ...

  5. 20165221 JAVA第三周学习心得

    知识点回顾 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.java中类是基本要素,类声明的变量叫对象.在类中定义体的函数题叫方法. 类与程序的基本结构: ...

  6. Java第三周学习日记

    Day01 1.线程 进程:进程就是正在运行的应用程序.进程负责了内存空间的划分. 线程:一个进程中的代码是由线程去执行的,线程也就是其中一个执行路径. 多线程:一个进程中有多个线程可以同时执行任务. ...

  7. 201521123093 java 第三周学习总结

    1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 本周学习总结: ...

  8. 20165220 Java第三周学习总结

    1.教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例 为个别对象的数据成员指定值的方式是:对象.对象成员 注意“一类一文件” 类在定义时要使用关键词 ...

  9. 20165326 java第三周学习笔记

    纸质学习笔记 代码托管

随机推荐

  1. python generator next send

    *******oi********oi********oi 上面  *  符号 代表 一系列的代码, oi 代表 一个 [yield]关键字引出的 [数据交换,称之为 oi ] 在一个有[yield] ...

  2. Json CPP 中文支持与入门示例

    在每一个Json Cpp自带*.cpp文件头加上: #include "stdafx.h" 将Json Cpp对自带的头文件的引用修改为单引号方式,例如json_reader.cp ...

  3. html和html5详解

    最近看群里聊天聊得最火热的莫过于手机网站和html5这两个词.可能有人会问,这两者有什么关系呢?随着这移动互联网快速发展的时代,尤其是4G时代已经来临的时刻,加上微软对"XP系统" ...

  4. safari cookie设置中文失败

    最近用H5进行手机端开发,由于是window操作系统,为了方便开发和调试,直接在chrome浏览器上进行测试,然后在android机上进行手机端测试,当功能基本完工后,原来在android上运行正常的 ...

  5. 天猫魔盒远程安装APP

    从前的小米盒子299给了父母用,前段时间天猫搞活动,99撸了一个天猫魔盒,天猫亲爹阿里真是有钱任性.由于广电总局各种规定,当然也有盒子厂商的利益,默认很多片是需要付费观看的,而且也看不了电视直播.所以 ...

  6. BI解决方案分享:地产BI数据分析系统的建设

    近几年中国地产行业发展迅猛,行业整合已成大势所趋,逐步由区域开发转变为集团化的跨地区综合开发商.然而,对于处在超常规速度发展的房地产企业来说,其面临的挑战也是超常规的.企业要在有限的资金和人力条件下, ...

  7. 你必须知道的HTTP错误

    发送网络请求有时失败,分析一下响应行,在响应的响应行内,你会发现响应行由三部分组成,用空格来隔开,HTTP/1.1 404 NOT FOUND,第一个是响应的HTTP的版本,第二个和第三个是状态值. ...

  8. 自定义UITableViewCell实现左滑动多菜单功能LeftSwipe

    今天愚人节,小伙们,愚人节快乐! 实现一个小功能,滑动菜单,显示隐藏的功能菜单, 先上图:                       这里尝试用了下使用三个方式来实现了这个功能: 1.使用自定义UI ...

  9. iOS编码规范

      The official raywenderlich.com Objective-C style guide.   This style guide outlines the coding con ...

  10. (九)Maven坐标详解

    Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等.为了能自动化的解析任何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就 ...