摘要:是完全面向?qū)ο蟮恼Z(yǔ)言,對(duì)象具有狀態(tài)行為和標(biāo)識(shí)。類(lèi)一一是具有共同特征和行為的一類(lèi)事物的統(tǒng)稱(chēng)。受保護(hù)的,對(duì)同一包內(nèi)的類(lèi)和所有子類(lèi)可見(jiàn)。一種通用的內(nèi)存池,用于存放所有對(duì)象。類(lèi)級(jí)變量又稱(chēng)全局級(jí)變量或靜態(tài)變量,需要使用關(guān)鍵字修飾。
java語(yǔ)言的基本特點(diǎn)
java語(yǔ)言是面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言,它是編譯型的語(yǔ)言,Java語(yǔ)言不使用指針,并提供了自動(dòng)的垃圾回收機(jī)制,使得程序員不必為內(nèi)存管理而擔(dān)憂。java語(yǔ)言支持多線程,使得Java程序能夠并行處理多項(xiàng)任務(wù)。java還具有動(dòng)態(tài)性、類(lèi)庫(kù)豐富、高性能等特點(diǎn)
強(qiáng)類(lèi)型語(yǔ)言java不像js那樣,Java語(yǔ)言是強(qiáng)類(lèi)型語(yǔ)言,而且每種類(lèi)型都要求嚴(yán)格定義。首先,每個(gè)變量、表達(dá)式都有類(lèi)型。其次,所有的數(shù)值傳遞,不管是直接的、還是通過(guò)方法調(diào)用經(jīng)由參數(shù)傳遞,都要進(jìn)行類(lèi)型相容性檢查。高效解釋執(zhí)行
Java為了實(shí)現(xiàn)“一次編譯,隨處運(yùn)行”的目標(biāo),Java 的源程序在編譯時(shí),并不直接編譯成特定的機(jī)器語(yǔ)言程序,而是編譯成與系統(tǒng)無(wú)關(guān)的“字節(jié)碼(Byte codes)”,由Java 虛擬機(jī)(Java Virtual Machine,JVM )來(lái)執(zhí)行面向?qū)ο笏枷?/b>
Java由四方面組成:Java編程語(yǔ)言、Java類(lèi)文件格式、Java虛擬機(jī)和Java應(yīng)用程序接口(Java API)。
java是完全面向?qū)ο蟮恼Z(yǔ)言,對(duì)象具有狀態(tài)、行為和標(biāo)識(shí)。這意味著每一個(gè)對(duì)象都可以擁有內(nèi)部數(shù)據(jù)和方法。每一個(gè)對(duì)象在內(nèi)存中都有一個(gè)唯一的地址。
每個(gè)對(duì)象都有一個(gè)接口,程序在執(zhí)行期間具有不同的狀態(tài)而其他方面都相似的對(duì)象會(huì)被分組到對(duì)象的類(lèi)中,這就是關(guān)鍵字class的由來(lái)。事實(shí)上所有的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言都使用class這個(gè)關(guān)鍵詞來(lái)表示數(shù)據(jù)類(lèi)型。當(dāng)看到類(lèi)型一詞時(shí),可將其作為類(lèi)來(lái)考慮,反之亦然。
類(lèi)描述了具有相同特性和行為(功能)的對(duì)象集合,所以一個(gè)類(lèi)實(shí)際上就是一個(gè)數(shù)據(jù)類(lèi)型,例如所有的浮點(diǎn)型數(shù)字具有相同的特性和行為集合。
JAVA里的類(lèi) 就好比一個(gè)澆注的模具,模具里有怎么制造成品的一些方法 、一個(gè)大體的套路。 但是并沒(méi)有創(chuàng)造任何對(duì)象,而在創(chuàng)建對(duì)象的時(shí)候 應(yīng)用到Java的類(lèi) 這樣才把模具實(shí)體化 創(chuàng)建出一個(gè)成品。
類(lèi)的特點(diǎn):類(lèi):一一是具有共同特征和行為的一類(lèi)事物的統(tǒng)稱(chēng)。是對(duì)對(duì)象的描述,是創(chuàng)建對(duì)象的"模板"
類(lèi)是對(duì)象的類(lèi)型 具有相同屬性和方法的一組對(duì)象的集合
類(lèi)型,指由各特殊的事物或現(xiàn)象抽出來(lái)的共通點(diǎn);
對(duì)象的特點(diǎn)對(duì)象是具有類(lèi) 類(lèi)型的變量。類(lèi)是對(duì)象的抽象,而對(duì)象是類(lèi)的具體實(shí)例。類(lèi)是抽象的,不占用內(nèi)存,而對(duì)象是具體的,占用存儲(chǔ)空間。基本語(yǔ)法
Java語(yǔ)言八種基本數(shù)據(jù)類(lèi)型,整數(shù)類(lèi)(byte、short、int、long),文本類(lèi)(char),浮點(diǎn)類(lèi)(double,float)和邏輯類(lèi)(boolean)
編寫(xiě)Java程序時(shí),應(yīng)注意以下幾點(diǎn):
1.java和js一樣,都是對(duì)大小寫(xiě)敏感的 2.類(lèi)名:類(lèi)名首字母要大寫(xiě),如果由單詞組成,那么每個(gè)單詞的首字母也要大寫(xiě) 3.方法名:方法名采用駝峰命名格式。 4.源文件名:保存的源文件名必須和類(lèi)名相同 5.主方法入口:所有的`Java` 程序由`public static void main(String args[])`方法開(kāi)始執(zhí)行。 6.標(biāo)識(shí)符:所有的標(biāo)識(shí)符都應(yīng)該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開(kāi)始 7.修飾符:可訪問(wèn)修飾符 : `default, public , protected, private`。不可訪問(wèn)修飾符 : `final, abstract, strictfp` 單引號(hào)引的數(shù)據(jù) 是char類(lèi)型的 雙引號(hào)引的數(shù)據(jù) 是String類(lèi)型的 單引號(hào)只能引一個(gè)字符 而雙引號(hào)可以引0個(gè)及其以上局部變量和成員變量
1.成員變量:在類(lèi)中定義,用來(lái)描述對(duì)象將要有什么。成員變量又分為 實(shí)例變量 和 類(lèi)變量(static靜態(tài)變量):
class One{ float x; //x為實(shí)例變量 static int y; //只要有關(guān)鍵字static,y就為類(lèi)變量 }
2.局部變量:在類(lèi)的方法中定義,在方法中臨時(shí)保存數(shù)據(jù)
public 返回類(lèi)型 方法1(){ 變量1類(lèi)型 變量1;//局部變量 } 局部變量的作用域僅限于定義他的方法 成員變量的作用域在整個(gè)類(lèi)內(nèi)部都是可見(jiàn)的訪問(wèn)修飾符
Java支持四種不同的訪問(wèn)權(quán)限:
修飾符 | 說(shuō)明 |
---|---|
public | 共有的,對(duì)所有類(lèi)可見(jiàn)。 |
protected | 受保護(hù)的,對(duì)同一包內(nèi)的類(lèi)和所有子類(lèi)可見(jiàn)。 |
private | 私有的,在同一類(lèi)內(nèi)可見(jiàn)。 |
默認(rèn)的 | 在同一包內(nèi)可見(jiàn)。默認(rèn)不使用任何修飾符。 |
注意:protected不能修飾類(lèi)和接口,接口的成員變量和成員方法不能聲明為protected。另外,類(lèi)和接口不能聲明為private。
import語(yǔ)句import語(yǔ)句與C語(yǔ)言中的 #include 有些類(lèi)似,語(yǔ)法為:
import package1[.package2…].classname;
package 為包名,classname 為類(lèi)名。例如:
import java.util.Date; // 導(dǎo)入 java.util 包下的 Date 類(lèi)
注意:import 只能導(dǎo)入包所包含的類(lèi),而不能導(dǎo)入包。
創(chuàng)建對(duì)象類(lèi)名 對(duì)象名 = new 類(lèi)名()
通常使用new關(guān)鍵字來(lái)創(chuàng)建一個(gè)新對(duì)象,例如:
//訪問(wèn)修飾符、class關(guān)鍵字和類(lèi)名 public class Main{ //主方法入口,void:main()方法是不需要返回值的,static:表明方法是靜態(tài)的,不依賴(lài)類(lèi)的對(duì)象的 public static void main(String[] args) {//String[] args:定義了一個(gè)字符串?dāng)?shù)組參數(shù) //創(chuàng)建對(duì)象,對(duì)象名為test Main test = new Main(); } }
程序運(yùn)行時(shí),對(duì)象有五個(gè)不同的地方可以存儲(chǔ)數(shù)據(jù):
1):寄存器。這是最快的存儲(chǔ)區(qū) 2):堆棧。位于通用RAM中,但通過(guò)堆棧指針可以從處理器那里獲得直接支持。指針若向下移動(dòng),則分配新的內(nèi)存;若向上移動(dòng),則釋放那些內(nèi)存。這是一種快速有效的分配存儲(chǔ)方法,僅次于寄存器 3):堆。一種通用的內(nèi)存池,用于存放所有java對(duì)象。堆不同于堆棧的好處是編譯器不需要知道存儲(chǔ)的數(shù)據(jù)在堆里存活多長(zhǎng)時(shí)間。
其余兩種不做介紹。詳情請(qǐng)見(jiàn):Thinking in java
System.out.print(" ");向控制臺(tái)輸出" "里面的內(nèi)容后不換行 System.out.println(" ");向控制臺(tái)輸出" "里面的內(nèi)容后換行;操作數(shù)組
數(shù)組是一個(gè)簡(jiǎn)單的線性序列,數(shù)組具有效率、類(lèi)型和保持基本類(lèi)型的能力。數(shù)組標(biāo)識(shí)符其實(shí)只是一個(gè)引用,指向在堆中創(chuàng)建的一個(gè)真實(shí)對(duì)象,這個(gè)數(shù)組對(duì)象用以保存指向其他對(duì)象的引用。
Java 中操作數(shù)組只需要四個(gè)步驟:
1、 聲明數(shù)組語(yǔ)法: 數(shù)據(jù)類(lèi)型[ ] 數(shù)組名; 或者 數(shù)據(jù)類(lèi)型 數(shù)組名[ ];2.分配空間
簡(jiǎn)單地說(shuō),就是指定數(shù)組中最多可存儲(chǔ)多少個(gè)元素
語(yǔ)法: 數(shù)組名 = new 數(shù)據(jù)類(lèi)型 [ 數(shù)組長(zhǎng)度 ];3、 賦值
分配空間后就可以向數(shù)組中放數(shù)據(jù)了,數(shù)組中元素都是通過(guò)下標(biāo)來(lái)訪問(wèn)的
4、 處理數(shù)組中數(shù)據(jù)我們可以對(duì)賦值后的數(shù)組進(jìn)行操作和處理,如獲取并輸出數(shù)組中元素的值
public class Main{ public static void main(String[] args) { double list[] = {2.0,13.1,3.1,0.5,1.1}; //輸出所有數(shù)組元素 for(double element:list){//冒號(hào):其實(shí)就是映射 System.out.println(element); } } }二維數(shù)組
1.聲明數(shù)組并分配空間
數(shù)據(jù)類(lèi)型[][] 數(shù)組名 = new 數(shù)據(jù)類(lèi)型[行的個(gè)數(shù)][列的個(gè)數(shù)];
或者
2.數(shù)據(jù)類(lèi)型[][] 數(shù)組名;
數(shù)組名 = new 數(shù)據(jù)類(lèi)型[行的個(gè)數(shù)][列的個(gè)數(shù)]
賦值
數(shù)組名[行的索引][列的索引] = 值;Arrays 類(lèi)
語(yǔ)法: Arrays.sort(數(shù)組名);
可以使用 sort( ) 方法實(shí)現(xiàn)對(duì)數(shù)組的排序,只要將數(shù)組名放在 sort( ) 方法的括號(hào)中,就可以完成對(duì)該數(shù)組的排序(按升序排列)
將數(shù)組轉(zhuǎn)換為字符串
語(yǔ)法: Arrays.toString(數(shù)組名);
可以使用 toString() 方法將一個(gè)數(shù)組轉(zhuǎn)換成字符串,該方法按順序把多個(gè)數(shù)組元素連接在一起,多個(gè)元素之間使用逗號(hào)和空格隔開(kāi)
變量的作用域在Java中,變量的作用域分為四個(gè)級(jí)別:類(lèi)級(jí)、對(duì)象實(shí)例級(jí)、方法級(jí)、塊級(jí)。
類(lèi)級(jí)變量又稱(chēng)全局級(jí)變量或靜態(tài)變量,需要使用static關(guān)鍵字修飾。 對(duì)象實(shí)例級(jí)變量就是成員變量,實(shí)例化后才會(huì)分配內(nèi)存空間,才能訪問(wèn)。 方法級(jí)變量就是在方法內(nèi)部定義的變量,就是局部變量。 塊級(jí)變量就是定義在一個(gè)塊內(nèi)部的變量,變量的生存周期就是這個(gè)塊,出了這個(gè)塊就消失了,比如 if、for 語(yǔ)句的塊。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/64253.html
摘要:最近系統(tǒng)整理了一套初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。正常的智商其實(shí),學(xué)習(xí)并不需要所謂的數(shù)學(xué)邏輯好,需要英語(yǔ)水平棒。大周期每天學(xué)習(xí)時(shí)間五個(gè)小時(shí)以上的,建議學(xué)習(xí)周期。三學(xué)習(xí)時(shí)會(huì)遇到的坑不知道學(xué)習(xí)的重點(diǎn),下面學(xué)習(xí)路線會(huì)畫(huà)。 最近系統(tǒng)整理了一套java初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。 目錄: 一、學(xué)習(xí)java的前提 二、學(xué)習(xí)java的方法 三、學(xué)習(xí)...
摘要:而面向搜索引擎,就是我們要及時(shí)的使用百度谷歌遇到問(wèn)題無(wú)法解決,先別急著放棄,可以去網(wǎng)絡(luò)尋找答案,你的坑大部分別人都已經(jīng)走過(guò)了,大部分都可以找到合適的解決方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●眾多的語(yǔ)言,到底哪一門(mén)才是適合我的?●我們?yōu)槭裁匆獙W(xué)習(xí)Java語(yǔ)言呢...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來(lái)申請(qǐng)加入。權(quán)限分配靈活,能者居之。數(shù)量超過(guò)個(gè),在所有組織中排名前。網(wǎng)站日超過(guò),排名的峰值為。導(dǎo)航歸檔社區(qū)自媒體平臺(tái)微博知乎專(zhuān)欄公眾號(hào)博客園簡(jiǎn)書(shū)合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來(lái)申請(qǐng)加入。版筆記等到中文字幕翻譯完畢后再整理。數(shù)量超過(guò)個(gè),在所有組織中排名前。網(wǎng)站日超過(guò),排名的峰值為。主頁(yè)歸檔社區(qū)自媒體平臺(tái)微博知乎專(zhuān)欄公眾號(hào)博客園簡(jiǎn)書(shū)合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1...
摘要:只因技術(shù)種類(lèi)繁雜眾多層出不窮,程序員只有靠不斷的學(xué)習(xí)才能不落后于技術(shù),被工作淘汰。特此推薦給大家。 99%的程序員每天都是先學(xué)習(xí),后工作,不然完成不了工作。只因技術(shù)種類(lèi)繁雜眾多、層出不窮,程序員只有靠不斷的學(xué)習(xí)才能不落后于技術(shù),被工作淘汰。我就是這其中一員,深得體會(huì)其中的「疼并快樂(lè)」,在...
摘要:我的學(xué)習(xí)筆記匯總標(biāo)簽筆記分為兩大部分和筆記內(nèi)容主要是對(duì)一些基礎(chǔ)特性和編程細(xì)節(jié)進(jìn)行總結(jié)整理,適合了解基礎(chǔ)語(yǔ)法,想進(jìn)一步深入學(xué)習(xí)的人如果覺(jué)得不錯(cuò),請(qǐng)給,這也是對(duì)我的鼓勵(lì),有什么意見(jiàn)歡迎留言反饋目錄基礎(chǔ)鞏固筆記反射基礎(chǔ)鞏固筆記泛型基礎(chǔ)鞏 我的java&javaweb學(xué)習(xí)筆記(匯總) 標(biāo)簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
閱讀 3371·2021-11-23 09:51
閱讀 1075·2021-09-26 09:55
閱讀 4099·2021-09-22 14:58
閱讀 1763·2021-09-08 09:35
閱讀 1154·2021-08-26 14:16
閱讀 948·2019-08-23 18:17
閱讀 2176·2019-08-23 16:45
閱讀 758·2019-08-23 15:55