JAVA初級程序員
現在有 SCJP 這個比較權威點(SUN 公司的)~~~在這個考試費用是 1250元 如果你是在大學
還可能享受優惠 只要 450 元
考點:
Section 1 Declarations and Access Control
目標1, 創建數組
採用不同的格式來編寫任一基本數據類型數組的聲明,構造及初始化的代碼。
數組是一連串對象或基本數據,它們必須同型,並以一個標識符封裝在一起。數組好象一個對象,通過new關鍵字來創建。
聲明數組
數組的聲明並不能為數組分配內存。聲明時數組不能有大小信息,也就是說編譯器並不允許你告訴它究竟數組有多大,它只是一個reference(引用),並沒有對應的空間。聲明數組的方式有: int[] a1; int a1[]兩種,int num[5]是錯誤的數組聲明方式。
聲明並創建數組
聲明一個數組並同時為它分配內存。
Int num[] =new int[5];
聲明並初始化數組
聲明一個數組並同時進行初始化。
Int num[]=new int[]{0,1,2,3,4};
Int num[]=new int[5]{0,1,2,3,4}; //!錯誤
數組知道自己的大小
與c++不同,數組知道自己的大小,當數組越界時,會拋出異常。數組具有length屬性(不是length()方法),它能告訴你數組的大小。
多維數據
int m[][] ; int [] m[]; int[][] m;
數組的預設值
與其它的變數不同,不論數組在向處創建,它總是使用可以使用預設值。
目標2 聲明類與變數
聲明類,內部類,方法,實例變數,靜態變數,自動變數(局部變數),正確使用各種修飾符(public , private , static ,final, abstract)。
在JAVA中萬事萬物皆對象,即使JAVA程序本身也是對象。
類的定義和對象的生成
public class MyClass{ //類定義
int i;
float f; //類數據成員
void amethod(){ //方法
int i; // 局部變數
}
}
MyClass aClass =new MyClass(); //創建類的一個實例(對象)
修飾符說明
private
被了變數所在的類,其它任何類都不可以訪問這個成員。
無訪問修飾符
所謂的包訪問許可權,同一個包內的其它類可以訪問這個成員。
Protected
與無訪問修飾符具有許可權外,還允許子類訪問這個成員。
Public
具有全局可視性,任何其它類都可以訪問這個成員。
Static
Static變數稱為類變數,類的所有對象共享這個變數。
Static方法稱為類方法,它只能訪問static變數。靜態方法不能被子類overriding為非靜態方法,但靜態方法可以被子類靜態方法所Hided.
Native
只用於方法,指明方法體是由其它編程語言編寫的。它以;結尾不是以{}結尾。
Public native void fastcalc();
Abstract
Abstract修飾符可用於類與方法前,在用於方法前時表明方法不具備方法體。只支類中包括了抽象方法則它必須聲明為抽象類。如果一個類實現一個介面時,它沒有為介面中所有的方法提供實現時,也必須聲明為抽象類。
Final
Final修飾符可用於類,方法和變數,fianl類不能被繼承,所有final類中的方法都是教學final方法。Final變數的值必須在創建時設定並具不能被修改。
Synchronized
防止多個線程同時訪問相同的代碼段。
Transient
表明類序列化時,變數不必序列化。
Volatile
表明變數由於線程可能非同步修改。
目標3 預設構造器
結定一個類,確定是否有預設構造器
構造器是與類名相同的方法,並具沒有返回值。預設構造器是一個不具有任何參數的構造器。在你沒有提供構造器的條件下,編譯器為自動化為你提供一個預設的構造器,但一旦你定義了任何一個構造器,編譯器就不會為你提供預設構造器。在這種條件下,如果你使用不具有參數的構造器將有錯誤。
構造器可以有訪問修飾符,但不能有native,abstract,static,synchronized和final修飾符。
目標4 重載與覆寫
為所有在自己或父類中的相關方法聲明有效的返回值,
相同類中的方法
當在同一個類中有多個方法具有相同的名稱時,這個方法就被重載了。只有參數的次序和類型是區分重載方法的依據,而返回值和參數的名稱對區分重載方法沒有貢獻,所以,不能以返回值的不同來重載方法。
子類中的方法
可以在子類中重載父類的方法,只要新的重載方法具有不同的參數次序或類型。當你在子類中的方法具有於父類中的方法相同的signature,則稱子類覆寫了父類的方法。注意:子類覆寫父類方法,它的訪問修飾符可以不同,但子類要具有比父類更加嚴格的訪問許可權。
靜態方法不能被覆寫只能被HIDED。
基本類型為參數的重載
基本類型可以自動進行窄化轉型(narrowing conversion),在沒有相應數據類型的重載方法,它的數據類型向上晉升。
Section 2 Flow control and exception Handling
目標1 if 和switch語句
使用if和switch編寫代碼並能區分有效的參數類型
if的條件語句中只能是boolean型的數據。
Int k=1;
If(k ) System.out.println(k); // 錯誤
If(k==1) System.out.println(k); // 正確
Switch的條件語句中只能是int數據類型,或int的窄化數據類型也就是byte, char, short
Long i;
Switch(i){ //錯誤
Case 1: .. break;
Case 2: … break;
Default: ..
}
case語句的break的使用,在switch塊中只有遇到break語句時,塊才跳出。
Default語句不必總安排在switch語句的最後,但default語句不在最後時,要使用break.
三元操作符 ?:
目標2 循環,break和continue
編寫各種(不)具有label的break和continue的循環語句。明確循環開始與結束時,循環記數器的值。
For 循環
語法:
for(initialization; conditional expression;increment)
逗號運算符
它只能用於for的控製表達式中。
for(int i=1,j=i+10;i<5;i++,j=i*2)
do-while與while的區別在開do-while中的語句至少執行一次。
Goto與break,continue
雖然goto是java的保留字,但java而不使用它。Java中的跳躍功能由break與continue提供。在java中,惟一一個放置lable而能夠產生效益的地點就是恰恰放在迭代語句前。一般而論,break與continue只會中斷當前的循環,而與label搭配,可以中斷多層循環。
Label1:
Outeriteration{
Inneriteration{
…
break; //1
…
continue; //2
….
Continue label1;//3
….
Break label1; //4
}
}
1中斷內層迭代,回到外層迭代
2將執行點移至內層迭代的起始處
3同時中斷內層迭代,再從外層迭代開始
4同時中斷內外層迭代,不再進行任何迭代
務必記下。在java中使用label的惟一理由是跳過一個以上的嵌套層次。
目標3 try/catch語句與方法覆寫
正確使用異常與異常處理語句(try,catch,finally)來編寫代碼,正確處理覆寫方法的異常。
異常一詞,意指「我對這件事有異議:我對這件事感到意外」。在問題發生點,你可能自己處理異常,有時,你可能不知道如向處理,就是說在當前的context並不具備中以修改問題的信息,你可將問題交付給高層的context的處理。
覆寫有異常拋出的方法
覆寫具的異常拋出的方法時,子類的方法只能拋出父類方法所拋出的異常或它的子異常。但是,子類方法可以拋出少於父類的異常或乾脆就不拋異常。
方法聲明的Throws子句
拋出子句意指當錯誤發生時,方法拋出這個異常而這個方法的調用者必須處理(catch)這個異常異常。
目標4 如時異常發生
認識代碼段中異常發生的地方以它的影響。注意:異常可能是運行時異常,檢測異常或錯誤。
錯誤無需捕捉
異常的出處:
Java標准庫類拋出的異常
自己的類拋出的異常
執行期發生的任何意外
檢測異常與非檢測異常
檢測異常你必須捕捉,而非檢測異常你不必捕捉。
非檢測異常發生後,預設條件下會在控制台上列印一條消息。對某些非檢測異常可用編碼來避免。
public class GetArg{
public static void main(String argv[]){
if(argv.length ==0){
System.out.println("Usage: GetArg param");
}else{
System.out.println(argv[0]);
}
}
}
檢測異常必須被捕捉,方法在調用某個拋出檢測異常的的方法時,它或者捕捉它或拋出它。
public FileInputStream openFile(String filename)
throws FileNotFoundException{//拋出異常,自己不處理
FileInputStream fis = new FileInputStream(filename);
return fis;
}
或
public FileInputStream openFile(String filename) {
FileInputStream fis;
try{
fs= new FileInputStream(filename);
}catch(FileNotFoundException ex){
ex.printStackTrace();
}
return fis;
}
finally子句
finally子句總是會執行,即使try/catch中已有了return語句finally中的語句也會執行。但如果try/catch中有System.exit(0),finally語句不會執行。
Catch子句
Catch子句的捕捉異常的次序要與異常的層次結構相一致。也就是說子異常要先捕捉,父異常後捕捉。反之,編譯器會拋出子異常已捕捉的信息。其它要注意是:異常被拋出後,異常處理根據捕捉的排列次序,尋找最近的處理程序。
目標5 使用斷言
正確編寫斷言代碼
assertion功能提供了一種在代碼中進行正確性檢查的機制,這種檢查通常用於開發和調試階段,到了軟體完成部署後就可以關閉。這使得程序員可以在代碼中加入調試檢查語句,同時又可以在軟體部署後關閉該功能而避免對軟體速度和內存消耗的影響。基本上,assertion功能就是JAVA中的一種新的錯誤檢查機制,只不過這項功能可以根據需要關閉。
斷言的語法
assert somebooleatest
或
assert somebooleantest : someinformatinvemethod
斷言的使用
斷言的使用就好比注釋的使用,注釋向其它人表明其閱讀的代碼是正確的,而斷言用於保證在程序執行過程中booleanTest的值一定是真。斷言用於確保某些東西總是為真的。預設條件下,斷言功能是關閉的。
編譯開啟斷言功能。
javac -source1.4 Myprog.java
運行開啟斷言功能
enableassertions的參數:
no arguments
Enables or disables assertions in all classes except system classes.
packageName...
Enables or disables assertions in the named package and any subpackages.
...
Enables or disables assertions in the unnamed package in the current working directory.
className
Enables or disables assertions in the named class
例如:
java –enableassertions:my.package… MyProg
java –ea Myprog
What should you assert to be true?
斷言用於你認為某此東西必須是真的地方。例如:人的年齡必然大於0,又如你認為在一套if/else判定後,必然有判定成功的分支,就可在if/else後,插入斷言。例如:
switch(lang){
case Language.java:
System.out.println("java");
break;
case Language.pascal:
System.out.println("pascal");
break;
case Language.csharp:
System.out.println("csharp");
break;
default:
assert false : lang;
}
斷言使用的地方
應該使用的情形 不應該使用的情形
用於保證內部數據結構的正確 不用於保證命令行參數的正確
用於保證私有(private)方法參數的正確 不用於保證公共(public)方法參數的正確
用於檢查任何方法結束時狀態的正確 不用於檢查外界對公共方法的使用是否正確
用於檢查決不應該出現的狀態 不用於保證應該由用戶提供的信息的正確性
用於檢查決不應該出現的狀態,即使你肯定它不會發生 不要用於代替if語句
用於在任何方法的開始檢查相關的初始狀態 不要用做外部控制條件
用於檢查一個長循環執行過程中的的某些狀態 不要用於檢查編譯器、操作系統、硬體的正確性,除非在調試過程中你有充分的理由相信它們有錯誤
在不開啟斷言功能時的輸出:
在開啟斷言功能時的輸出:
Section 3 Garbage Collection
Objective 1,2 & 3
State the behaviour that is guaranteed by the garbage collection systemWrite code that explicitly makes objects eligible for garbage collection. Recognize the point in a piece of source code at which an object becomes eligible for garbage collection.
為什麼要進行垃圾收集
當內存中的對象不再被利用時,系統就要回收內存。Java中不用擔心垃圾收集,系統的垃圾收集器會自動回收沒有引用的對象所佔用的內存。注意:你能建議或鼓勵 JVM進行垃圾收集但你不能強迫它。
確保的行為:finalization
Java確保在對象被收集調用finalize方法。垃圾回收器用於釋放「對象內存」,由於java中所有的東西都是對象,所以finalize不用來回收釋放內存。Finalize方法的使用時機是代碼採用了native方法,它調用了非java的內存分配方式,所以你得在finalize方法中以native的方式釋放內存。
對象被回收的時機
當垃圾收集機制認為對象上沒有引用時,它調用垃圾收集器來回收對象。當垃圾收集是非確定性的,你不能預測它發生的時間,你也不能預測finalize方法准確的運行時間。
Note: Once a variable is no longer referenced by anything it is available for garbage collection.
You can suggest garbage collection with System.gc(), but this does not guarantee when it will happen
非可達
當對象非可達時,就是可能進行回收。非可達的原因為:對象明確被設置為null或指向它的引用數為0。
Section 4 Language Fundamentals
Objective 1, Packages, import, inner classes, interfaces
Identify correctly constructed package declarations, import statements, class declarations (of all forms including inner classes) interface declarations, method declarations (including the main method that is used to start execution of a class), variable declarations, and identifiers.
目標1 包,導入,內類與介面
正確的識別包聲明,導入聲明,類聲明(包括內類),介面聲明,方法聲明(包括main方法),變數聲明和修飾器。
包語句
包用於解決名字沖突,一般開發者以自己的internet域名的反序作為包名的第一部分。這樣你就可以生成獨一無二的包,這樣包中的類就不會有名稱上的沖突。例如:package cn.e.xjtu.scjp 這樣就可以產生獨一無二的類名:cn.e.xjtu.scjp.Question
注意: 包聲明語句必須位於其它語句之前,除了注釋語句
導入語句
導入語句位於包語句之後,其它語句之前。導入語句是為了方便代碼編寫,導入相應的包後,包中的類可以僅以局部名使用,而不以全限定名來使用。
Import cn.e.xjtu.scjp.*;
Question q=new Question();
或
cn.e.xjtu.scjp.Question q=new cn.e.xjtu.scjp.Question();
導入語句對性能的沒有影響,它就好比DOS環境中設置路徑。
注意:If a source file has a package statement, it must come before any other statement apart from comments
類與內類的聲明
類聲明
一個文件只能包含一個public類,但可以包含多個非public類。這些類在編譯後將生成各自獨立的.class文件。
內類,即定義在其它類之中的類。
介面定義
介面是純粹的abstract class.它所定義的方法不包含方法主體。介面也可定義數據成員,但這些數據成員自然而然的成為了static和final. 介面中的方法即使沒有聲明為public,它們也會是public,所以實現介面時,必須將實現的方法定義為public。
例子:
interface Instrument{
int i=5;// static & final
void play(); // automatically public
…
}
class Wind implments Instrument{
public void play(){} //必須定義為public
…
}
main方法
main方法是程序運行的起點,方法的signature
public static void main(String argv[])
public:方法全局可見性 static:類方法 void: 無返回值 String[]:參數為字元串數組
main不是java的關鍵字,可以用它來定義變數。Main方法的參數是由命令行來提供的。
State the correspondence between index values in the argument array passed to a main method and command line arguments.
Java Aclass arg0 arg1 …
變數聲明
變數的名稱:它必須是一個合法的標識符。標識符以字母開頭的Unicode字元串;不是關鍵字,布爾直接值(true,false)或保留字(null);它在作用范圍內必須是唯一的。
合法的變數: _avariable, avariable$, (註:_,$可用於變數名)
數據類型:boolean-8/1 byte-8 -128~127
short-16 -32768~32767 int-32 long-64
float-32 double-65 char-16 0~65536
數據類型轉型(casting operators)
在java中只有進行窄化轉換(narrowing conversion)時才有風險,寬化轉化(widening conversion )時就無需明確指示。
數據運算中的晉升(promotion)
在比int小的基本數據類型上進行任何數學運算或位運算時,運算之前會先晉升為int,其結果也會是int類型。如果你要將結果指給較小的類型時,要進行轉型。
目標2 使用介面,
明確實現介面類,介面是Runnable或其它的用戶自定義的介面
Interfaces -Programming by contract
介面是在類之間建立了一個協議(protocol),或者說合同編程。 意味一個開發者開發了介面其它開發者要守它的條件。介面的別一個用處是實現多重繼承。Java中類只能繼承一個非介面類,其餘繼承的來源得是介面。正確的寫法是:
DeriveClass extends BaseClass implements interface1,interface2{}
介面合並時的名稱沖突
Objective 3, Passing values from the command line
State the correspondence between index values in the argument array passed to a main method and command line arguments
運行一個例子就明白:
public class MyParm{
public static void main(String argv[]){
String s1 = argv[1];
System.out.println(s1);
}
}
java MyParm hello there
程序將輸出there不是MyParm也不是hello
Objective 4, identify keywords
abstract boolean break byte case catch
char class const * continue default do
double else extends final finally float
for goto * if implements import instanceof
int interface long native new package
private protected public return short static
strictfp super switch synchronized this throw
throws transient try void volatile while
Objective 5, Unassigned variables
State the effect of using a variable or array element of any kind when no explicit assignment has been made to it.
Java保證變數絕對會在被使用前初始化。每個基本類型的數據成員都保證有初值(O)。而引用數據類型的數據成員的初值為null.
The default values for numeric types is zero, a boolean is false and an object reference is the only type that defaults to a null.
局部變數(在方法中定義的變數)不能預設值,故使用前必須明確賦予初值。
數組總是可以設置預設值的。Before initialization arrays are always set to contain default values wherever they are created.
Objective 6, The range and format of data types
Section 5 Operators and Assignments
Objective 1, Applying operators
Determine the result of applying any operator including assignment operators and instanceof to operands of any type class scope or accessibility or any combination of these.
目標1 使用運算符
操作符的分類
算術操作符 (+ , - , * , / , %,++,--)
一元操作符 (++, --, - , +)
關系和條件操作符 關系操作符(>,>=,<,<=,==,!=) 條件操作符(&&,||,!,&,|,^)
移位操作符(<<,>>,>>>) 位操作符(&,|,^,~)
賦值操作符(=)
其它操作符(?:,[],.,new,instanceof,(類型))
註:除了=,==,!=運算符外,其它運算符只能用於基本類型。String類支持+,+=操作符
例: String aStr=2+」hello」;
instanceof操作符用來檢驗某特殊對象是不是某類或該類的子類的實例,還可以檢驗某對象的類或子類是否實現了某介面。注意,數組也是對象,instanceof同樣適合與數組。
賦值操作符=
基本數據類型的賦值操作
boolean數據只能賦值於另一個boolean數據。不同於c和c++,java中的boolean值只能是true和false。
其它的數據類型可以自由的進行widening conversion(寬化轉換)。而進行narrowing conversion(窄化轉換)由於有精度的損失,必須進行強制轉換。
Primitives may be assigned to "wider" data types, a boolean can only be assigned to another boolean
引用數據類型的賦值操作
引用數據類型的賦值,例如a=b,使得a和b引用指向相同的對象。引用數據類型的賦值可以向上轉型。即一超類的引用可以被賦值一子類對象。但向下轉型必須強制轉換。
Object references can be assigned up the hierarchy from child to base.
++,--: 前序遞增和前序遞減(++a,--a)先進行運算然後才增賦值。後序遞增和後序遞減(a++,a--)先賦值然後才進行運算。
奇怪的++與--:
int a=1,b=5;
b+=b++-a--; (b=9)
b=b++;(b=9)
b=++b; (b=10)
關系操作符
關系操作符(<,>,<=,>=,==,!=)所產生的結果是boolean,==,!=可用於所有的內置的類型,其它運算符不能用於boolean.
奇怪的==(對於引用類型==比較兩個對象的內存地址,這可不是我們想要的)
double d=12.0;
int i=12;
Integer i2=new Interger(12);
Double d2=new Double(12);
Integer i3=new Interger(12);
d==i ; true
i2==i3; false
i2.equals(i3); true
i2.equals(d2) ; false
邏輯操作符
邏輯運算符:&&,||,!只能用boolean值身上。位運算符:&,|,^,~:在兩個操作數的相應位上進行邏輯代數運算。boolean數據不能~b而用!b。&和|和^即是邏輯的(邏輯與,邏輯或和邏輯非)也是位操作的運算符(按位與,按位或和按位異或)。
奇怪的&&與||(短路的&&和||)
當第一個操作數為flase時,如果用&&運算符時,則不檢查第二個操作數就直接返回flase。
當第一個操作數為true時,如果用||運算符時,則不檢查第二個操作數就直接返回true。
移位操作符
無符號右移位操作符>>>,它採用零擴展,高位插入0. 左移位運算符<< 能將運算符左邊的運算對象向左移動運算符右側指定的位數在低位補0。有符號右移位運算符>> 則將運算符左邊的運算對象向右移動運算符右側指定的位數,有符號右移位運算符使用了符號擴展。若值為正則在高位插入0,若值為負則在高位插入1。
註:int或<int的數據類型進行位移操作數先要進行mode 32運算所以對大於32的位移運算,先要進行mode 32運算,所以3>>>32的結果為3。Long數據類型在先要進行mode 64運算。
奇怪的>>>:小的負數進行>>>運算將得到一個大的正數
-1>>>1 : 2147483647
A unsigned right shift >>> by a positive amount of a small negative number will result in a large positive number returned.
操作數的優先順序
優先順序(胃潰瘍患者是c程序員的寫照 Ulcer Addicats Really Like C A lot)
U: ->Unary 一元運算符 ++, -- ,-,+,!,~
A: -> Arithmetic(shift) *,/,%,+,-,>>,>>>,<<
R: -> Relation >,<,>=,<=,instanceof,==,!=
L: -> Logic(bitwise) &,^,|,&&,||
C: -> 三元運算符
A:-> 賦值 = *=
Objective 2, the equals method
Determine the result of a
Ⅱ JAVA程序員考試 是先考初級再考高級 能不能直接考高級謝謝
不能,程序員考試是要按照從低到高去考,不能直接去考高級,任何事都是要一步一步來的,相信你會成功。
Ⅲ 做java開發的,想考試軟體水平考試,考哪一種工程師,好呢
J2EE它,我覺得學習這個框架內,很快學會了折疊出什麼樣的框架,更新太快,知識產權的成熟和完善的軟體工程師,因為它是工程師遇到了一個問題,我們必須解決的方式,或工程師這樣做!哦,這是我自己的看法,請參閱
Ⅳ java有哪些證書考啊
現在就SCJP還又點用,其他全是擺設,在達內只要花380給高級軟體工程師,所有證書全是拿前面,沒用,我建議你把英語等級過了,這行業如果不是國企的話,證書全是沒用的,在國企會又響應的補助
Ⅳ 想做java程序員,需要拿到哪些證書呢
證書不是必須的,去面試也不會要求你必須得擁有哪種證書,主要還是看你的技術能力,和所做過的項目。
當然你也可以去考,當你實力具備的情況下,到那時考這些東西就是花錢的事兒,
不過真的沒什麼用,程序員是不看重證書和學歷的,那些證書你拿出來人家大概都不會正眼看幾眼,你需要拿出來的是你的專業知識和所做過的項目案例。
參考的話可以考些如Oracle方面的認證、軟體設計師之類的認證。
(別忘了到一定年齡再去搞個結婚證,這個才是最重要的。)
Ⅵ Java開發程序員考取哪些證書有用
包括下列三種: Java認證考試 關於Java方面,Sun推出七項認證:
Sun Certified Java Programmer for the Java 2 Platform、
Sun Certified Developer for the Java 2 Platform
Sun Certified Web Component Developer for the Java 2 Platform, Enterprise Edition 1.4
Sun Certified Business Component Developer for the Java 2 Platform, Enterprise Edition
Sun Certified Web Services Developer for the Java 2 Platform, Enterprise Edition
Sun Certified Enterprise Architect for the Java 2 Platform, Enterprise Edition
Sun Certified Mobile Application Developer for the Java 2 Platform, Micro Edition
Solaris系統管理認證考試
Sun 公司為用戶提供支持 Solaris 10 操作系統的高品質培訓和認證服務,可幫助企業最大限度地快速實現該創新操作系統的重要價值。
Ⅶ 是不是考了計算機二級java就算是一個初級java程序員了
1.計算機等級考試跟程序員考試是兩種不同的考試,所以不能那麼說.
2.你考了計算機二級證,這與能否找工作是沒有關系的,只要你有本事,沒證也能找到工作,如果你的證沒本事日子也不好過.
Ⅷ java軟體工程師怎麼考
哪種類型的啊?國際認證很貴的.
建議參加程序員考試.
如果是那樣的話
第一個:學完C後,學什麼?不知道你C語言學得怎麼樣。我認為你一定要把C語言學精,C語言在以後的工作中(軟體工程師的工作)雖然用到很少,但是裡面的語法、演算法、例子(過程)會用到很多,都很精典。學完C後,我認為你應該也好好學一下C++,裡面的類對以後分析問題也很有用,學好C++了,JAVA差不多70%的都會了,JAVA差不多全是類。
第二個:如果你想做一名軟體工程師,資料庫原理是最有用的,一定要好好學。其它了解就可以了。因為現在的軟體差不多都離不開資料庫。
第三個:找一些編程愛好都的QQ群就可以。
第四個:無所謂,因為現在用到LINUX系統的很少,除了銀行等。
第五個:做為軟體工程師主要是靠做項目來積累自己的知識和經驗。
第六個:我也希望你能走上軟體工程師的道路,因為現在軟體工程師在全國在哪都能找到工作,但是有一點注意,一定要學好大學里的理論和基礎,如:高數,數據結構等。
Ⅸ java程序員的認證考試怎麼考
有。目前Java是甲骨文公司(Oracle)的編程語言產品,公司為此設置了4個官方的證書,從初級到高級依次是:
1. Oracle Certified Associate:需要掌握後續證書都要用到的基礎Java編程知識
2. Oracle Certified Professional:分為「移動應用開發」和「商業組件開發」兩大內容
3. Oracle Certified Expert:分為「企業級JavaBean開發」,「Java持久化開發」,「Web服務開發」,「Web組件開發」四大內容
4. Oracle Certified Master:需要掌握Java企業級架構和企業級開發
Ⅹ Java程序員考試都需要什麼證書沒有
有。目前Java是甲骨文公司(Oracle)的編程語言產品,公司為此設置了4個官方的證書,從初級到高級依次是:
1、Oracle Certified Associate:需要掌握後續證書都要用到的基礎Java編程知識。
2、 Oracle Certified Professional:分為「移動應用開發」和「商業組件開發」兩大內容。
3、Oracle Certified Expert:分為「企業級JavaBean開發」,「Java持久化開發」,「Web服務開發」,「Web組件開發」四大內容。
4、Oracle Certified Master:需要掌握Java企業級架構和企業級開發。
這四個證書是官方出的,所以具有絕對的權威性,當然價格也不便宜。
但是,如果想找到好工作,建議還是磨練自己的技術和經驗,就算你有了證書,在面試的時候還是要考察你的基本功和知識面,所以個人覺得認證證書最大的用處是讓簡歷好看一些。
(10)java程序員考試擴展閱讀
Java認證考試的特點分述:
1、SCJP(Sun Certified Java Programmer):測試 Java程序設計的觀念和能力,內容偏重於 Java 語法和 JDK 內容。共 59 題復選及填充,時間 2 小時,答對 61% 是及格標准。
2、SCWD(Sun Certified Web Component Developer for J2EE Platform):內容涵蓋 Servlet 與 JSP。考題為 60 題復選及填充,時間 2 小時,答對 70% 是及格標准。
3、SCJD(Sun Certified Java Developer):測試 Java 軟體開發的進階技能,考試分成兩階段,第一階段是程序設計題,時間無限制,答對 80% 以上就可以進入第二階段應試。第二階段是 5-10 題簡答題,時間 90 分鍾,答對 70% 以上即可得到 SCJD 認證。
4、SCAJ(Sun Certified Enterprise Architect for J2EE):測試對於 J2EE 架構的熟悉程度以及系統整合的能力。本考試分成三個階段,第一個階段是 48 題復選題,時間 75 分鍾,答對 68% 以上方可進入下階段。第二階段是系統設計專題,無時間限制,答對 70% 以上方可進入下一階段。第三階段是四題申論題,應試時間 90 分鍾。