《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 安装并启动 ...
随机推荐
- C++ 迭代器介绍 [转摘]
转摘地址为:http://blog.chinaunix.net/uid-20773165-id-1847758.html 迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭 ...
- C 语言字符串连接的 3种方式
C 语言字符串连接的 3种方式 #include<stdio.h> #include<stdlib.h> #include<string.h> char *join ...
- java 多线程1
进程: 线程: 多线程: 假象:只是CPU在做快速的切换 多线程的好处: 1.解决了一个进程里面可以同时运行多个任务(执行路径) 2.提高资源利用率,而不是效率. 多线程的弊端: 1.降低了一个进程里 ...
- 例题:输入您的出生日期,判断你的星座,主要练习使用datetime类及if else语句。很实用
while (true) { Console.WriteLine("请输入您的生日(年-月-日)");//提示输入 string x = Console.ReadLine();// ...
- Django开发博客- 部署
安装Git Git是一个被大量程序员使用的”版本控制系统”.此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本. windows系统下面可以下载git-scm安装.除了第5步”Adj ...
- IFE 百度前端技术学院 2016年春季班作业 第一阶段任务(1-4)的总结
具体任务详细介绍可参考http://ife.baidu.com/task/all 具体代码参考:https://github.com/sunshineqt/webxt/tree/master/stag ...
- mvc学习记录
1.关于mvc中的session在controller中传递 在用mvc开发新项目的时候,不久就遇到一个头大的问题,session在controller中传递居然出现空值,但明明一开始就赋值了,通过度 ...
- 盘点十大最流行的Linux服务器发行版
随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充.很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用.但伴随着Linux新版本的发行,其中每一个不同版本的L ...
- list列表类型
list类型最典型的应用场景是做队列,相当于C#中的Queue(一般用ConcurrentQueue)队列. 我们可以使用lpush,lpop,rpush,rpop这四个命令来实现,如下图.
- 使用SoundPool播放音效
针对应用程序经常需要播放密集.短促的音效,因为MediaPlayer存在如下缺点: 1.资源占用量较高.延迟时间较长. 2.不支持多个音效同时播放. SoundPool使用音效池的概念来管理多个短促的 ...