第一篇:C語言與Java的區(qū)別
C語言與Java的區(qū)別
一、概覽
1、從編程思想來看
C語言 為面向過程語言 Java
為面向?qū)ο笳Z言
2、從對地址的可操作性上來看
C語言可以直接對硬件操作 Java 不能直接對硬件操作
小結(jié):在硬件安全性上考慮,Java更安全,不容易引發(fā)硬件崩潰
3、從效率上來看
C語言效率非常高,在所有編程語言中名列前茅
Java 執(zhí)行效率一般,計算效率還不錯,總體上來講效率馬馬虎虎
4、從可移植性上來看
C語言硬件依賴極高,一旦硬件環(huán)境改變,程序運行不能的可能性很高
java 硬件依賴幾乎為零,只要機器裝有相匹配的虛擬機,任何機器上編寫的代碼都可以通用
二、語言區(qū)別
1、語言背景:
C語言是在單機時代應(yīng)用非常廣泛,它融合了高級語言的簡單易用和匯編語言的執(zhí)行效率。
Java是在研究電子消費產(chǎn)品開發(fā)平臺和互聯(lián)網(wǎng)應(yīng)用的基礎(chǔ)上實現(xiàn)的,它的許多語言特性也是從c語言那里沿用和發(fā)展,并且使面向?qū)ο蟾幼匀缓屯晟疲ㄈ绨踩院痛a的移動性)。
2、語言跨平臺:
C語言不可以跨平臺。
因為Java可以跨平臺,在windows 和 unix 等系統(tǒng)上都可以很好的運行。
3、指針管理:
指針是c語言最大的優(yōu)點,它可以使用戶幾乎可以訪問計算機的所有內(nèi)存資源和其他部分資源(就是指那里打那里)。同時也是c語言程序最難掌握和調(diào)試的問題,并且給系統(tǒng)的安全性和穩(wěn)定性帶來很大的困難。
java中沒有指針的概念,盡管也有數(shù)組和對象的引用的概念,但它的管理全部交給系統(tǒng)管理,這樣限制了用戶的資源的訪問,但是也給java系統(tǒng)帶來安全性和穩(wěn)定性。JAVA語言讓編程者無法找到指針來直接訪問內(nèi)存無指針,并且增添了自動的內(nèi)存管理功能,從而有效地防止了c語言中指針操作失誤,如野指針所造成的系統(tǒng)崩潰。但也不是說JAVA沒有指針,虛擬機內(nèi)部還是使用了指針,只是外人不得使用而已。這有利于Java程序的安全
4、封裝
c語言中沒有package概念,需要其他方式來實現(xiàn)。
在java中引入了package的概念,使面向?qū)ο蠛兔嫦蚪M件開發(fā)更加方便,Java都能夠?qū)崿F(xiàn)面向?qū)ο笏枷耄ǚ庋b,繼乘,多態(tài))。JAVA則是完全的面向?qū)ο笳Z言,它句法更清晰,規(guī)模更小,更易學(xué)。它是在對多種程序設(shè)計語言進行了深入細致研究的基礎(chǔ)上,據(jù)棄了其他語言的不足之處,從根本上解決了c語言的固有缺陷。
5、數(shù)據(jù)類型及類
c語言允許將函數(shù)和變量定義為全局的。
Java是完全面向?qū)ο蟮恼Z言,所有函數(shù)和變量部必須是類的一部分。除了基本數(shù)據(jù)類型之外,其余的都作為類對象,包括數(shù)組。對象將數(shù)據(jù)和方法結(jié)合起來,把它們封裝在類中,這樣每個對象都可實現(xiàn)自己的特點和行為。
6、自動內(nèi)存管理
C語言沒有內(nèi)存管理,必須手動(添加語句)釋放內(nèi)存,增加了程序設(shè)計者的負擔(dān)。Java程序中所有的對象都是用new操作符建立在內(nèi)存堆棧上,Java自動進行無需內(nèi)存回收操作,不需要程序員進行刪除。Java中當一個對象不被再用到時,無用內(nèi)存回收器將給它加上標簽以示刪除。JAVA里無用內(nèi)存回收程序是以線程方式在后臺運行的,利用空閑時間工作。
7、字符串:
C語言不支持字符串變量,在c語言程序中使用Null終止符代表字符串的結(jié)束。
Java中字符串是用類對象(strinR和stringBuffer)來實現(xiàn)的,這些類對象是Java語言的核心!
另:
Java沒有函數(shù),作為一個比c語言更純的面向?qū)ο蟮恼Z言,Java強迫開發(fā)人員把所有例行程序包括在類中,事實上,用方法實現(xiàn)例行程序可激勵開發(fā)人員更好地組織編碼。
第二篇:語言與言語的區(qū)別及關(guān)系
語言與言語的區(qū)別及關(guān)系
王昕竹
寧夏大學(xué)新華學(xué)院文法外語系
09級英語二班
The Distinction and Relationship of Language and Speech
WangXinZhu Grammar Department of Foreign Languages of XinHua College in NingXia University 09 English second class 摘要:語言既是人們最重要的交際工具,語言既是人們進行抽象思維的工具,語言就不等于人們創(chuàng)造這種工具、運用這種工具進行交際的行為和運用這種工具所構(gòu)成的“言辭”,也不等于人們運用這種工具進行思維時所構(gòu)成的具有思想內(nèi)容的邏輯判斷。所以,區(qū)別語言和創(chuàng)造語言、運用語言的行為(即交際行為)以及運用語言所構(gòu)成的結(jié)果就成為了正確理解語言的一個必要的論題。關(guān)鍵字:語言;言語;區(qū)別;關(guān)系
Abstract: The language is both one of the most important communication tool, language is a people the tools of abstract thinking, language is not equal to the people to create such tools, the use of this tool for the communication behavior and use of this tool “rhetoric”, nor equal to people posed by the use of this tool for thinking with the ideological content of logical judgment.Therefore, the results of the distinction between language and the creation of language, the use of language behavior(i.e., the communicative act)and the use of language has become a proper understanding of the language is a necessary topic.Keywords: Language speech difference relationship 人們創(chuàng)造語言成分時所發(fā)明的語言、人們說話時所運用的語言,是一種工具,而創(chuàng)造語言成分的行為和說話的行為則只是人們運用語言機能的行為,不等于語言。創(chuàng)造語言的行為所造出的語言成分的總和或說話時所運用的工具大體上說來就是語言,運用語言機能的行為(包括創(chuàng)造語言和運用語言的行為)和運用語言所說說出的話就叫做“言語”。比方說,漢族人民運用語言機能去創(chuàng)造某一個漢語的詞匯成分或語法成分的行為,漢人運用漢語去說話的運用語言機能的行為,以及漢人所說出的話則是漢人的言語。言語行為既指的是說的行為,而人們的說的行為有可能同時就是設(shè)法創(chuàng)造某一語言成分的行為,我們就應(yīng)該把言語行為理解為運用語言機能的行為,包括運用語言機能去設(shè)法創(chuàng)造語言成分和運用語言機能去使用已經(jīng)存在的語言成分。人們運用語言機能時拿已經(jīng)存在的語言成分,他們所臨時設(shè)法創(chuàng)造的新的語言成分和一些超語言的表達手段組合在一起去體現(xiàn)人們所要表達的思想,結(jié)果就產(chǎn)生了言辭,也就是我們所說的“話”??梢?,語言和言語的區(qū)別是事實上存在的,是人們所意識到的客觀事實。不過,人們不是很明確地了解在科學(xué)上有區(qū)別語言和言語的必要罷了。
俄國的語言學(xué)家波鐵布尼亞也曾經(jīng)強調(diào)言語和語言的區(qū)別。他認為語言是連綿不斷的言語創(chuàng)造的洪流,它注入為某一集體所理解的一定的語言之中,他認為言語是運用語言的主要形式,是語言創(chuàng)造性地存在的完整的、活生生的、具體的形式;語言的不斷改變,不斷演進是在言語中得以實現(xiàn),而且也都是為了言語而實現(xiàn)的。但在強調(diào)語言和言語的區(qū)別當中,波鐵布尼亞否認了語言的客觀存在,而把言語看成最重要的東西。
在近代的語言學(xué)歷史中,給語言和言語的區(qū)別做出有系統(tǒng)的理論解釋的是德·蘇胥爾。他在分析語言學(xué)的對象時,認為人類的語言機能(language)可以分為兩部分,一是語言(langue),一是言語(parole)。語言是社會現(xiàn)象,言語是個人現(xiàn)象。他說,“(語言)是某一社會集團全體成員通過言語實踐而獲得的一種寶庫,是可能存在于每一個人的腦子里,或說的更正確些,是存在于一群人的許多腦子里的一個語法系統(tǒng);因為在任何一個個人的腦子里,語言總是不完整的,它只在群眾中才是完整的”。這里,德·蘇胥爾一方面把語言看成社會產(chǎn)物、社會現(xiàn)象,把言語看成個人產(chǎn)物、個人現(xiàn)象,一方面把他所說的語言具體的看成群眾腦子里存在的一個“語法系統(tǒng)”,把他所說的言語具體的看成個人為了表達思想所做出的組合,以及使這組合表面化的心理—物理的機制。語言既然是人們的交際工具,我們就不能把它理解為交際行為(運用語言機能的行為)或由交際行為所組成的言語組合。就是從實踐的角度來看,每一個運用語言的人也都意識到他所學(xué)習(xí)得來的語言并不是他所專有的,而是其他的人所共有的,而是以存在于全民社會中一切個人嘴里所說的、具有聲音的物質(zhì)外殼的言語之中的方式存在于社會之中的,在交際的場合中,他是運用這個工具去組成他所說的話的。
總之,語言和言語的區(qū)別是客觀存在的。作為全民社會單位交際工具的語言不可能是個人所特有的,它是全民社會單位所有組成員的共同財產(chǎn),是人們可以隨時隨地運用來進行交際的客觀存在的工具;然而言語則是人們對語言機能的運用(包括運用語言時對語言機能的運用在內(nèi))及其所產(chǎn)生的結(jié)果。一個全民社會單位一般只有一種語言,例如漢族只有一種漢語,但是萬千的個人和某些個人的結(jié)合體卻有難以數(shù)計的言語。不過盡管如此,語言和言語并不是完全對立的,兩者之間有密切的聯(lián)系,而語言也并不是心理現(xiàn)象,它是以物質(zhì)外殼所起的作用客觀地存在于社會之中的。
那么,語言和言語之間有什么關(guān)系呢?要回答這個問題首先要明確“語言”和“言語”這兩個概念到底指的是什么。正如前面所講,“語言”指的是以一套符號系統(tǒng)而作為全民社會單位的交際工具的。但是“言語”指的是什么,就有不同的意見了。語言學(xué)家認為“言語”指的只是言語作品的表達形式。他們說:“我們認為語言學(xué)所研究的只是言語作品的表達形式??我們所理解的言語不僅是包括了語言的物質(zhì)外殼—語音、詞和詞的組合的規(guī)律和造句的格式,而且也包括了詞匯的客觀意義,因為這些都是屬于語言的。”但他們在主張“言語是言語作品的表達形式”的同時,堅決否認“言語”又可以指言語作品的內(nèi)容。這樣地既把言語作品的表達形式和言語作品的內(nèi)容對立起來,而只是承認言語作品的表達形式是言語的論點也是難于成立的。為什么“言語”可以指于言語作品的內(nèi)容相對立的言語作品的表達形式,就不能指言語作品的內(nèi)容呢?問題非常明顯,言語作品既然是言語的作品,這整個的作品就是屬于言語的,不能說只有與言語作品的內(nèi)容相對立的言語作品的表達形式才是屬于言語的。言語作品和任何世界上存在的事物一樣,都是由內(nèi)容和形式兩部分組合而成的。內(nèi)容和形式不可分割,并且是相依為命的。如果“言語”可以指與言語作品的內(nèi)容相對立的言語作品的表達形式,它自然也能指言語作品的內(nèi)容。何況既把言語理解為言語作品中的表達形式,言語作品是什么就無從了解了,因為言語作品正如我們所理解的,是言語的產(chǎn)物,然而與言語作品的內(nèi)容相對立的言語作品的表達形式顯然不能產(chǎn)生這一產(chǎn)物,我們絕不能說“言語作品是言語作品的表達形式的作品”。當然,在語言學(xué)的歷史中,語言學(xué)家們也曾對“言語”的含義有過討論。例如,法國語言學(xué)家德拉古拉瓦遠在三十年代就認為應(yīng)當區(qū)別“語言機能”、“語言”、“言辭”和“言語”。他認為“言辭”是說話人在運用語言時所組成的組合,“言語”是允許說話人使語言系統(tǒng)表面化的心理機制。
那么,言語作品的內(nèi)容到底是什么呢?言語作品的表達形式又是什么呢?正如語言和思維的關(guān)系是語言充作“語言·思維”統(tǒng)一體的形式部分,思維充作“語言·思維”統(tǒng)一體的內(nèi)容部分,但是就語言本身來說,它的形式部分則是語音形式,它的內(nèi)容部分則是意義。作為交際工具,體現(xiàn)思維工具的語言可以被用來表達思想。作為工具用的是語言成分,把這些成分組織起來去表達某一具體思想的時候,這些成分就成了思想的表達形式的組成成分,不僅是思想的表達手段。然而語言成分本身則是表達思想的一種手段,稱為表達手段。一般的說,運用語言表達思想的結(jié)果是“言語·思維”統(tǒng)一體的形成,在這個統(tǒng)一體中,思想是內(nèi)容,言語是形式。所以,對“言語·思想”統(tǒng)一體來說,整個言語作品就是它的表達形式,這種表達形式包含有意義復(fù)合物,作為它的內(nèi)容,這種意義復(fù)合物正是語言學(xué)家所說的作為“言語作品的表達形式”之一的各個語言成分的客觀意義之類組合而成的。在這樣的理解之下,語言和言語有什么關(guān)系呢?語言是言語的活動所運用的工具,它又是散見于所有言語作品中作為其部分的組成成分的表達手段的總和。言語是對語言的運用和這運用所產(chǎn)生的成果。因此,言語作品要包含有語言成分。我們可以說,語言和言語并不是絕對孤立的,語言存在于言語之中。語言和言語的關(guān)系又表現(xiàn)在言語作品是提供語言系統(tǒng)組成成分的素材。語言和言語作品盡管是不同的東西,卻有密不可分的關(guān)系,言語在語言形成和發(fā)展的過程中起著“先頭部隊”的作用。人們在運用語言機能的時候,可以創(chuàng)造出新的語言成分,當然這種新的語言成分最初只是以“創(chuàng)造方案”的形式出現(xiàn)的,但是任何語言成分的創(chuàng)新都是人們運用語言機能逐漸產(chǎn)生的結(jié)果,則是無疑的。語言正是在這樣不斷的概括和不斷的總括中,為了適應(yīng)社會的需要而逐漸形成的。已經(jīng)存在的語言,它的新的成分的產(chǎn)生也是這樣的。對個人而言,已經(jīng)存在的語言總是以不依個人的意志為轉(zhuǎn)移的交際工具或進行思維的工具而被運用來組成個人或某些人的言語的。語言或語言成分之所以能夠成為語言或語言成分,必須經(jīng)過社會的“同意”和社會的重復(fù)運用,因之,語言是社會的創(chuàng)造,不是個人的創(chuàng)造。就它本身而言,當它未成熟的時候,它是言語作品的表達手段之一,它是言語作品中的“超語言的剩余部分”之一;當它成熟的時候,它就成為了言語作品中作為表達手段的語言成分。
第三篇:Java程序員和C++程序員的區(qū)別
004km.cn Java程序員和C++程序員的區(qū)別
首先說明,這幾年接觸的最多的程序員就是C++程序員和Java程序員,這只是我自己的一點體會而已,一個人的眼光難免是淺薄的。不過,歡迎拍磚,也歡迎對號入座。
從對基礎(chǔ)知識掌握的程度來說,例如數(shù)據(jù)結(jié)構(gòu)和算法,C++程序員要比Java程序員牢靠得多。究其原因,大概是因為C++程序員需要經(jīng)常自己實現(xiàn)那些項目基礎(chǔ)設(shè)施,但是Java程序員大多拿來即用。公平地說,C++不是一門適合程序員初學(xué)者的語言,但是Java是。C++程序看起來確實要比Java程序稍難懂一些,C++程序員往往思維更加嚴密。另一方面,我也發(fā)現(xiàn)內(nèi)地的程序員要比沿海和發(fā)達城市的程序員基礎(chǔ)扎實,而且低調(diào)內(nèi)斂,不那么浮華,但是就是善于解決那些難啃的問題。
從視野的角度來說,Java程序員往往要更寬泛一些。由于語言本身上說,Java將很多C++逃不掉的陷阱和坑洞都填補了,僅從語言上說,無論是入門還是使用都顯得更加簡單,程序員就有更多精力來關(guān)注語言本身之上的事情。而且,Java領(lǐng)域的類庫明顯要豐富得多,所以在考慮某一個設(shè)計實現(xiàn)的時候,Java程序員很喜歡到處尋找可以拿來即用的類庫,但是C++程序員習(xí)慣于自己去做其中大部分的事情。對于面向?qū)ο笤O(shè)計,模塊和組件的設(shè)計,Java程序員往往要掌握得稍好一些。
在讀書的時候,很多程序員都會給自己訂立一個方向,有的喜歡寫底層實現(xiàn),有的喜歡研究人工智能,有的喜歡做企業(yè)應(yīng)用,有的喜歡涉足互聯(lián)網(wǎng)……就像對C++和Java等語言的選擇一樣。當然,工作有時候并不如心中所愿,這方面可能和自己最初的方向并不一致——有人選擇繼續(xù),發(fā)現(xiàn)這個活兒也不錯;有人就會選擇放棄,繼續(xù)執(zhí)著地尋找自己喜歡的事情。我有三個當初和我一起學(xué)Java學(xué)J2EE的朋友,現(xiàn)在一個成了DBA,一個賣水果去了,還有一個在創(chuàng)業(yè)搞機頂盒。
當然,也有很多程序員天天都在糾結(jié):學(xué)什么更賺錢?C++還是Java有前途?前端還是后端有前途?轉(zhuǎn)管理還是轉(zhuǎn)咨詢?也有人這樣問我,對于這樣深不可測的問題,為了避免顯得我沒文化、見識淺,我總是一笑置之。
以下是我的觀點:
對語言我始終沒有一個固定的方向。在學(xué)校我見長的c和C++,數(shù)據(jù)結(jié)構(gòu)及各類課程設(shè)計都是用C或C++完成的。但工作10年來,我一直在用Java,在我的博客中也大多是java的內(nèi)容。但這其中,編程過一個C++和作為項目組長管理過一個C++(pure)CenterServer級的。
語言只是工具。用的好,寫出符合要求的代碼。客戶實現(xiàn)才是我的終極目標。我更喜歡架構(gòu)。最初是java或C++架構(gòu)。新的問題是java(前端web層)+ C++(底層)這樣的架構(gòu)。能夠?qū)崿F(xiàn)是最終結(jié)果。過程卻充滿樂趣。
(ps:本文章來源于北大青鳥廣安門校區(qū)官網(wǎng))
第四篇:淺談java語言現(xiàn)狀和發(fā)展前景
淺談java語言現(xiàn)狀和發(fā)展前景
內(nèi)容摘要:作為一種最流行的網(wǎng)絡(luò)編程語言之一,java語言在當今信息化社會中發(fā)揮了重要的作用。Java語言具有?面向?qū)ο蟆?跨平臺、安全性、多線程等特點,這使得java成為許多應(yīng)用系統(tǒng)的理想開發(fā)語言。java應(yīng)用在各種各樣的系統(tǒng)開發(fā)中,它的跨平臺特點為開發(fā)人員提供了很大的方便。Java現(xiàn)如今在眾多編程語言中排名第二,足以反映出它的重要性。Java現(xiàn)如今主要應(yīng)用在?B/S,④C/S領(lǐng)域。由于科技的不斷發(fā)展,B/S將不足以滿足社會需求,C/S將會是社會發(fā)展趨勢。隨著Servlet技術(shù)的使用,java向Web和移動設(shè)備方向挺進。
關(guān)鍵字:程序設(shè)計、面向?qū)ο?、跨平臺、B/S、C/S
一、java語言的介紹與現(xiàn)狀
Java是由Sun公司于1995年5月推出的Java程序設(shè)計語言和Java平臺的總稱。Java平臺由Java虛擬機(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡稱API)構(gòu)成。
面向?qū)ο蠹夹g(shù)被稱為程序設(shè)計思想的一場革命,它已成為計算機應(yīng)用開發(fā)領(lǐng)域的主流趨勢,java語言是面向?qū)ο蠹夹g(shù)成功應(yīng)用的范例之一。Java語言的面向?qū)ο?、簡單性、安全性、跨平臺等顯著特點,使得java成為許多應(yīng)用系統(tǒng)的理想開發(fā)語言。Java是一門完全的跨平臺語言,它的程序跨平臺運行時,對程序本身不需要進行任何的修改,真正做到“一次編寫,到處運行”。隨著Internet的產(chǎn)生和發(fā)展,Java語言的諸多優(yōu)點引起軟件開發(fā)人員極大的關(guān)注。這也注定了java必將成為最流行的網(wǎng)絡(luò)編程語言之一。
Java可以分為三個部分:企業(yè)版(J2EE)、標準版(J2SE)、微型版(J2ME)。企業(yè)版(J2EE)是大型企業(yè)所應(yīng)用開發(fā),主要是基于網(wǎng)絡(luò)的程序,方向為C/S ,web應(yīng)用;標準版(J2SE)是為圖形用戶界面編程,主要是基于本地的編程;微型版(J2ME)該版本主要針對消費類電子設(shè)備,如可視電話、汽車導(dǎo)航等。
隨著科技的不斷發(fā)展,Java的社會市場需求也在不斷的增加,現(xiàn)在社會Java開發(fā)人員的市場需求有哪些呢?主要分為:Java工程師、Java軟件工程師、Java程序員、Java高級程序員。在企業(yè)的職位可分為:軟件工程師、系統(tǒng)架構(gòu)師、售前技術(shù)工程師、技術(shù)經(jīng)理、項目經(jīng)理、測試工程師等。
現(xiàn)在由于科技的快速發(fā)展,公司企業(yè)對Java技術(shù)人員的需求量不斷增加,所以對于從事Java編程的人員來說,找到程序設(shè)計的工作并非難事。一般來說,對于那些剛參加工作的人員來說工資剛開始會比較低,在2K-4K之間。但隨著經(jīng)驗不斷的豐富、技術(shù)不斷的提高,工資會不斷提高,大概在5K-9K之間。所以從事Java編程的人員,將來的工資待遇還是比較不錯的。
隨著Java的不斷完善和發(fā)展,現(xiàn)在Java主要涉及的知識領(lǐng)域包括以下部分:JDK、HTML、CSS、JavaScript核心、Oracle數(shù)據(jù)庫、JavaSE、XML、java數(shù)據(jù)結(jié)構(gòu)、JDBC、Servlet/Jsp、Ajax、Hibernate、Spring、Web系統(tǒng)架構(gòu)、Struts開發(fā)。這些技術(shù)是java的必備法寶。Html、JavaScript、CSS實現(xiàn)web開發(fā)中,程序的界面的顯示和美觀;Oracle數(shù)據(jù)庫是企業(yè)應(yīng)用中用來存儲大量數(shù)據(jù)的數(shù)據(jù)庫;Servlet/JSP實現(xiàn)網(wǎng)頁和Java語言的溝通,是二者的橋梁。Hibernate/、Spring、Struts是對程序進行架構(gòu)設(shè)計,使程序架構(gòu)分明,易于分析和維護。掌握這些技術(shù),就可以在Java世界里大展身手。
二、java的前景
由于Java的諸多優(yōu)點,java的發(fā)展前景十分廣泛。比如,在我們中國的市場,Java無論在企業(yè)級應(yīng)用,還是在面向大眾的服務(wù)方面都取得了不少進展,在中國的電信、金融等關(guān)鍵性業(yè)務(wù)中發(fā)揮著舉足輕重的作用。目前,在中國政府有關(guān)部門的支持下,中國移動和中國聯(lián)通已經(jīng)正式推出基于Java的無線增值服務(wù),并在積極準備基于Java的3G增值服務(wù)。
現(xiàn)在社會向著更加信息化、更加智能的方向發(fā)展,java的應(yīng)用范圍也在不斷的擴大。它可以進行面向?qū)ο蟮膽?yīng)用開發(fā);可視化、可操作化的軟件開發(fā);動態(tài)畫面的設(shè)計和調(diào)試;數(shù)據(jù)庫的操作和連接設(shè)計等。
由于Sun、IBM、Oracle等國際廠商相繼推出各種基于Java技術(shù)的應(yīng)用服務(wù)器以及各種應(yīng)用軟件,帶動了Java在金融、電信、制造等領(lǐng)域日益廣泛的應(yīng)用。如清華大學(xué)計算機系利用Java、XML和Web技術(shù)研制開發(fā)了多個軟件平臺,東方科技的Tong Web、中創(chuàng)的Inforweb 等J2EE應(yīng)用服務(wù)器。由此可見,在巨大市場需求下,企業(yè)對于Java人才的渴求已經(jīng)是不爭的事實。
Java 在Web、移動設(shè)備以及云計算方面前景廣闊,隨著云計算以及移動領(lǐng)域的擴張,更多的企業(yè)在考慮將其應(yīng)用部署在Java平臺上。無論是本地主機,公共云,Java都是目前最合適的選擇。另外在Oracle的技術(shù)投資擔(dān)保下,Java也是企業(yè)在云應(yīng)用方面回避微軟平臺、在移動應(yīng)用方面回避蘋果公司的一個最佳選擇。
Java可以參與制作大部分網(wǎng)絡(luò)應(yīng)用程序系統(tǒng),而且與如今流行的 [3] http://!
第五篇:Java編程語言面試題
西安英泰移動通信學(xué)院S2級Java編程語言測試題 1
Java編程語言面試題
一、簡答題
1、簡述用Java編程語言編寫、編譯、解釋和執(zhí)行過程。
2、簡述在Java JDK中,java.exe程序的作用。
3、簡述Java編程語言中的數(shù)組和C編程語言中定義數(shù)組有什么區(qū)別。
4、簡述類與對象的關(guān)系。對象的方法和類的方法是否為一回事?
5、JVM在解析代碼Person p1=new Person()和new Person()時有什么區(qū)別?
6、簡述this關(guān)鍵字的四中用途。
7、簡述構(gòu)造函數(shù)的作用。
8、分別簡述static和final關(guān)鍵字的意義。
9、簡述抽象類和接口的區(qū)別,并闡明抽象類和接口的用途。
10、簡述多態(tài)的概念和意義。
11、簡述異常和錯誤的區(qū)別。
12、簡述如何創(chuàng)建和啟動一個線程的兩種方法
13、簡述棧內(nèi)存和堆內(nèi)存分別用來做什么。
14、簡述throw關(guān)鍵字在程序中拋出的是什么。
15、在一個類的public static void method()中,能夠直接使用該類什么類型的成員。
二、計算題
1、在類Runner中定義一個方法move(),要求這個方法的參數(shù)是一個實現(xiàn)了接口Runnable的匿名內(nèi)部類的對象,該接口中的方法中的內(nèi)容自己可以決定。
2、類Outer中與方法屬性平行定義的內(nèi)部類為Inner{ public void doStuff(){}},寫出在另一個類TestInner的public static void main(String s)中調(diào)用方法doStuff()的代碼。
3、類Book{ public void insert(String id)throws Exception{…}}中的方法被類TestBook中public void testInser()方法調(diào)用,寫出該方法中的主要代碼。
4、兩個頂級包test1和test2,需要將它們壓縮成一個文件myjava.jar,再用WinRaR打開時,會在瀏覽器上看到下列層次;
◎META-INF
◎test1
◎test2
注:◎為文件夾
請寫出操作過程,并寫出運行的命令行程序(提示:用jar.......).5、同一個線程類ThreadTest中定義了:
public synchronized void sale(){...}
synchronized(str){...}
寫出能使這兩個類成員保持同步的改進代碼。
6、解釋類class Q{
private String name=“李四”;
private String sex=“女”;
boolean bFull=false;
public synchronized void put(String name,String sex){
if(bFull)
try{
wait();
this.name=name;
}catch(InterruptedException e){}
try{
Thread.sleep(10);
}catch(Exception e){
System.out.println(e.getMessage());
}
this.sex=sex;
bFull=true;
notify();
}
public synchronized void get()
{
if(!bFull)
try{
wait();
}catch(InterruptedException e){}
System.out.println(name + “----” + sex);
bFull=false;
notify();
}
}
中wait()、notify()、sleep()諸方法的作用。
7、在類class TestInteger{
public static void main(String[] args){
int w =。。。。。。。。。。。。。。。。。。。。// 將args[0]轉(zhuǎn)換int型的方法
int h =。。。。。。。。。。。。。。。。。。。。//將args[1]轉(zhuǎn)換int型的另一種方法//int h = Integer.valueOf(args[1]).intValue();//第三種方法
for(int i=0;i StringBuffer sb=new StringBuffer(); for(int j=0;j sb.append('*'); } System.out.println(sb.toString()); } } } 中,args[0]的值為:“1234”,args[1]的值為:“5678”,請上面代碼塊中的……………處填寫代碼。 8、下面類 import java.util.*; public class TestVector{ public static void main(String [] args){ int b=0; Vector v=new Vector();System.out.println(“Please Enter Number:”); while(true){ try{ b= System.in.read();//……….} catch(Exception e){ System.out.println(e.getMessage()); } if(b=='r' || b== 'n') break; else{ int num=b-'0'; v.addElement(new Integer(num));//………..} } int sum=0; Enumeration e=v.elements();//………………… while(e.hasMoreElements()){ Integer intObj=(Integer)e.nextElement();//………………..sum += intObj.intValue(); } System.out.println(sum); } } 中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。 9、下面類 import java.io.*; public class DataStreamTest{ public static void main(String[] args){ try{ FileOutputStream fos=new FileOutputStream(“c:hello.txt”);//…….BufferedOutputStream bos= new BufferedOutputStream(fos);//…… DataOutputStream dos= new DataOutputStream(bos);//……..dos.writeUTF(“ab中國”);//……… dos.writeBytes(“ab中國”); dos.writeChars(“ab中國”); dos.close();//………… FileInputStream fis=new FileInputStream(“hello.txt”);//…….BufferedInputStream bis=new BufferedInputStream(fis);//…….DataInputStream dis=new DataInputStream(bis);//…….System.out.println(dis.readUTF()); dis.close(); }catch(Exception e){ System.out.println(e.getMessage()); } } } 中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。 10、已知接口:interface PCI { voidstart(); voidstop(); } 要求:寫兩個類:NetWorkCard,SoundCard分別實現(xiàn)上面接口的方法(內(nèi)容自編),并寫第三個類MainBoard,該類中的方法install(PCI p)應(yīng)用NetWorkCard,SoundCard兩個類對象的方法。根據(jù)上面的要求,填寫下面的代碼: class Assembler { public static void main(String []args) { //在下面寫代碼….} } class NetWorkCard ….{ } class SoundCard…………{ } class MainBoard…………………………………..{ install(PCI p){ } }