java语言基本语法_Java语言基本语法
Java語言基本語法
一、標識符和關(guān)鍵字
標識符
在java語言中,用來標志類名、對象名、變量名、方法名、類型名、數(shù)組名、包名的有效字符序列,稱為“標識符”;
標識符由字母、數(shù)字、下劃線、美元符號組成,且第一個字符不能是數(shù)字;
java語言區(qū)分大小寫;
標志符命名規(guī)則:類名首字母大寫,變量名和方法名采用駝峰標志法,常量全大寫,多個單詞之間用“_”隔開,包名全小寫;
關(guān)鍵字
在java語言中,有一些專門的詞匯已經(jīng)被賦予了特殊的含義,不能再使用這些詞匯來命名標識符,這些專有詞匯,稱為“關(guān)鍵字”;
java有50個關(guān)鍵字和3個保留字,均不能用來命名標識符;
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
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
true、false、null不是關(guān)鍵字,是保留字,但是仍不能用來命名標識符,保留字是java預留的關(guān)鍵字,在以后的升級版本中可能會作為關(guān)鍵字;
二、基本數(shù)據(jù)類型
1. 整數(shù)類型(int為默認類型)
2. 浮點類型(double為默認類型)
在給float類型的變量賦值時,如果賦的值有小數(shù)部分則一定要在末尾加上“F”或“f”;
3. 字符類型(2字節(jié))
char ch = 'a';
有些字符不能通過鍵盤輸入到程序當中,這時就需要使用到轉(zhuǎn)義字符;
4. 布爾類型(1字節(jié))
boolean flag = true;
5. 默認值
數(shù)值變量:0;
字符變量:‘\0’;
布爾變量:false;
引用數(shù)據(jù)類型:null;
6. 不同數(shù)據(jù)類型之間的轉(zhuǎn)換
自動類型轉(zhuǎn)換(低 到 高)
強制類型轉(zhuǎn)換(高 到 低)
public class Test003 {
public static void main(String[] args) {
byte b = 100;
int i = 22;
float f = 78.98f;
int res = b + i + (int)f; //此處對f使用了強制類型轉(zhuǎn)換(int)f,轉(zhuǎn)換后的值為78
System.out.println("res: "+res); //res: 200
}
}
三、運算符與表達式
1. 算術(shù)運算符
public class Test003 {
public static void main(String[] args) {
int i = 5;
System.out.println(0/i); //0
System.out.println(0%i); //0
System.out.println(i/0); //除數(shù)不能為零,報異常java.lang.ArithmeticException
System.out.println(i%0); //除數(shù)不能為零,報異常java.lang.ArithmeticException
}
}
2. 賦值運算符
3. 自增自減運算符(++,--)
public class Test003 {
public static void main(String[] args) {
int i = 5;
System.out.println(i++); //5
System.out.println(++i); //7
System.out.println(i); //7
System.out.println(--i); //6
System.out.println(i--); //6
System.out.println(i); //5
}
}
4. 關(guān)系運算符
5. 邏輯運算符
public class Test003 {
public static void main(String[] args) {
boolean t = true;
boolean f = false;
System.out.println(t && f); //false,短路與運算符,若運算符左側(cè)為false則不計算右側(cè)的表達式
System.out.println(t || f); //true,短路或運算符,若運算符左側(cè)為true則不計算右側(cè)的表達式
System.out.println(t & f); //false,與運算符,不管左側(cè)是否為false都要計算右側(cè)的表達式
System.out.println(t | f); //true,或運算符,不管左側(cè)是否為true都要計算右側(cè)的表達式
System.out.println(t ^ f); //true,異或運算符,只要左右兩側(cè)不相同則為true,反之為false
System.out.println(!f); //true,取反運算符
}
}
6. 位運算符
public class Test003 {
public static void main(String[] args) {
//在位運算符中1相當于true,0相當于false
int b1 = 6; //二進制為00000000 00000000 00000000 00000110
int b2 = 11; //二進制為00000000 00000000 00000000 00001011
System.out.println(b1 & b2); //按位與運算符,二進制為00000000 00000000 00000000 00000010,結(jié)果為2
System.out.println(b1 | b2); //按位或運算符,二進制為00000000 00000000 00000000 00001111,結(jié)果為15
System.out.println(b1 ^ b2); //按位異或運算符,二進制為00000000 00000000 00000000 00001101,結(jié)果為13
System.out.println(~b1); //按位取反運算符,二進制為11111111 11111111 11111111 11111001,結(jié)果為-7
System.out.println(b1 << 2); //左移位運算符,二進制為00000000 00000000 00000000 00011000,結(jié)果為24
int b3 = -14; //二進制為11111111 11111111 11111111 11110010
System.out.println(b3 >> 2); //帶符號右移位運算符,二進制為11111111 11111111 11111111 11111100,結(jié)果為-4
System.out.println(b3 >>> 2); //無符號右移位運算符,二進制為00111111 11111111 11111111 11111100,結(jié)果為1073741820
}
}
7. 三元運算符
public class Test003 {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 4;
int res = c==a+b?++a:c>a+b?++b:++c; //三元運算符 (表達式)?(值1):(值2),若表達式為true則取值1,反之取值2
System.out.println(res); //++b,結(jié)果為3
}
}
8. 運算符優(yōu)先級
四、數(shù)組
1. 一維數(shù)組
public class Test003 {
public static void main(String[] args) {
int[] i; //聲明一個整型的一維數(shù)組變量
int ii[]; //聲明一個整型的一維數(shù)組變量
i = new int[5]; //創(chuàng)建一個長度為5的一維數(shù)組對象,并將變量i指向該對象
float[] f = new float[5]; //直接創(chuàng)建一個長度為5的單精度浮點型一維數(shù)組對象,并將變量f指向該對象
double[] d = {1, 2, 3.4, 4.5}; //直接初始化一個一維數(shù)組元素
System.out.println(d[3]); //通過數(shù)組下標來獲取數(shù)組內(nèi)的元素,數(shù)組下標從0開始,結(jié)果為4.5
System.out.println(f[0]); //當創(chuàng)建出一個數(shù)組對象時,該對象內(nèi)的數(shù)組元素為該數(shù)據(jù)類型的默認值,所以此處結(jié)果為0.0
//System.out.println(i[5]); //當通過數(shù)組下標來獲取數(shù)組內(nèi)元素時,[]內(nèi)的值>=數(shù)組長度則報異常java.lang.ArrayIndexOutOfBoundsException(數(shù)組下標越界)
//System.out.println(ii[0]); //若一個數(shù)組變量只聲明而未指向某一個具體的數(shù)組對象時,編譯出錯
System.out.println(d.length); //得到該數(shù)組的長度,結(jié)果為4
}
}
2. 二維數(shù)組
public class Test003 {
public static void main(String[] args) {
int[][] i; //聲明一個整型的二維數(shù)組變量
int ii[][]; //聲明一個整型的二維數(shù)組變量
int[] iii[]; //聲明一個整型的二維數(shù)組變量
i = new int[5][2]; //創(chuàng)建一個長度為5的二維數(shù)組對象,并將變量i指向該對象
float[][] f = new float[5][2]; //直接創(chuàng)建一個長度為5的單精度浮點型二維數(shù)組對象,并將變量f指向該對象
double[][] d = {{1}, {2,3}, {4,5,6}, {7,8,9,10}}; //直接初始化一個二維數(shù)組元素
System.out.println(d[3][1]); //通過數(shù)組下標來獲取數(shù)組內(nèi)的元素,數(shù)組下標從0開始,結(jié)果為8
System.out.println(f[0][0]); //當創(chuàng)建出二個數(shù)組對象時,該對象內(nèi)的數(shù)組元素為該數(shù)據(jù)類型的默認值,所以此處結(jié)果為0.0
//System.out.println(i[5][0]); //當通過數(shù)組下標來獲取數(shù)組內(nèi)元素時,[]內(nèi)的值>=數(shù)組長度則報異常java.lang.ArrayIndexOutOfBoundsException(數(shù)組下標越界)
//System.out.println(ii[0][0]); //若一個數(shù)組變量只聲明而未指向某一個具體的數(shù)組對象時,編譯出錯
System.out.println(d.length); //得到該數(shù)組的長度,結(jié)果為4
System.out.println(d[2].length); //得到二位數(shù)組內(nèi)的下標為2的那個一維數(shù)組的長度
}
}
五、流程控制語句(if,switch,for,while,do...while)
1. 條件分支語句
public class Test003 {
public static void main(String[] args) {
int[] score = new int[5];
score[0] = -7;
score[1] = 65;
score[2] = 80;
score[3] = 90;
score[4] = 59;
for(int i=0; i
if(score[i]>=0 && score[i]<60) {
System.out.println("不及格");
}else if(score[i]>=60 && score[i]<80) {
System.out.println("及格");
}else if(score[i]>=80 && score[i]<90) {
System.out.println("良");
}else if(score[i]>=90 && score[i]<100) {
System.out.println("優(yōu)");
}else {
System.out.println("成績異常");
}
}
char ch = 'a';
switch(ch) { //switch括號內(nèi)只支持 byte,short,int,char,enum五種數(shù)據(jù)類型,但是JDK1.7版本增加了String類型,所以相對于JDK1.7而言就是六種了
case 'A': //case為switch語句的入口,break為出口,從入口開始執(zhí)行,直到遇到出口或代碼執(zhí)行完畢才結(jié)束
case 'a':
System.out.println("優(yōu)");
break;
case 'B':
case 'b':
System.out.println("良");
break;
case 'C':
case 'c':
System.out.println("及格");
break;
default: //若上述條件均不匹配,則進default開始執(zhí)行語句
System.out.println("不及格");
}
}
}
2. 循環(huán)語句
public class Test003 {
public static void main(String[] args) {
int res = 0;
out: //out是一個標號,告訴java從哪里開始執(zhí)行程序
for(int i=1; i<=10; i++) {
if(i==3) continue out; //continue終止本次循環(huán),執(zhí)行下次循環(huán)
if(i==5) break out; //break跳出循環(huán)
res = res + i;
}
System.out.println(res); //結(jié)果為1+2+4=7
int res2 = 0;
int i = 1;
in:
do{
if(i==3) continue in; //continue終止本次循環(huán),執(zhí)行下次循環(huán)
if(i==5) break in; //break跳出循環(huán)
res2 = res2 + i;
i++;
}while(i<=10);
System.out.println(res2);
}
}
總結(jié)
以上是生活随笔為你收集整理的java语言基本语法_Java语言基本语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车电池多少钱啊?
- 下一篇: java内存模型按照线程隔离性_深入理解