日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java数组最大下标_【Java视频教程】day09-面向对象

發(fā)布時(shí)間:2025/3/20 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java数组最大下标_【Java视频教程】day09-面向对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

面向?qū)ο蠼榻B

  • 面向?qū)ο笠?/li>

需求:求數(shù)組{1,2,3,4,8,7,6,5}的最大值;

public static void main(String[] args) {// 需求:求數(shù)組{1,2,3,4,8,7,6,5}的最大值;/** 解決問(wèn)題的思路: 1、明確需求:搞清楚、確認(rèn)清楚,到底要我們做什么事; 2、需求分析:如何實(shí)現(xiàn)需求(這個(gè)事情到底該怎么做);* a:創(chuàng)建一個(gè)數(shù)組,把需求中的數(shù)據(jù)保存到數(shù)組中; b:定義一個(gè)int型變量max,表示最大的值;* c:將數(shù)組中0下標(biāo)的數(shù)據(jù)賦值該上一步的變量,表示默認(rèn)0下標(biāo)數(shù)據(jù)是最大值; d:從1下標(biāo)開(kāi)始遍歷數(shù)組,拿到數(shù)組中每一個(gè)數(shù)據(jù),和變量max的值比較;* 如果變量max中的數(shù)據(jù)比數(shù)組某個(gè)下標(biāo)的數(shù)據(jù)小,就把該下標(biāo)的數(shù)據(jù)賦值給變量max; e:循環(huán)結(jié)束,變量max中就是要求的最大值* 3、編碼實(shí)現(xiàn):具體開(kāi)始做事情; 4、測(cè)試:執(zhí)行代碼,看看事情到底有沒(méi)有做成、有沒(méi)有問(wèn)題;*/// a:創(chuàng)建一個(gè)數(shù)組,把需求中的數(shù)據(jù)保存到數(shù)組中;int[] arr = new int[] {11,2,3,4,8,7,6,5};// b:定義一個(gè)int型變量max,表示最大的值;int max;// c:將數(shù)組中0下標(biāo)的數(shù)據(jù)賦值該上一步的變量,表示默認(rèn)0下標(biāo)數(shù)據(jù)是最大值;max = arr[0];// d:從1下標(biāo)開(kāi)始遍歷數(shù)組,拿到數(shù)組中每一個(gè)數(shù)據(jù),和變量max的值比較;for (int i = 1; i < arr.length; i++) {// 如果變量max中的數(shù)據(jù)比數(shù)組某個(gè)下標(biāo)的數(shù)據(jù)小,就把該下標(biāo)的數(shù)據(jù)賦值給變量max;if(max < arr[i]) {max = arr[i];}}// e:循環(huán)結(jié)束,變量max中就是要求的最大值System.out.println("數(shù)組中最大值是:" + max);}

隨著時(shí)間往后發(fā)展,可能在一個(gè)類(lèi)中多次需要用到求數(shù)組最大值的功能。

如果每一次出現(xiàn)數(shù)組求最大值的功能,都像上面一樣在寫(xiě)一遍代碼,就很麻煩,而且代碼復(fù)用性差,后期維護(hù)就難;

為了解決這個(gè)問(wèn)題,我們可以使用函數(shù)來(lái)實(shí)現(xiàn):

需求:有可能在不同的程序中都出現(xiàn)這個(gè)功能:求數(shù)組的最大值;

思考:如果可以將函數(shù)抽取出來(lái),放到某一個(gè)地方,然后在提供一種方法,讓所有需要使用這個(gè)函數(shù)的地方都可以調(diào)用這個(gè)函數(shù),就能解決在不同的類(lèi)中出現(xiàn)相同函數(shù)代碼的問(wèn)題;

因?yàn)楹瘮?shù)是定義在類(lèi)中的獨(dú)立代碼,所以要抽出來(lái),也只能放到某一個(gè)類(lèi)中;

問(wèn)題:一個(gè)類(lèi)中不能直接使用其他類(lèi)的函數(shù);如何解決這個(gè)問(wèn)題?

解決辦法:Java中通過(guò) 類(lèi)名.函數(shù)名(實(shí)參) 的方式,可以調(diào)用其他類(lèi)中的函數(shù);

本類(lèi)中:

方法放在了Tools.java這個(gè)類(lèi)中;

在其他類(lèi)中要想調(diào)用,應(yīng)該這么寫(xiě):

Tools.arrayMax(具體的數(shù)組);

像最后這種方式,就使用了面向?qū)ο蟮乃枷?#xff1b;

https://www.zhihu.com/video/1065593352904314880

面向過(guò)程

  • 什么是過(guò)程:

過(guò)程就是做一件事情的先后經(jīng)過(guò);

生活中的過(guò)程:

泡面:1、買(mǎi)面;2、燒開(kāi)水;3、拆包裝,把面放到開(kāi)水中,加入調(diào)料,蓋上;4、吃面;

  • 程序的過(guò)程:

java中的過(guò)程,程序執(zhí)行的先后經(jīng)過(guò),先執(zhí)行哪行,后執(zhí)行哪行;

  • 什么是面向過(guò)程:

就是一種解決問(wèn)題的思想;

使用這種思想解決問(wèn)題,我們關(guān)心的是事情中有哪幾步組成, 然后一步步實(shí)現(xiàn);

使用面向過(guò)程寫(xiě)程序,我們首先要分析需求由那些功能組成,然后寫(xiě)函數(shù)實(shí)現(xiàn)各個(gè)功能,最后根據(jù)需求依次調(diào)用各個(gè)函數(shù);

在這個(gè)過(guò)程中,開(kāi)發(fā)者需要參與到實(shí)現(xiàn)的每一步中,就是勞動(dòng)者;

前面幾天都是按照面向過(guò)程的思想寫(xiě)程序;

面向過(guò)程的好處:在需求簡(jiǎn)單的時(shí)候,程序簡(jiǎn)單明了,結(jié)構(gòu)清晰;

弊端:在需求復(fù)雜的時(shí)候,就會(huì)非常麻煩,開(kāi)發(fā)和維護(hù)都很困難;

面向?qū)ο?/h2>
  • 什么是對(duì)象:

指的是生活中實(shí)際存在的事物;

  • 生活中的對(duì)象:

冰箱;被子;錢(qián);電腦;手機(jī);椅子;桌子;地板;電燈;空氣;霧霾;地球;太陽(yáng);……

  • 什么是面向?qū)ο?#xff1a;

也是一種解決問(wèn)題的思想;

使用這種思想解決問(wèn)題,我們關(guān)心的是事情中有那些參與者;

使用這種思想寫(xiě)程序,首先分析需求有那些功能,然后找有沒(méi)有已經(jīng)實(shí)現(xiàn)好功能的類(lèi),

如果有,就直接拿來(lái),創(chuàng)建它的對(duì)象,通過(guò)對(duì)象調(diào)用功能;

如果沒(méi)有,就需要自己寫(xiě)一個(gè)類(lèi),然后在類(lèi)中書(shū)寫(xiě)實(shí)現(xiàn)功能的函數(shù)【面向過(guò)程】,然后創(chuàng)建這個(gè)類(lèi)的對(duì)象,通過(guò)對(duì)象調(diào)用功能;

面向?qū)ο蟮乃枷?#xff0c;更符合我們現(xiàn)實(shí)生活情況,也更適合開(kāi)發(fā)復(fù)雜的功能;

在面向過(guò)程中,程序的基本單位是函數(shù);面向?qū)ο?#xff0c;程序的基本組成就是類(lèi);

https://www.zhihu.com/video/1065593911182999553

類(lèi)與對(duì)象

  • 類(lèi)
  • 類(lèi)的概念

類(lèi):表示一類(lèi)具有共同屬性和行為的事物,是一種抽象的概念。

例如,生活中我們經(jīng)常說(shuō)的一個(gè)詞,“電話”,指的就是所有具有打電話功能的東西,而不是指代具體某一部電話;

  • 類(lèi)的寫(xiě)法

在Java中采用class關(guān)鍵字定義類(lèi)。定義類(lèi)的格式:

修飾符 class 類(lèi)名{類(lèi)中的內(nèi)容 }

修飾符:public、default(默認(rèn)的)、private、static(內(nèi)部類(lèi)),如果省略不寫(xiě),那就是默認(rèn)的修飾符(default)。

類(lèi)名:必須符合標(biāo)識(shí)符的定義語(yǔ)法要求,同時(shí)還要滿足如果是多個(gè)單詞每個(gè)單詞首字母大寫(xiě)。

類(lèi)中的內(nèi)容:主要根據(jù)類(lèi)的描述信息進(jìn)行具體的書(shū)寫(xiě)。后面詳細(xì)講解。

  • 類(lèi)的成員

一個(gè)類(lèi)可以表示同一類(lèi)事物的共有屬性和功能;

事物的屬性使用類(lèi)中的變量表示,事物的功能使用類(lèi)中的函數(shù)表示;

例如,創(chuàng)建一個(gè)類(lèi)表示人:

class Person{ 年齡; 性別; 姓名; 地址; …… 吃飯 睡覺(jué) 說(shuō)話 ……}

https://www.zhihu.com/video/1065594261700911104

對(duì)象

  • 對(duì)象的概念

在現(xiàn)實(shí)生活中,對(duì)象指的是實(shí)際存在的事物;

在Java中,對(duì)象指的是在堆內(nèi)存中開(kāi)辟的一塊空間;例如數(shù)組就是一個(gè)對(duì)象;

對(duì)象都是根據(jù)類(lèi)創(chuàng)建出來(lái)的;

  • 對(duì)象的創(chuàng)建

Java中對(duì)象的創(chuàng)建,有五種方式:

  • 使用new關(guān)鍵字創(chuàng)建;
  • 使用使用Class類(lèi)的newInstance方法
  • 使用Constructor類(lèi)的newInstance方法
  • 使用clone方法
  • 使用反序列化
  • 其中,最常用、最簡(jiǎn)單的方式,就是使用new關(guān)鍵字創(chuàng)建對(duì)象;

    格式:

  • 創(chuàng)建對(duì)象的方式:
  • new 類(lèi)名();

    對(duì)象的使用

    • 通過(guò)對(duì)象名使用:

    https://www.zhihu.com/video/1065594851201978368

    類(lèi)和對(duì)象的關(guān)系

    類(lèi)是抽象的概念,表示的是同一類(lèi)事物共同的屬性和行為;

    事物的屬性使用類(lèi)中的成員變量表示,事物的行為使用類(lèi)中的函數(shù)表示;

    對(duì)象是根據(jù)類(lèi)的描述在堆內(nèi)存中開(kāi)辟的一塊空間,表示的是一個(gè)具體的事物;

    對(duì)象是根據(jù)類(lèi)創(chuàng)建的,先有類(lèi),后有對(duì)象。類(lèi)是抽象的,對(duì)象是具體的;

    https://www.zhihu.com/video/1065594978910318592

    面向?qū)ο缶毩?xí):

    使用Java代碼描述 貓抓老鼠的場(chǎng)景;

    貓的名字叫湯姆,老鼠的名字叫杰瑞;
    具體的場(chǎng)景輸出應(yīng)該是:
    湯姆看見(jiàn)杰瑞在偷吃奶酪;
    湯姆追杰瑞,杰瑞逃跑;
    湯姆抓住杰瑞,杰瑞叫:啊,要死啦!

    使用面向?qū)ο笏枷虢鉀Q問(wèn)題,

    • 第一步:分析需求,找到對(duì)象;

    找對(duì)象的方法:名詞提煉法;就是觀察需求描述的文字,找到里面的名詞;名詞表示的就是實(shí)際的事物,也就是對(duì)象;

    分析可知,這個(gè)例子中,有三個(gè)對(duì)象:貓;老鼠;奶酪;

    因?yàn)槟汤也粎⑴c其他活動(dòng),所以為了簡(jiǎn)單,這里就用一個(gè)字符串表示奶酪;

    所以需要?jiǎng)?chuàng)建兩個(gè)類(lèi),分別表示貓和老鼠;

    • 第二步:使用偽代碼描述上面找到的對(duì)象;

    描述對(duì)象的原則:只需要描述和需求有關(guān)的屬性和行為;

    偽代碼,就是不是真實(shí)的代碼;就是程序員自己寫(xiě)的自己能看懂的符號(hào),例如中文……

    貓{屬性:名字;行為: 看見(jiàn)(老鼠){老鼠的吃(“奶酪”); } 追(老鼠){老鼠的逃跑(); } 抓住(老鼠){老鼠的叫(“啊,要死啦!”); } } 老鼠{屬性:名字;行為:吃(奶酪){}跑(){}叫(叫的內(nèi)容){} }

    第三步:使用偽代碼描述場(chǎng)景:

    貓 t = new 貓(); 老鼠 l = new 老鼠(); t的名字 = “湯姆”; l的名字 = “杰瑞”;t.看見(jiàn)(l); t.追(l); t.抓住(l);

    第四步:書(shū)寫(xiě)代碼:

    表示貓的類(lèi):

    /*** * Cat* 表示貓的類(lèi)* @author 快學(xué)大數(shù)據(jù)* 2018年6月14日 上午11:51:38*/ public class Cat {String name;/*** 貓看見(jiàn)老鼠的功能* @param m*/public void see(Mouse m) {System.out.print(name + "看見(jiàn)");//老鼠在吃奶酪m.eat("奶酪");}/*** 貓追老鼠的功能* @param m*/public void zhui(Mouse m) {System.out.println(name + "開(kāi)始追"+m.name);//調(diào)用老鼠對(duì)象的方法,表示老鼠在逃跑m.run();}/*** 表示貓抓住老鼠的功能* @param m*/public void catchMouse(Mouse m) {System.out.println(name + "抓住了"+m.name);//調(diào)用老鼠對(duì)象的方法,表示老鼠被抓住后的慘叫m.say("啊,要死啦!");} }

    表示老鼠的類(lèi):

    /*** * Mouse* 表示老鼠的類(lèi)* @author 快學(xué)大數(shù)據(jù)* 2018年6月14日 上午11:52:26*/ public class Mouse {String name;//老鼠的名字/*** 老鼠吃東西的功能* @param food*/public void eat(String food) {System.out.println(name + "在吃" + food);}/*** 老鼠逃跑的功能*/public void run() {System.out.println(name + "正在瘋狂的逃跑……");}/*** 老鼠叫的功能* @param str*/public void say(String str) {System.out.println(name + "大聲的說(shuō):"+str);} }

    模擬場(chǎng)景的類(lèi):

    /*** * Test* 測(cè)試貓抓老鼠的場(chǎng)景類(lèi)* @author 快學(xué)大數(shù)據(jù)* 2018年6月14日 上午11:58:10*/ public class Test {public static void main(String[] args) {//1、先創(chuàng)建一個(gè)貓對(duì)象Cat cat = new Cat();//2、給這個(gè)貓起個(gè)名字cat.name = "湯姆";//3、創(chuàng)建一個(gè)老鼠對(duì)象Mouse m = new Mouse();//4、給這個(gè)老鼠起個(gè)名字m.name = "杰瑞";//調(diào)用方法,輸出場(chǎng)景要求cat.see(m);cat.zhui(m);cat.catchMouse(m);} }https://www.zhihu.com/video/1065595884678664192

    局部變量和成員變量

    • 局部位置:局部是指某個(gè)范圍。例如:方法的大括號(hào)中的這些個(gè)范圍,它就是一個(gè)局部范圍。
    • 成員位置:在定義好類(lèi)之后,在類(lèi)的大括號(hào)內(nèi)部的范圍。
    局部變量沒(méi)有默認(rèn)值,使用之前必須先賦值;
    成員變量的位置在堆內(nèi)存,所以都有默認(rèn)值,使用之前可以先不賦值;

    生命周期(內(nèi)存的聲明周期就是指內(nèi)存的分配到回收):

    • 局部變量:局部變量的內(nèi)存在棧內(nèi)存的方法里面,函數(shù)進(jìn)棧開(kāi)始分配空間;函數(shù)出棧內(nèi)存被釋放;
    • 成員變量:成員變量在堆內(nèi)存中;創(chuàng)建對(duì)象時(shí)分配內(nèi)存;對(duì)象成為垃圾空間被回收時(shí)釋放;
    • 局部變量:在局部范圍中定義的變量,它們?nèi)繉儆诰植孔兞?#xff0c;并且它的使用范圍就在從定義的位置往下到范圍結(jié)束。
    • 成員變量:直接在類(lèi)的成員位置上定義的變量。這些變量不受位置的限制,可以在任何方法中被使用。但是建議將所有的變量定義在類(lèi)的最前面位置。
    https://www.zhihu.com/video/1065596048357060608

    總結(jié)

    以上是生活随笔為你收集整理的java数组最大下标_【Java视频教程】day09-面向对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91麻豆精品国产理伦片在线观看 | 激情视频一区二区三区 | 国产精品第一国产精品 | 成人免费在线网址 | 日韩中字在线 | 国产精品一区不卡 | 久久99热人妻偷产国产 | 国产视频在线观看免费 | 亚洲电影影音先锋 | 婷婷中文字幕 | 日韩成人区 | 中文字幕精品一区久久久久 | 三上悠亚ssⅰn939无码播放 | 男人天堂视频在线观看 | 亚洲欧美激情另类 | 国产99999 | www网站在线免费观看 | 伊人影视大全 | 操操操网站 | 男女日批免费视频 | 插插插91| 亚洲影院在线 | 欧美网站在线 | 午夜不卡在线 | 风韵丰满熟妇啪啪区老熟熟女 | 福利国产视频 | 国产又黄又爽 | 五月天婷婷丁香 | 成人免费网站www网站高清 | 成人午夜视频免费在线观看 | 日日夜夜网 | 杨幂国产精品一区二区 | 黄色草逼视频 | 久久精品aaaaaa毛片 | 久久黄色av | 国产乱码精品一区二区三区精东 | 麻豆com| 亚洲精品一区二区三区区别 | 国产一区二区电影 | 久久中文字幕网 | 亚洲综合中文 | 18男女无套免费视频 | 草av| 九九三级| 99人妻少妇精品视频一区 | 欧美一区二区视频免费观看 | 欧美比基尼 | 亚洲免费福利 | 国产精品jizz在线观看美国 | 亚洲视频国产视频 | 日韩欧美一区二区三区视频 | 国产精品一级片 | 无码少妇一级AV片在线观看 | 人人射人人射 | 欧美特级a | 一区视频免费观看 | 久久久久久久久99 | 中文字幕激情 | 在线观看免费大片 | 不卡影院一区二区 | 日韩精品中文字幕在线 | 99re这里都是精品 | 国产四区 | 美女视频一区二区三区 | 在线观看wwww | 人人做 | 久久精品一区二区三区四区 | 免费在线观看a视频 | 久久精品国产亚洲av嫖农村妇女 | 国产黄色免费看 | 国产一级片免费 | 综合精品国产 | 色天天综合网 | 日本不卡视频 | 亚洲色图视频网站 | av手机| 一区二区三区激情视频 | 亚洲精品福利视频 | 国产一区二区三区精品愉拍 | 久久大伊人 | 成人性做爰片免费视频 | 国产成人综合精品 | 性色av网 | 久久精品专区 | av黄在线 | 国产99久久久久 | 男生操女生免费网站 | 久草高清视频 | 老司机深夜福利网站 | 奇米精品一区二区三区在线观看 | 国产一区二区麻豆 | 欧美| 九九九网站 | 三级国产网站 | a级在线观看 | 亚洲av无码乱码在线观看性色 | 国产精华7777777 | 日本免费专区 | 青青草在线视频免费观看 |