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