《day06---面向对象入门》
/*
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---面向对象入门》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- xcode6 AsynchronousTesting 异步任务测试
xcode集成了非常方便的测试框架,XCTest 在xcode6之后,提供了 <XCTest/XCTestCase+AsynchronousTesting.h> 利用此我们可以直接在XCT ...
- 使用分布式数据库集群做大数据分析之OneProxy
一.十亿数据,轻松秒出 实时监控领域有两个显著的特点,一是数据来源很多而且数据量大,有来自监控摄像头.GPS.智能设备等:二是需要实时处理.我们的客户在做实时处理时,就遇到这样的问题.客户的某个数据表 ...
- 【NOIP2015】推销员
推(chuan)销员 分析 这里主要阐述一下我的分析思路. 看起来挺直观的. 最初的想法,我们枚举每一个最远点mxp的位置,然后对之前的a进行排序. 那么以mxp为最远点,选x个的最大疲劳值为: 这样 ...
- 阿里Linux Shell脚本面试25个经典问答
转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...
- [saiku] 配置saiku实时展现查询数据
缘起: 在默认的情况下,saiku是不能对数据进行实时展现的,只能通过刷新按钮或者重启服务器来刷新数据 这样以来会有很多的麻烦,每天得手动去刷新,这个操作只有管理员可以操作,在刷新以前客户看到的都是缓 ...
- ubuntu环境变量添加变量
1.sudo gedit /etc/profile打开环境变量文件夹 2.在文件末尾另起一行输入要加入的环境变量 格式: export XXXXXX=XXXXXX 3.重启 OK
- MySQL 加锁处理分析
1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2P ...
- 编码规范<1>
目录: 1 排版 2注释 3标识命名 4可读性 1排版 1-1程序使用UTF-8的编码方式 1-2使用空格作为缩进 , 尽量不要使用tab 1-3相对独立的程序块之间,变量说明之后必须加空格 . 例如 ...
- response.getWriter().write()与out.print()的区别
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通 ...
- javamail 学习及实例
JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...