Java語(yǔ)法基本知識(shí)有哪些_java語(yǔ)法基本編程 IT知識(shí)
電腦知識(shí) 由優(yōu)爾供稿Java自面世后就非常流行,發(fā)展迅速,在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景。下面是9252兒童網(wǎng)小編為大家整理的Java語(yǔ)法基本知識(shí),希望能對(duì)大家有所幫助。
Java語(yǔ)法知識(shí)
標(biāo)示符
其實(shí)就是在程序中自定義的名詞。比如類(lèi)名,變量名,函數(shù)名。包含
0-9、a-z、$、_ ;
注意:
1.數(shù)字不可以開(kāi)頭
2.不可以使用關(guān)鍵字
常量
在運(yùn)行中不會(huì)變化的'量 編譯后會(huì)被替換成魔法數(shù)字
變量
其實(shí)就是內(nèi)存中的一個(gè)存儲(chǔ)空間,用于存儲(chǔ)常量數(shù)據(jù)。
作用:方便于運(yùn)算。因?yàn)橛行?shù)據(jù)不確定。所以確定該數(shù)據(jù)的名詞和存儲(chǔ)空間。
特點(diǎn):變量空間可以重復(fù)使用。
變量的作用域和生存期
變量的作用域 :
作用域從變量定義的位置開(kāi)始,到該變量所在的那對(duì)大括號(hào)結(jié)束;
生命周期:
變量從定義的位置開(kāi)始就在內(nèi)存中活了;
變量到達(dá)它所在的作用域的時(shí)候就在內(nèi)存中消失了;
數(shù)據(jù)類(lèi)型
基本數(shù)據(jù)類(lèi)型
byte、short、int、long、float、double、char、boolean
引用數(shù)據(jù)類(lèi)型
數(shù)組、類(lèi)、接口
級(jí)別從低到高為
byte,char,short(平級(jí))-->int-->float-->long-->double
自動(dòng)類(lèi)型轉(zhuǎn)換
從低級(jí)別到高級(jí)別,系統(tǒng)自動(dòng)轉(zhuǎn)的;
運(yùn)算符號(hào)
算術(shù)運(yùn)算符
+ - * / % 任何整數(shù)模2不是0就是1,可以實(shí)現(xiàn)開(kāi)關(guān)操作
賦值運(yùn)算符
= ,+= , -= , *= ,/= , %=
比較運(yùn)算符
特點(diǎn):該運(yùn)算符的特點(diǎn)是:運(yùn)算完的結(jié)果,要么是true,要么false
JAVA常見(jiàn)的語(yǔ)法錯(cuò)誤
1.變量可能未初始化
錯(cuò)誤提示:Abc.java:9: variable i might not have been initialized
System.out.println(i);
中文說(shuō)明:變量i可能沒(méi)有賦值就使用了。
例子說(shuō)明:
int i;
System.out.println(i);
2.變量重復(fù)定義
錯(cuò)誤提示:Abc.java:9: i is already defined in main(java.lang.String[])
int i = 2;
中文說(shuō)明:變量重復(fù)定義了
例子說(shuō)明:
int i = 1;
int i = 2;
3. 找不到符號(hào):
Test6.java:26: cannot find symbol
symbol : variable j
location: class Test6
if(j < 0) {undefined
4. 找不到類(lèi)的錯(cuò)誤
Main.java:4: cannot find symbol
symbol : class T1
location: class Main
T1 a = new T1();
5. 找不到方法的錯(cuò)誤
Main.java:5: cannot find symbol
symbol : method a()
location: class T
a.a();
6. 找不到類(lèi)
錯(cuò)誤提示 Test.java:1: class Test1 is public, should be declared in a file named Test1.java
public class Test1 {undefined
中文說(shuō)明 test1是公共的,必須在文件中聲明
例子說(shuō)明
建一個(gè)文件為T(mén)est;在工具中打開(kāi)這樣寫(xiě) public class Test11 {}; 就會(huì)報(bào)這個(gè)錯(cuò)誤
7 找不到這個(gè)類(lèi)(類(lèi)名跟文件名不一致)
NoClassDefFoundError: asa (wrong name: ASA)
8. 數(shù)組下標(biāo)越界
java.lang.ArrayIndexOutOfBoundsException: 1
at Test2.test2(Test2.java:30)
at Test2.main(Test2.java:6)
9. 字符串下標(biāo)越界
java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(String.java:558)
at Test2.test3(Test2.java:41)
at Test2.main(Test2.java:7)
10. 空指向
Exception in thread "main" java.lang.NullPointerException
at Next.main(Next.java:31)
11空返回值
錯(cuò)誤提示 Test1.java:54: 'void' type not allowed here
System.out.println(a5.deleteOnExit());
中文說(shuō)明;此處不允許使用void返回值
例子說(shuō)明 如果聲明一個(gè)void的方法,那就不能直接輸出來(lái)
Public static void edit() {}
System.out.println(Test.edit());
12 缺少返回值
asa.java:8: missing return statement
int fan(){}
^
1 error
13 沒(méi)有返回值的方法中不需要返回值
asa.java:10: cannot return a value from method whose result type is void
return a;
^
1 error
14. 引用的方法入?yún)⒉粚?duì)
Next.java:66: cannot find symbol
symbol : method createTempFile(java.lang.String,java.lang.String,java.lang.String)
location: class java.io.File
File ll = f.createTempFile("let","java","aaa");
15. .缺少形參
del() in sms.service.Service cannot be applied to (int)
16, .無(wú)效的方法聲明(需要返回類(lèi)型)
invalid method declaration; return type required
public byteValue(){undefined
17. 要求傳入的是數(shù)組,卻傳入了字符串
array required, but java.lang.String found
^
18 找不到構(gòu)造方法
Main.java:4: cannot find symbol
symbol : constructor T()
location: class T
new T();
19、數(shù)字格式化異常
Exception in thread "main" java.lang.NumberFormatException: null 20. .不兼容的類(lèi)型
錯(cuò)誤提示Test1.java:41: incompatible types
found : java.lang.String[]
required: java.io.File[]
File [] a3 = a11.list();
中文說(shuō)明 不兼容的類(lèi)型
21. 非靜態(tài)方法不能在靜態(tài)上下文中引用
non-static method cannot be referenced from a static context
22.不是靜態(tài)方法而用靜態(tài)方式調(diào)用(類(lèi)名。方法)
Main.java:5: non-static method fun1() cannot be referenced from a static context
Test.fun1();
23靜態(tài)訪(fǎng)問(wèn)非靜態(tài)(變量)
Test.java:5: non-static variable a cannot be referenced from a static context
a = 1000;
24. 靜態(tài)訪(fǎng)問(wèn)非靜態(tài)(方法)
Test.java:6: non-static method fun1() cannot be referenced from a static context
fun1(); // 靜態(tài)的不能調(diào)用非靜
25.continue outside of loop (將continue放在for循環(huán)外的時(shí)候出現(xiàn)的錯(cuò)誤報(bào)告)
26.illegal start of expression 違反規(guī)則的表達(dá)(將for循環(huán)中第二表達(dá)放置于for循環(huán)外或內(nèi)部時(shí)出現(xiàn)的錯(cuò)誤報(bào)告)
27 asa.java:6: unreachable statement 不能到達(dá)的語(yǔ)句(語(yǔ)句放于continue或break后出
現(xiàn)不能到達(dá),及continue和break后不能有語(yǔ)句)
28 break置于循環(huán)語(yǔ)句外
asa.java:8: break outside switch or loop
break;
^
1 error
29- 標(biāo)識(shí)符錯(cuò)誤(標(biāo)識(shí)符不合法);
asa.java:2: expected
int %%;
^
1 error
30. 沒(méi)找到方法體,或聲明為抽象的(方法)
MyAbstract.java:6: missing method body, or declare abstract
31. 這個(gè)類(lèi)不是抽象類(lèi) 或者沒(méi)有覆蓋 重寫(xiě)方法fun1() 有抽象的方法的就必須是抽象類(lèi)
MyAbstract.java:1: MyAdstract is not abstract and does not override abstract method fun1() in MyAdstract
32. Myabstract 它是屬于抽象類(lèi)的,不能產(chǎn)生對(duì)象。
3.Main.java:6: Myabstract is abstract; cannot be instantiated
33. 接口的方法不能有方法體
4 MyInterface.java:2: interface methods cannot have body
34, .它是屬于抽象類(lèi)的,不能產(chǎn)生實(shí)體
Myabstract is abstract; cannot be instantiated
35. 接口的方法不能有方法體
interface methods cannot have body
36. 此處不允許使用static修飾
asa.java:3: modifier static not allowed here
public static void main(String []args){undefined
^
^
37—不能改變的類(lèi)型(String 型 不能轉(zhuǎn)換成Int型)
asa.java:4: inconvertible types
found : java.lang.String
required: int
int b=(int)a;
^
1 error
38.possible loss of precision found: long ;required:byte ; var=varlong 可能造成精度損失(在整型較大的轉(zhuǎn)換成較小的情況下會(huì)造成損失,小的轉(zhuǎn)大的,則不會(huì)造成損失。)
39分隔符異常
asa.java:5: ';' expected
40 括號(hào)異常
asa.java:8: '}' expected
41. 應(yīng)用程序試圖創(chuàng)建大小為負(fù)的數(shù)組。
java.lang.NegativeArraySizeException
42. 出現(xiàn)異常的運(yùn)算條件
java.lang.ArithmeticException: / by zero
at Test2.test(Test2.java:16)
at Test2.main(Test2.java:5)
43抽象方法不能被final修飾(抽象類(lèi)的抽象的東西一定要被繼承)
44.抽象方法不能被private修飾(抽象類(lèi)抽象的東西一定要被繼承)
45 Integer number too large 定義值(整數(shù))過(guò)大
java語(yǔ)法基本編程
1.了解 Java 的數(shù)據(jù)類(lèi)型
2.掌握各種變量的聲明方式。
3.理解運(yùn)算符的優(yōu)先級(jí)。
4.掌握 Java 基本數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式。
5.理解 Java 程序語(yǔ)法結(jié)構(gòu),掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語(yǔ)法的程序設(shè)計(jì)方法。
6.通過(guò)以上內(nèi)容,掌握 Java 語(yǔ)言的編程規(guī)則。
(一) 聲明不同數(shù)據(jù)類(lèi)型的變量
1.編寫(xiě)聲明不同數(shù)據(jù)類(lèi)型變量的程序文件SY2_1.java,源代碼如下。
2. 編譯并運(yùn)行該程序
(二) 了解變量的.使用范圍
1. 建立 SY2_2.java 文件,通過(guò)本程序了解變量的使用范圍,源代碼如下。
2.編譯 SY2_2.java
此時(shí)會(huì)出現(xiàn)錯(cuò)誤提示。因?yàn)樽兞?k 在方法塊中聲明,在方法塊之外它是不存在的,所以編譯時(shí)會(huì)出錯(cuò)。
3.修改上面的程序。
4.成功運(yùn)行該程序。
(三) 使用關(guān)系運(yùn)算符和邏輯運(yùn)算符
1.建立使用關(guān)系運(yùn)算符和邏輯運(yùn)算符的程序文件,源代碼如下。
2.編譯并運(yùn)行該程序 .
(四) 使用選擇語(yǔ)句
1.使用 if...else 語(yǔ)句
求三個(gè)數(shù)中的最大者
編譯運(yùn)行程序
思考:本程序中有幾個(gè)選擇語(yǔ)句,哪些具有嵌套關(guān)系?
2.使用 switch 語(yǔ)句
程序功能:在不同溫度時(shí)顯示不同的解釋說(shuō)明。
程序源代碼如下。
注意三目運(yùn)算符的使用
編譯運(yùn)行程序
(五) 使用循環(huán)語(yǔ)句
1.for 循環(huán)語(yǔ)句練習(xí)
程序功能:按 5 度的增量打印出一個(gè)從攝氏溫度到華氏溫度的轉(zhuǎn)換表。
程序源代碼如下:
編譯并運(yùn)行程序,記錄。
2.while 循環(huán)語(yǔ)句練習(xí)
程序功能:運(yùn)行程序后從鍵盤(pán)輸入數(shù)字 1/2/3 后,可顯示抽獎(jiǎng)得到的獎(jiǎng)品;如果輸入其它數(shù)字或字符顯示"沒(méi)有獎(jiǎng)品給你!"。
(六)編寫(xiě)程序
程序功能:求 1+2+…+100 之和,并將求和表達(dá)式與所求的和顯示出來(lái)。
輸出九九乘法表的程序
- java基本知識(shí)有哪些_Java語(yǔ)言的特點(diǎn)
- URI和URL的區(qū)別有哪些_URI的格式
- 大數(shù)據(jù)的概念及趨勢(shì)_大數(shù)據(jù)的特點(diǎn)
- c語(yǔ)言的應(yīng)用及注意事項(xiàng)_C語(yǔ)言編譯器gcc命令
- C語(yǔ)言的用法及特點(diǎn)_C語(yǔ)言怎樣輸出菱形
- it入門(mén)基礎(chǔ)常識(shí)有哪些_IT英文縮寫(xiě)
- IT技術(shù)知識(shí)有哪些_IT互聯(lián)網(wǎng)基礎(chǔ)知識(shí)術(shù)語(yǔ)
- 電腦鍵盤(pán)功能基礎(chǔ)知識(shí)有哪些_鍵盤(pán)按鍵的入
- c語(yǔ)言入門(mén)基礎(chǔ)常識(shí)有哪些_C程序的生成過(guò)程
- it必須學(xué)的基礎(chǔ)知識(shí)有哪些_IT英文縮寫(xiě)
- 計(jì)算機(jī)組裝維護(hù)知識(shí)有哪些_計(jì)算機(jī)應(yīng)用
- java入門(mén)知識(shí)有哪些_java語(yǔ)言特點(diǎn)