本文目錄一覽:
JAVA的基礎知識
21.請描述一下JSP中forward與include的區別與聯繫
答: forward 是跳轉A變成B.include是包含,A包含B.A變成B時,B會無法應用A中的屬性方法等.A包含B時,B可以應用A中的屬性方法等.(A與B指代”JSP頁面”).
22. 請描述一下Cookie與Session的關係, 並請解釋一下如何實現Session的持久化?
答:Cookie與Session 都是用來存數據的(…呵呵)Cookie是存在用戶這一端而Session 是存在服務器這一端.
如果用戶這端允許Cookie功能並指定Cookie的生命周期則Cookie可在周期內保存.Session則服務器關閉或者Session被關閉時(比如用戶登出後Session自動銷毀等等情況)數據就消失.
Session的持久化
1.用Cookie來保存.
2.用數據庫來保存.
3.配置conf/xml.
23. 請描述一下解析XML有哪些方法?請分別解釋一下DTD和XML Schema以及二者之間的聯繫與區別?什麼是XSL、XSLT、XPath?
答:主要有 dom解析 和 sax解析.DTD和XML Schema 都是實現對XML文件的約束(XML文件格式規則).DTD用來說明XML文檔格式,Schema用來說明數據文件格式。XSL、XSLT、XPath三者都是基於XML的語言.
24. 請描述一下WSDL 、UDDI、SOAP的含義及關係
答:WSDL是網頁服務描述語言.UDDI是統一描述、發現和集成協議.SOAP是簡單對象訪問協議.
簡單的說就是上面三者都是讓各種系統與各種系統之間更容易的交換信息\理解信息.
25. 請解釋以下名詞: SOA 、ESB 、JCA、SDO
答:SOA 是面向服務的架構.ESB是企業服務總線.JCA是J2EE平台上連接傳統系統的一個技術規範.SDO是SOA的一個規範.
PS:還不快快給分!
自學 Java 怎麼入門?
自學的困難就是,不知道該從哪裡開始,才怎麼學,沒有一個系統的學習路徑,現在黑馬程序員最新上線了java學習路線圖,非常好的解決了一個難題,可以去搜索看一下。
一、java基礎
學習任何一門編程語言,首先要學習的是基礎語法,開啟Java學習的第一步,當然就是深入掌握計算機基礎、編程基礎語法,面向對象,集合、IO流、線程、並發、異常及網絡編程,這些我們稱之為JavaSE基礎。當你掌握了這些內容之後,你就可以做出諸如:電腦上安裝的迅雷下載軟件、QQ聊天客戶端、考勤管理系統等桌面端軟件。
JavaSE基礎是Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。
在Java基礎板塊中有6個子模塊的學習:
技術樹
二、數據庫
互聯網最具價值的是數據,任何編程語言都需要解決數據存儲問題,而數據存儲的關鍵技術是數據庫。MySQL和Oracle都是廣受企業歡迎的數據庫管理系統。Java程序和數據庫通信的最常見技術是JDBC,Druid和C3P0。學習這些數據庫技術後,可以掌握數據庫運維技術、複雜業務表結構設計規範、工作中常見的SQL操作、軟件數據存儲等。
數據庫不僅僅是Java開發工程師的必學課程,也是其他語言都需要掌握的技能。用於對交互過程中客戶的數據進行存儲。
該板塊包括關係型數據庫和非關係型數據庫。
例如:MySQL、oracle、redis、MongoDB等。數據庫學習完畢後,可以將數據存儲到數據庫中,也可以通過SQL語句從數據庫中查詢數據,結合Java項目可以實現動態站點的數據的保存。
技術樹
三、前端技術
瀏覽器展示給用戶看到的網頁就是前端,前端有三大基礎技術分別為Html、CSS、JavaScript,這些學完後,為了做出更好、更炫的交互式體驗效果,我們還需要學習jQuery、ElementUI、Vue、Ajax,以及打包工具webpack。學完這些技術後,我們可以開發微信小程序、響應式網站、移動端網站、開發類似京東一樣的B2B2C商城、管理後台等。
Javaweb階段包括前端、數據庫和動態網頁。Javaweb是互聯網項目的入門課程,是學習後面高進階課程的基礎。
首先,我們先看一下前端板塊。該板塊主要包括如下幾個模塊:
學習前端技術後,可以完成類似京東、淘寶的前端工程的編寫。
技術樹
四、動態網頁
掌握前端技術只能做靜態網站,但它頁面數據一成不變,而動態網站可以根據數據庫中變更的數據實現不同的內容展示,應用更廣泛,因此程序員必須要學會做動態網站。使用Java做動態網站,我們需要學習Servlet、Filter、Session、Cookie、JSP、EL表達式、JSTL等做動態網站的完整知識體系,學完可研發出OA系統、內容網站、BBS等。
動態網頁是中級程序員服務器端編程的基礎,是高級框架學習的必備課程,後期學習的框架、服務底層都是基於動態網頁技術之上的。
該板塊包括Javaweb核心技術、包括Servlet、Request、Response、Cookie和Session等,通過這些技術的學習可以完成動態站點開發,可更好的完成服務器端與客戶的交互,讓頁面的數據“動”起來,做出小型的應用系統。
技術樹
五、編程強化
前面學了JavaSE基礎,但它在企業級應用中程序處理業務的效率並不高、擴展差,編程強化是對JavaSE基礎的加強,將針對性的提高程序處理業務的執行效率、增強程序擴展性。編程強化將加強多線程高級學習,涉及線程內存、線程通信等技術。學完以後,能增加一個中級程序員的知識儲備,無論在面試過程中還是將來技術的深入打一個良好的基礎。
編程強化是對解決實際問題方面做一個深入的了解和應用,是對JavaSE基礎的加強,對後期自動以框架和對一些服務框架的底層理解做支撐。
編程強化板塊主要包括如下幾個模塊:多線程高級、涉及線程內存、線程通信等;JVM優化,對JVM底層進行調優來提高項目執行效率;NIO,同步非阻塞IO來提高效率。
學習該階段,可以對原有項目進行優化從而使程序更快更穩定。
技術樹
六、軟件項目管理
公司開發都是團隊協同開發,為更好的掌握實際開發,我們還需要學習常用的項目管理平台、版本控制器、項目構建工具以及自動化部署工具。項目開發一定是有版本升級的,管理好項目進度和版本需要Git、Maven、Sonar這樣的系統平台。學習完軟件項目管理後,將掌握整個項目實際開發過程以及整個項目開發過程中所使用協同開發工具。
JavaSE基礎是Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。
在Java基礎板塊中有6個子模塊的學習:基礎語法,可幫助你建立基本的編程邏輯思維;面向對象,以對象方式去編寫優美的Java程序;集合,後期開發中存儲數據必備技術;IO,對磁盤文件進行讀取和寫入基礎操作;多線程與並發,提高程序效率;異常,編寫代碼邏輯更加健全;網絡編程,應用服務器學習基礎,完成數據的遠程傳輸。
學習該階段,可以完成一些簡單的管理系統、坦克大戰遊戲、QQ通信等。
技術樹
七、熱門技術框架
Javaweb掌握後,已經具備企業中實際項目的開發能力了,但它開發效率低,代碼量大,開發周期長、開發成本高。企業中廣泛使用一些優秀的框架技術來解決上述問題,因此我們還需要學習框架技術,項目開發中主流的Java框架技術有SpringMVC、Spring、MyBatis、MyBatis Plus、SpringData等。這些框架技術都是一個優秀程序員所必備的技能。
使用Javaweb進行企業級開發是完全可以的,但是開發效率比較低,所以對常用的邏輯操作進行封裝就形成了框架,因此框架是企業開發的入門技能。
熱門框架板塊主流框架有如下幾個:Spring框架,佔據統治地位,其生態系統涉及各個方面解決方案;MyBatis框架,使用ORM思想對數據庫進行操作。
該板塊學習後,就可以進行真實企業級項目開發了,做出的項目也會更加符合企業要求。
技術樹
八、分布式架構
需要用到分布式微服務的技術。學習完該階段課程,可以具備大型SOA架構和微服務架構能力,能掌握大型微服務項目必備技術和實際經驗。企業發展過程中,業務量和用戶量逐漸增加,為了保證系統的可用性,系統越做越複雜,研發人員增多,大家很難共同維護一個複雜的系統,往往修改部分內容,導致牽一髮而動全身,所以我們需要升級系統架構,
隨着互聯網的發展,業務的複雜性和用戶的體驗性都需要提高,所以分布式架構出現了。該板塊主要講解的是分布式架構的相關解決方案。
主要包括如下模塊:Dubbo,高性能的 RPC 服務發布和調用框架;SpringBoot,簡化Spring應用的初始搭建以及開發過程;Spring Cloud,一系列框架的有序集合,如服務發現註冊、配置中心、負載均衡、斷路器、數據監控等。
該板塊的學習,可以具備大型互聯網項目開發的必備技術和實際經驗,為進入BATJ打下基礎
技術樹
九、服務器中間件
在分布式系統架構中,服務與服務之間的異步通信,是非常常見的需求之一,消息中間件的誕生正是為了解決這類問題。目前市面上的主流消息中間件有RabbitMQ、RocketMQ、Kafka,我們將學習這3個消息中間件,實現分布式項目中的異步通信。學習完這些後,可以實現分布式項目的異步通信、分布式應用日誌收集、分布式事務等。
中間件板塊是大型互聯網項目中必備的。服務中間件可以幫助各子模塊間實現互相訪問,消息共享或統一訪問等功能。其包括遠程服務框架中間件,例如阿里(Apache)的RPC框架Dubbo等;消息隊列中間件,例如:阿里巴巴開源分布式中間件RocketMQ、高吞吐量消息發布和流處理服務Kafka等。
學習服務中間件是中級JavaEE工程師必要技術,也是JavaEE架構師必須精通的技術。
技術樹
十、服務器技術
程序開發完成後,我們把它們打包部署到服務器中運行,所以我們需要學習常見的服務器技術,常見的服務器有Linux和Window server,Linux性能高,是當前主流。我們寫好的項目需要用一個軟件運行起來,這個軟件叫web容器,我們需要在服務器上安裝web容器來發布項目,當前主流的web容器有tomcat、jetty、nginx、undertow。
不管是使用原生Javaweb進行開發,還是使用框架進行開發,項目最終需要對外發布才能供全世界的人訪問到,而服務器板塊就可以解決這個問題,所以服務器是項目發布的必要技術。該板塊包括虛擬化和web應用服務器的學習,主要包括如下幾個模塊:Vmware,虛擬機軟件;Linux,專門用於服務器的系統;Nginx,集群部署時反向代理服務器;Tomcat,項目發布時主要使用的服務器。
該板塊學習後,我們就可以把開發好的項目發布到服務器中,然後供你的小夥伴遠程訪問了,超酷!
技術樹
十一、容器技術
具備了服務器操作系統及web容器,我們就可以部署單機的站點,在分布式系統中,幾十上百的服務,如果使用單機這種部署方式,會投入很高的人力,同時出錯的幾率也大。所以服務器虛擬化技術Docker也稱為如今的必備技術了,Docker可以幫助運維人員實行快速部署,批量維護.使用Kubernetes實現自動化部署、大規模可伸縮、應用容器管理。
容器化技術是近兩年超級火的一個專題,通過容器化技術可以對環境進行打包,方便移植,大大提高了開發效率。該板塊包括容器化技術Docker和其平台管理引擎Kubernetes,其中,Docker 是一個開源的應用容器引擎,可以打包應用以及依賴包到一個可移植的鏡像中,然後發布到任何流行的Linux或Windows 機器上,也可以實現虛擬化。而Kubernetes是一個開源的,用於管理雲平台中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效。通過該板塊的學習,你可以通過上述技術快速搭建環境,節省開發時間,提高開發效率。
技術樹
十二、業務解決方案
企業開發中會遇到一些通用的業務場景,諸如:搜索引擎、緩存、定時任務、工作流、報表導出、日誌管理、系統監控等,那麼這些通用的解決方案也有現成優秀的免費開源中間件,可供使用。諸如:ElasticSearch、Lucene、Solr、redis、MongoDB、slf4J、ECharts、Quartz、POI等。業務解決方案課程的業務方案和技術難點,解決了企業開發中90%以上的痛點和難點。
雖然我們已經具備了基礎技術和高階技術,但是要想與企業開發相接軌,還需要對實際項目的業務解決方案進行探究。而此版塊就是在實際業務場景中的真實解決方案集合,常用的業務解決方案有如下:搜索業務場景解決方案、日誌收集與分析場景解決方案、工作流引擎場景解決方案、任務調度場景解決方案、地圖開發平台場景解決方案、支付開放平台場景解決方案、圖表可視化場景解決方案。通過分析實際業務來學習這個解決方案技術集,完全可以達到中級甚至高級工程師水平。
技術樹
必備的Java的基礎知識有哪些?
幾年前,我開始撰寫一系列關於如何開始使用Java的文章,我覺得有必要將一些非常詳細的內容分成文章。這樣,介紹性的內容會更容易理解。首先,讓我向您介紹Java 8中的基本類型。正如標題中提到的,Java語言本身有8種基本類型。在下面的部分中,讓我們看看這八種基本類型。我將介紹每種基本類型的具體用法和限制。
1、必備的Java的基礎知識——Int基本類型
首先,Java整數是32位有符號(即正整數和負整數),用int關鍵字表示:
Int someNumber = 10;
當然,與所有基本類型一樣,整數也有其局限性。因為它只有32位,所以它的值範圍從-2147483648到2147483647。那可是個大數目!當然,我們可以使用以下技術在DrJava交互面板中確認這一點:
MAX_VALUE //打印2,147,483,647整數。MIN_VALUE //打印-2,147,483,648
自然,int是最常用的用於簡單計算的整數類型。如果您需要更大的數字範圍,請參閱下面的long。
2、必備的Java的基礎知識——兩個基本類型
與int不同,Java的double類型是一個64位浮點數,由double關鍵字表示:
雙someNumber = 110.55;
需要注意的是,浮點數實際上是實數。換句話說,一個雙精度浮點數包含一個小數點。
由於雙精度類型是64位的,所以它可以表示比整數更多的數字。同樣,我們可以使用交互面板來確認雙精度類型的範圍:
翻倍。MAX_VALUE / / 1.7976931348623157 e308雙打印
重要的是要注意,負指數表示非常小的數字,而不是非常大的負數。所以這裡的取值範圍和整數不完全一樣。
通常,double是Java中使用浮點數的默認選擇。另一種選擇是浮動。
3、必備的Java的基礎知識——炭基類型
如我們所見,Java中的字符類型表示16個字符,由CHAR關鍵字表示:
Char someCharacter = ‘f’;
Java中的所有字符都用單引號表示。此外,雙引號用於表示字符串。我們稍後會講到字符串。(頁面)
像往常一樣,我們可以通過以下代碼來查找字符的範圍:
的性格。MAX_VALUE / / print ‘??’字符。MIN_VALUE / /打印”
為了使這個範圍有意義,我們可以把結果轉換成整數(更多關於這個稍後):
(int)字符。輸出65535(int)字符。min_value //輸出0
如您所見,char類型是Java中唯一的無符號類型。換句話說,字符的值範圍從0到65535,每個值映射到一個特定的字符。如果需要創建該範圍之外的字符,可以組合一對字符。
4、必備的Java的基礎知識——字節基類型
當我們討論二進制時,我們實際上是在討論比特的概念。字節由8位組成,字節是Java支持的基本類型之一。實際上,字節類型只不過是一個8位整數,其值從-128到127不等。可以猜到,字節由byte關鍵字表示:
someByte = 20;
同樣,您可以使用以下代碼片段來確認字節類型的值範圍:
字節。輸出127字節。min_value //打印-128
根據我的經驗,字節類型在讀取和處理原始數據時很有用。但一般來說,我們不會用它因為範圍太小了。
以上就是《有哪些必備的Java的基礎知識?想學好這個語言就要了解這些》的全部內容,環球網校的小編希望大家在剛開始從事編程工作時,可以先去學習一下Java,可以優化你的工作思維,小編祝您Java之路順利。如果你想知道更多Java知識,可以點擊本站的其他文章進行學習。
java的基礎知識有哪些
JavaEE基礎中包含的知識點有:Java基礎語法、面向對象、核心類庫、集合、異常、IO、線程、JDK新特性。
JavaWeb開發中包含的知識點有:前端技術、數據庫、JAVA數據庫操作、軟件服務器及服務器相關技術、動態網頁JSP、AJAX、優就業-在線醫療系統。
Java高級框架中包含的知識點有:SpringMVC、MyBatis 、Spring、MySQL高級、LinuxRedisNginx、Maven 、中公MIS權限系統。
大型微服務分布式項目實戰:SpringBoot、SpringCloud、Git 、Dubbo、Zookeeper、AngularJS、Spring Security、BCrypt加密、FastDFS、分布式事務處理、Redis Cluster、Solr、SolrCloud、Freemarker 、JMS 、短信發送平台、SSO解決方案、CORS、Twitter的Snowflake、SpringTask 、Maven Profile、MongoDB簡介、MyCat、Docker、Jenkins、東易買大型電商實戰、東易眾籌。
java語法基礎,具體內容
Java基礎——Java開發前奏
Java的特點
Java最主要的特點是:一次編譯,到處運行(Write Once, Run Anywhere.)。
原理:Java源程序經編譯後生成.class字節碼文件,.class文件由Java虛擬機(JVM)解釋執行。不同的操作系統下,只要有相應的Java字節碼解釋程序,.class文件就能夠運行,這是Java跨平台性的根本。c和java編程與執行的過程如下圖所示:
Java的內涵
1、是一種編程語言
2、是一套開發工具
3、是一個運行環境
Java應用平台
1、J2EE(Java 2 Platform Enterprise Edition)——用於企業級應用程序的開發
2、J2SE(Java 2 Platform Standard Edition)——用於普通標準應用程序的開發
3、J2ME(Java 2 Platform Micro Edition)——用於小型消費類電子產品或嵌入式系統的開發
J2SE包括4部分——JVM、JRE、JDK與Java語言。
環境變量的設置
環境變量——在操作系統中定義的變量,可供操作系統上所有的應用程序使用。
1、查看環境變量
a.命令提示行:環境變量的命令——set (環境變量名)
b.窗口方式:我的電腦-屬性-高級-環境變量
2、設置path環境變量
path環境變量的作用:設置操作系統尋找和執行應用程序的路徑。
JAVA_HOME:C:\Program Files\Java\jdk1.6.0_14
path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3、設置classpath環境變量
classpath環境變量的作用:讓Java執行環境找到指定的java程序(.class文件)。
classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
注意:a.%JAVA_HOME%前面有“.;”,“.”表示當前目錄,兩個路徑之間用“;”隔開。
b.設置classpath的路徑中不能有空格,也不能有中文字符。
JVM的運行過程
Java反編譯工具——JAD、FrontEnd
Java開發工具
1、記事本
注意保存時文件名應為*.java。
2、UltraEdit、EditPlus
使用EditPlus編輯和編譯Java程序,需要進行相應配置。選擇“工具”-“參數選擇”-“工具”-“用戶工具”-“添加工具”-“應用程序”。首先設置“javac”的參數,具體如下圖,其中“命令”為javac.exe文件的地址。
然後設置“java”的參數,如下圖所示,其中“命令”為java.exe文件的路徑。
設置好後默認“javac”工具的快捷鍵為Ctrl+1,“java”工具的快捷鍵為Ctrl+2。當編輯好Java源程序後,使用Ctrl+1即可對其進行編譯,然後按Ctrl+2運行程序。如下圖所示:
3、集成開發環境——Eclipse、MyEclipse、JBuilder等。
關於Eclipse和MyEclipse,剛用的時候感覺二者差不多,查了資料才知道Eclipse 是基礎,如同操作系統;而MyEclipse是在Eclipse上面運行的程序,不過進行了增強並提供了新功能。
以前用過Microsoft的Visual Studio 2005,個人感覺VS2005是一個功能非常強大的集成開發環境,不過.NET和Java畢竟不是一家人,學Java還是要用Eclipse的。
JDK中的常用包
1、java.lang——包含一些Java語言的核心類,如String、Math、Thread、System、Integer類等。
2、java.awt——包含構成抽象窗口工具集的多個類,用來構建和管理應用程序的圖形用戶界面(GUI)。
3、java.applet——包含applet運行所需的一些類。
4、java.net——包含執行與網絡相關操作的類。
5、java.io——包含能提供多種輸入/輸出功能的類。
6、java.util——包含一些實用工具類。
Java的命名習慣
1、包名中的字母一律小寫。如:xxxyyyzzz。
2、類名、接口名應使用名詞,每個單詞的首字母大寫。如:XxxYyyZzz。
3、方法名,第一個單詞小寫,後面每個單詞的首字母大寫。如:xxxYyyZzz。
4、變量名,第一個單詞小寫,後面每個單詞的首字母大寫。
5、常量名中的每個字母一律大寫。如:XXXYYYZZZ。
Java基礎——Java語法基礎(1)
Java代碼基本格式
Java中所有程序代碼都必須存在於一個類中,用class關鍵字定義類,在class之前可以有一些修飾符。格式如下:
修飾符 class 類名
{
程序代碼
}
註:
1、Java是嚴格區分大小寫的。
2、Java程序中一句連續的字符串不能分開在兩行中寫。
Java程序的注釋
Java里的注釋有三種類型:
1、單行注釋
在注釋內容前面加“//”,格式為:
代碼; //注釋內容
2、多行注釋
以斜杠加星號開頭,以星號加斜杠結尾。
3、文檔注釋
以斜杠加兩個星號開頭,以一個星號加斜杠結束。
用這種方法注釋的內容會被解釋成程序的正式文檔,並能包含進諸如javadoc之類的工具程序生成的文檔里,用以說明該程序的層次結構及其方法。
補充:
1、多行注釋中可以嵌套“//”注釋,但不能嵌套多行注釋符號。
2、程序注釋一般占程序代碼總量的20%-50%,“可讀性第一,效率第二”。
Java中的標識符
Java中的包、類、方法、參數、變量的名字,可以由任意順序的大小寫字母、數字、下劃線(_)、美元符號($)組成,但不能以數字開頭,不能是Java中的保留關鍵字。
Java的關鍵字
1、用於類和接口的聲明:class, extends, implements, interface
2、包引入和包聲明:import, package
3、數據類型:byte, boolean, char, double, int, long, float, short
4、某些數據類型的可選值:flase, ture, null
5、流程控制:break, case, continue, default, do, else, for, if, return, switch, while
6、異常處理:catch, finally, throw, throws, try
7、修飾符:abstract, final, native, private, protected, public, static, synchronilzed, transient, volatitle
8、操作符:instanceof
9、創建對象: new
10、引用:this, supper
11、方法返回類型:void
12、保留字:const, goto
Java中的常量
1、整形常量
十進制
十六進制——以0x或0X開頭
八進制——以0開頭
長整形——以L(l)結尾
2、浮點數常量
單精度浮點數——後面加f(F)
雙精度浮點數——後面加d(D)
註:
a.小數常量的默認類型是double型,所以float類型常量後一定要加f(F)。
b.浮點數常量可以用指數形式表示,如5.022e+23f
3、布爾常量
true或false
4、字符常量
由英文字母、數字、轉義序列、特殊字符等的字符所表示,如’a’、’\t’等。
Java中的字符佔兩個字節,是用Unicode碼錶示的,也可以使用’\u’加Unicode碼值來表示對應字符,如’\u0027’。
常用的轉義字符有:
\t——表示接受鍵盤輸入,相當於按了一下回車鍵
\n——表示換行
\t——表示製表符,相當於Tab鍵
\b——表示退格鍵,相當於Back Space鍵
\’——表示單引號
\”——表示雙引號
\\——表示反斜杠“\”
5、字符串常量
字符串常量用雙引號括起來。
6、null常量
null常量表示對象的引用為空。
Java的變量類型
基本數據類型之間的轉換
1、自動類型轉換(隱式類型轉換)
條件:
a.兩種類型彼此兼容
b.目標類型的取值範圍要大於源類型
2、強制類型轉換(顯示類型轉換)
格式:目標類型 常量 = (目標類型)值
註:字符串可以使用加號“+”同其他的數據類型相連而形成一個新的字符串。
變量的作用域
代碼塊決定了變量的作用域,作用域決定了變量的可見性和存在時間。
局部變量
在一個函數或函數裡面的代碼塊中定義的變量稱為局部變量。
局部變量在進行取值操作前必須被初始化或進行過賦值操作。
函數
1、定義函數的格式
返回值類型 函數名(參數類型 形式參數1,參數類型形式參數2,…)
{
程序代碼
return 返回值;
}
2、函數的重載
函數的重載就是在一個類中可以同時存在一個以上的同名函數,只要它們的參數個數或類型不同即可。
Java基礎——Java語法基礎(2)——運算符
Java中的運算符
1、算術運算符
a.字符串 + 其他類型 = 字符串
b.如果對負數求余,可以把除數負號忽略不計,如5 % -1 = 1。但如果被除數是負數就另當別論了。
2、賦值運算符
a.在Java中,可以把賦值語句連在一起,如:x = y = z = 5;
b.x += y相當於x = x + y
3、比較運算符
a.要注意比較運算符“==”和賦值運算符“=”的區別,特別是布爾型變量進行比較時。
b.可以將比較運算的表達式寫為“false == 變量”的形式,以防止誤寫為賦值運算。
4、邏輯運算符
a.邏輯運算符用於對boolean型結果的表達式進行運算,運算的結果都是boolean型 。
b.“”和“”的區別在於,如果使用前者連接,那麼無論任何情況,“”兩邊的表達式都會參與計算。如果使用後者連接,當“”的左邊為false,則將不會計算其右邊的表達式。“|”和“||”的區別與“”和“”的區別一樣。
5、位運算符
位運算——對數據按二進制位進行移位操作。
適用類型:byte, short, char, int, long
位運算包括:
位與
| 位或
^ 位異或
左移,左移n位相當於乘以2的n次方
右移,右移n位相當於除以2的n次方
無符號右移
註:
a.位運算符也可以與“=”賦值運算符組合產生新的賦值運算符,如:=, =等。
b.移位不會改變變量本身的值,如a1在一行語句中單獨存在毫無意義。
c.對低於int型的操作數將先自動轉換為int型再移位;對int型整數移位ab,系統先將b對32取模,得到的結果才是真正移位的位數;對於long型整數移位時則是先將移位位數對64取模。
運算符的優先級
編程技巧:
1、不要在一行中編寫太複雜的表達式,可以將其分解為幾條語句。
2、多用括號。
Java基礎——Java語法基礎(3)
程序控制流程
1、順序結構
按順序執行
2、if條件語句
a.if…
b.if…else…
可簡寫為:變量 = 布爾表達式? 語句1:語句2;
c.if…else if…else…
3、switch選擇語句
switch(表達式)
{
case 取值1:
語句塊1;
break;
…
case 取值n:
語句塊n;
break;
default:
語句塊n+1;
break;
}
4、while循環語句
while(條件表達式)
{
執行語句
}
5、do while循環語句
do
{
執行語句
}while(條件表達式)
6、for循環語句
for(初始化表達式;循環條件表達式;循環後操作表達式)
{
執行語句
}
7、增強for循環
for (循環變量類型 循環變量名稱: 要被遍歷的對象)
{
執行語句
}
8、break與continue語句
a.一個無標號的break語句會把控制傳回當前最內層循環(while,do,for,switch)的下一條語句。
b.無標號的continue語句的作用是跳過當前循環的剩餘語句塊,接着執行下一次循環。
數組
1、數組的定義
如:int[] x = new int[100];
或int x[] = new int[100];
2、數組的靜態初始化
如:int[] aa = new int[] {3,4,5};
3、多維數據
如:
int[][] xx = new int[3][];
xx[0] = new int[3];
xx[1] = new int[2];
4、一些與數組相關的函數
a. System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)複製數組,將源數組srcPos開始的length個元素從目標數組的destPos位置開始存儲。
b. Array.sort()數組升序排序
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300605.html