java 静态对象语法_04.Java 语法
計算機基礎知識
表達式(expression):Java中最基本的一個運算。比如一個加法運算表達式。1+2是一個表達式,a+b也是。
計算機內存的最小存儲單元是字節(byte),一個字節就是一個8位二進制數,即8個bit。
它的二進制表示范圍從00000000~11111111,換算成十進制是0~255,換算成十六進制是00~ff。
語句(statement):類似于平時說話時的一句話,由表達式組成,以;結束。比如 int a=3; y=a+9; System.out.println(y); 都是語句。
bit: 一個二進制的位叫做一個 bit。例如 1010 就是四個位,也就是4個bit。(常見于 網絡帶寬中的單位)
byte: 是八個二進制的位,組成一個 byte(也叫字節)。(常見于 硬盤等存儲的單位)
byte: 是計算機中基本的衡量存儲的單位,計算機在對外使用時不會用bit作為劃分存儲的單位。
字符集(Charset):字符集就是字符的集合。一般會包含一種語言的字符。比如GBK,是包含所有常用漢字字符的字符集。ASCⅡ是包含英文字符的字符集。
編碼(Encoding): char代表一個字符,char的本質也是數字。將數字映射到字符,就叫編碼。
將一個字符集映射到數字,就是給這個字符集編碼。編碼是有標準的,所有的計算機系統按照同一個編碼標準執行。
有時候編碼和字符集會混用。
字符就是Java中的char,char是character的簡寫。
常用字符集:
Unicode 包含世界上所有常用字符,編碼也有幾種,包括UTF-8(8-bit Unicode Transformation Format),UTF-16等。
Unicode,GDK 等所有常用的字符集,都會兼容ASCII。舉個例子,字符A在這些所有常用的字符集里,都是對應數字65。
轉義符語法和常用的轉義符
\n,換行符
",雙引號
\t,制表符
\uXXXX,Unicode編碼對應的字符。
Java中的字符集
Java中用的是 UTF-16編碼的Unicode。
UTF-16用16個 bit,即兩個byte,也就是char占用兩個byte的原因。當把char轉成數字的時候,需要用int。
基本語法
編寫 Java 程序時,應注意以下幾點:
大小寫敏感:Java 是大小寫敏感的,這就意味著標識符 Hello 與 hello 是不同的。
類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記 Java 是大小寫敏感的),文件名的后綴為 .java。(如果文件名和類名不相同則會導致編譯錯誤)。
主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法開始執行。
源文件聲明規則
一個源文件中只能有一個 public 類,但可以有多個非 public 類
源文件的名稱應該和 public 類的類名保持一致。例如:源文件中 public 類的類名是 Employee,那么源文件應該命名為Employee.java。
如果一個類定義在某個包中,那么 package 語句應該在源文件的首行。
如果源文件包含 import 語句,那么應該放在 package 語句和類定義之間。如果沒有 package 語句,那么 import 語句應該在源文件中最前面。
import 語句和 package 語句對源文件中定義的所有類都有效。在同一源文件中,不能給不同的類不同的包聲明。
Java修飾符
像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:
1.訪問控制修飾符 : default, public , protected, private
Java中,可以使用訪問控制符來保護對類、變量、方法和構造方法的訪問。Java 支持 4 種不同的訪問權限。
default (即默認,什么也不寫): 在同一包內可見,不使用任何修飾符。使用對象:類、接口、變量、方法。
private : 在同一類內可見。使用對象:變量、方法。 注意:不能修飾類(外部類)
public : 對所有類可見。使用對象:類、接口、變量、方法
protected : 對同一包內的類和所有子類可見。使用對象:變量、方法。 注意:不能修飾類(外部類)。
image.png
2.非訪問控制修飾符 : final, abstract, static, synchronized
static 修飾符,用來修飾類方法和類變量。
final 修飾符,用來修飾類、方法和變量,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變量為常量,是不可修改的。
abstract 修飾符,用來創建抽象類和抽象方法。
synchronized 和 volatile 修飾符,主要用于線程的編程。
Java 關鍵字
下面列出了 Java 關鍵字。這些保留字不能用于常量、變量、和任何標識符的名稱。
1.png
2.png
3.png
Java 源程序與編譯型運行區別
image.png
Java變量
Java語言支持的變量類型有:
1.類變量(靜態變量):獨立于方法之外的變量,用 static 修飾。
類變量也稱為靜態變量,在類中以 static 關鍵字聲明,但必須在方法之外。
無論一個類創建了多少個對象,類只擁有類變量的一份拷貝。
靜態變量除了被聲明為常量外很少使用,靜態變量是指聲明為 public/private,final 和 static 類型的變量。靜態變量初始化后不可改變。
靜態變量儲存在靜態存儲區。經常被聲明為常量,很少單獨使用 static 聲明變量。
靜態變量在第一次被訪問時創建,在程序結束時銷毀。
與實例變量具有相似的可見性。但為了對類的使用者可見,大多數靜態變量聲明為 public 類型。
默認值和實例變量相似。數值型變量默認值是 0,布爾型默認值是 false,引用類型默認值是 null。變量的值可以在聲明的時候指定,也可以在構造方法中指定。此外,靜態變量還可以在靜態語句塊中初始化。
靜態變量可以通過:ClassName.VariableName的方式訪問。
類變量被聲明為 public static final 類型時,類變量名稱一般建議使用大寫字母。如果靜態變量不是 public 和 final 類型,其命名方式與實例變量以及局部變量的命名方式一致。
2.實例變量:獨立于方法之外的變量,不過沒有 static 修飾。
實例變量聲明在一個類中,但在方法、構造方法和語句塊之外;
當一個對象被實例化之后,每個實例變量的值就跟著確定;
實例變量在對象創建的時候創建,在對象被銷毀的時候銷毀;
實例變量的值應該至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式獲取實例變量信息;
實例變量可以聲明在使用前或者使用后;
訪問修飾符可以修飾實例變量;
實例變量對于類中的方法、構造方法或者語句塊是可見的。一般情況下應該把實例變量設為私有。通過使用訪問修飾符可以使實例變量對子類可見;
實例變量具有默認值。數值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null。變量的值可以在聲明時指定,也可以在構造方法中指定;
實例變量可以直接通過變量名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。
3.局部變量:類的方法中的變量。
局部變量聲明在方法、構造方法或者語句塊中;
局部變量在方法、構造方法、或者語句塊被執行的時候創建,當它們執行完成后,變量將會被銷毀;
訪問修飾符不能用于局部變量;
局部變量只在聲明它的方法、構造方法或者語句塊中可見;
局部變量是在棧上分配的。
局部變量沒有默認值,所以局部變量被聲明后,必須經過初始化,才可以使用。
public class Variable{
static int allClicks=0; // 類變量
//salary是靜態的私有變量(類變量)
private static double salary;
// DEPARTMENT是一個常量(類變量)
public static final String DEPARTMENT = "開發人員";
//(類變量)
public static void main(String[] args){
salary = 10000;
System.out.println(DEPARTMENT+"平均工資:"+salary);
}
String str="hello world"; // 實例變量
private/protected/public/default String str1="hello world-1"; // 實例變量
public void method(){
int i =0; // 局部變量
}
}
import java.io.*;
public class Employee{
// 這個實例變量對子類可見
public String name;
// 私有變量,僅在該類可見
private double salary;
//在構造器中對name賦值
public Employee (String empName){
name = empName;
}
//設定salary的值
public void setSalary(double empSal){
salary = empSal;
}
// 打印信息
public void printEmp(){
System.out.println("名字 : " + name );
System.out.println("薪水 : " + salary);
}
public static void main(String[] args){
Employee empOne = new Employee("RUNOOB");
empOne.setSalary(1000.0);
empOne.printEmp();
}
}
Java 常量
在 Java 中使用 final 關鍵字來修飾常量,聲明方式和變量類似:final double PI = 3.1415927;
繼承
在 Java 中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那么你可以將新創建的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。
運算符
除賦值運算符外,運算符本身不會更改變量的值。
運算符的運算結果類型有的是固定的,有時候會根據被計算的值變化。比如:
兩個int相加結果的類型就是int,兩個byte相加,結果的類型是int。
一個int一個double結果是double類型
比較運算符
">、 >=、
布爾運算符
!、 &、 &&、 |、 ||
&和&&、|和||的區別, ||和&&是帶有短路邏輯(JS里好像是這么叫的)的。Java中要用&&和||不要用單個的
運算符優先級
()
!
*,/,%
+,-
,>=
==
!=
&,&&,|,||
=
Java中的位運算符
以0開頭的整數為八進制
05就是十進制的5
011就是十進制的9
以0x開頭的整數為十六進制(x可以是大寫,可以是小寫,一般都是寫小寫的)
0xF就是十進制的15
0x11就是十進制的17
按位運算符(可以理解為為二進制定制一種運算)
按位并(AND):& (把二進制的每一位,對位運算,0和1結果就是0,1和1結果是1)
按位或(OR):| (把二進制的每一位,對位運算,有其中一個位是1其結果是1)
按位異或(XOR):^ (把二進制的每一位,對位運算,兩個位如果一樣就是0,不一樣就是1)
按位取反:~ (把二進制的每一位取反)
位移運算符(只是把指定的二進制拿出來進行計算,并不會修改原二進制數)
>>:符號位不動(數字都是有符號位的,第一位是符號位,符號位為0是正數,符號位為1是負數),其余位又移,符號位后邊補0,又稱帶符號右移
>>>:符號位一起右移,左邊補0,又稱無符號右移
<<:>
例子:
int a=0x400
a>>2
二進制數:0101 1101 并不是說符號位是負,那么就是負的101 1101。因為有一套補碼規則在,了解就好。
自增和自減操作符
++、--
//前加加得到的是增加完成后的值,后加加得到的是為增加時的值。(這點與JS剛好相反)
條件語句
switch語句中用于比較的值,必須是int類型,---最新版本的Java switch可能也支持其他類型
類(class)語法元素
public class HelloWorld{}
public class 是類修飾符
HelloWorld 是類名,要與文件名一致
大括號內是類的內容
class 是Java語言中的一等公民,Java程序就是一個個的類組成的
類由修飾符,類名和類的內容組成
類名必須與保存類源文件的文件名相同
main方法(main method)語法元素
public class HelloWorld{
public static void main(String[] args){}
}
public static void 是方法修飾符
小括號內String[] args是方法參數(parameter)
大括號內是方法的內容,又稱方法體(method body)
Main方法最為特殊的一點是,它是Java程序的入口。就好性游戲的開始按鍵
Main方法是Java程序執行的入口,一個Java文件可以有很多個方法,Java程序會從main方法開始執行。
方法由方法修飾符,方法名,參數列表和方法體等組成
System.out.printIn
public class HelloWorld{
public static void main(String[] args){
System.out.println(); //注意是ln,是line,一行的縮寫
}
}
System.out.println是Java平臺提供的類庫的內容(Java提供的內置功能)。可以將內容輸出。(命令行里使用就是輸出到命令行(command line))
小括號里的內容還是參數(parameter)列表
沒有參數的情況下,System.out.println會輸出一行空行,也就是類似于我們敲個回車(會換一行)。
總結
以上是生活随笔為你收集整理的java 静态对象语法_04.Java 语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实例 71,72
- 下一篇: 2048java课程设计报告_2048小