/*
java开发流程:思路。 案例:对数组操作。获取最大值。
思路:
1,一组数,要获取最大值,比较。
2,怎么比较?挨个比较,要获取数组中的每一个数据都要比较。
3,比较完,记录下来比较大的数据,并用这个较大的数据和下一个
数据进行比较。
4,如果所有的数据都比较完,那么最后记录的较大的值就是最大值。 步骤:
1,需要一个类。
2,这个类需要独立运行,必须要有main方法。
3,需要有一个数组。
4,每一次较大的数据都有可能不同,需要一个变量。
5,把数组中的数都获取出来。需要遍历。
6,在遍历过程中,需要比较,判断。
7,每满足一次判断条件,就用变量记录较大的值。变量存储。
*/ //代码:
//1,需要一个类。
class ArrayDemo
{
//2,这个类需要独立运行,必须要有main方法。
public static void main(String[] args)
{
//3,需要有一个数组。
int[] arr = {23,12,18,0,1,9,56}; //4,每一次较大的数据都有可能不同,需要一个变量。
int maxValue = arr[0]; //初始化为数组中的任意一个元素。 //5,把数组中的数都获取出来。为了比较。需要遍历。
for(int i = 1;i<arr.length;i++)
{
//6,在遍历过程中,需要比较,判断。
//7,每满足一次判断条件,就用变量记录较大的值。变量存储。
if(arr[i] > maxValue)
{
maxValue = arr[i]; //只要遍历到的元素大于了maxValue,就用
//maxValue记录那个较大的值。
}
}
//8,一旦遍历结束,maxValue中存储的就是该数组中的最大值。
//9,为了显示出最大值,告诉使用者。输出语句。
System.out.println("最大值;"+maxValue);
}
} /*
案例2:又来了一个数组。还要获取最大值。复制代码并改变变量。麻烦。
既然代码不变,为什么不提高这段代码的复用性呢? 复用性。
Java中代码变成一个整体,通过函数体现的。所以函数就是一个类中的功能。
*/
class ArrayDemo2
{
//主函数。(主函数是用来测试功能的。)
public static void main(String[] agrs)
{
int[] arr2 = {23,12,18,0,1,90,56}; //获取最大值,需要一个功能。
int maxValue2 = getMaxValue(arr2);
System.out.println("maxValue2:"+maxValue2);
} //功能。
public static int getMaxValue(int[] arr)
{
int maxValue = arr[0]; for(int i = 1;i<arr.length;i++)
{
if(arr[i] > maxValue)
{
maxValue = arr[i];
}
}
//将最大值返回。
return maxValue;
}
} /*
案例3;继续升级。有很多的类中都有数组。都需要获取其最值。 将操作最大值的功能单独封装到一个类中。
这样使用这个功能只要找到功能所属的类就可以了。 所有的功能都在对象中,只要找到了对象,就可以使用这些功能了。
*/ class ArrayDemo3
{
public static void main(String[] agrs)
{
int[] arr3 = {23,12,180,0,1,90,56}; ArrayTool tool = new ArrayTool(); //获取最大值。
int maxValue3 = tool.getMaxValue(arr3);
System.out.println("maxValue3:"+maxValue3); //int maxVlaue3 = ArrayTool.getMaxValue(arr3); //获取最小值。
int minValue = tool.getMinValue(arr3);
System.out.println("minValue:"+minValue);
}
} class ArrayTool
{
//获取最大值。
public static int getMaxValue(int[] arr)
{
int maxValue = arr[0]; for(int i = 1;i<arr.length;i++)
{
if(arr[i] > maxValue)
{
maxValue = arr[i];
}
}
return maxValue;
} //获取最小值。
public /*static*/ int getMinValue(int[] arr)
{
//code...
return 0;
} //二分查找。折半查找法。
public /*static*/ int binarySearch(int[] arr,int key)
{
//code...
return 0;
}
}

《day06---面向对象入门》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. xcode6 AsynchronousTesting 异步任务测试

    xcode集成了非常方便的测试框架,XCTest 在xcode6之后,提供了 <XCTest/XCTestCase+AsynchronousTesting.h> 利用此我们可以直接在XCT ...

  2. 使用分布式数据库集群做大数据分析之OneProxy

    一.十亿数据,轻松秒出 实时监控领域有两个显著的特点,一是数据来源很多而且数据量大,有来自监控摄像头.GPS.智能设备等:二是需要实时处理.我们的客户在做实时处理时,就遇到这样的问题.客户的某个数据表 ...

  3. 【NOIP2015】推销员

    推(chuan)销员 分析 这里主要阐述一下我的分析思路. 看起来挺直观的. 最初的想法,我们枚举每一个最远点mxp的位置,然后对之前的a进行排序. 那么以mxp为最远点,选x个的最大疲劳值为: 这样 ...

  4. 阿里Linux Shell脚本面试25个经典问答

    转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...

  5. [saiku] 配置saiku实时展现查询数据

    缘起: 在默认的情况下,saiku是不能对数据进行实时展现的,只能通过刷新按钮或者重启服务器来刷新数据 这样以来会有很多的麻烦,每天得手动去刷新,这个操作只有管理员可以操作,在刷新以前客户看到的都是缓 ...

  6. ubuntu环境变量添加变量

    1.sudo gedit /etc/profile打开环境变量文件夹 2.在文件末尾另起一行输入要加入的环境变量 格式: export XXXXXX=XXXXXX 3.重启 OK

  7. MySQL 加锁处理分析

    1    背景    1 1.1    MVCC:Snapshot Read vs Current Read    2 1.2    Cluster Index:聚簇索引    3 1.3    2P ...

  8. 编码规范<1>

    目录: 1 排版 2注释 3标识命名 4可读性 1排版 1-1程序使用UTF-8的编码方式 1-2使用空格作为缩进 , 尽量不要使用tab 1-3相对独立的程序块之间,变量说明之后必须加空格 . 例如 ...

  9. response.getWriter().write()与out.print()的区别

    1.首先介绍write()和print()方法的区别:  (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等  (2).print():可以将各种类型(包括Object)的数据通 ...

  10. javamail 学习及实例

    JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...