目錄
一、關鍵字與保留字
定義:①關鍵字:Java關鍵字是電腦語言裏事先定義的,有特別意義的標識符(字符串) 。
②保留字:現版本jdk中未被定義爲關鍵字,將來版本中可能會使用的標識符(字符串)。
二、標識符與變量
1、定義:
①變量:能儲存計算結果或能表示值的抽象概念,可對其進行定義、賦值等操作。
②標識符:對各種變量、方法和類等命名時使用的字符序列稱爲標識符。
2、標識符命名規則:(建議使用駝峯命名法)
①開頭:英文字母、'_' 、'$',且不可數字開頭更不可全部使用數字。
②不可使用關鍵字、保留字,但可包含。
③Java中嚴格區分大小寫,且不可包含空格。
注意:常量名建議全部大寫,文件名與類名相同且首字母必須大寫,若由多個單詞組成則第二個單詞首字母大寫。
3、變量分類(按照數據類型)
①基本數據類型:
②引用數據類型:
注意:
①String(字符串)不屬於基本數據類型。
②除了基本數據類型的8種,均屬於引用數據類型。
三、基本數據類型的轉換
1、自動轉換
注意:
①只可按照上圖從前向後自動轉換(char->int、char->float等),不可逆向。
②char型轉換爲int型時,按照ASCII碼大小。
2、強制轉換
案例1:將int類型的num轉換成char類型。
package day11; public class Test { public static void main(String[] args) { int num=97; char ch=(char)num; System.out.println(ch); } }
運行結果:
案例2:漢字編碼(補充)
public class Test { public static void main(String[] args) { char ch1='趙'; int num=(int)ch1; System.out.println(num+"\n"+"趙後面的是個漢字分別是:"); for(int i=1;i<=10;i++) { System.out.print((char)(num+i)+" "); } } }
運行結果:
注意:案例2意味每個漢字都有其編碼序號。
案例3:當字符串前後包含'+'時(補充)
package day11; public class Test { public static void main(String[] args) { String str=1+2+"hello"+4+5; System.out.println(str); } }
運行結果:
注意:當字符串前、後包含'+'時,前面做正常運算,後面做拼接。
四、運算符
1、算數運算符:+、-、*、/、%、++、-- ...(用法c相同)
2、賦值運算符
案例:比較num1=num1+1和num1+=1
結論:前者不能自動強制轉換,後者可以
3、比較運算符:==、!=、<、<=、instanceof(檢查是否是類的對象)
案例:instanceof 用法
“Hello” instanceof String 返回值:true
4、邏輯運算符:&、|、!、&&、||、^
注意:
①&與&&區別(|與||同理):當左邊爲true時前者繼續比較右邊但後者不在比較
②亦或:兩邊同號爲false,異號爲true
5、位運算符:<<、>>、>>>(無符號右移)、&、|、^、~(求反碼)
注意:
①3<<4=48 等價於 3*2^4
②反碼、補碼原理要清楚(0正1負)、正數原碼按位取反末位加1=負數
6、三目運算符
public class Test {
public static void main(String[] args) {
int n=1,m=2;
System.out.println(n<m?n:m);
}
}
注意:三目運算符可嵌套。
五、分支語句
1、if語句
2、switch語句
public class Test {
public static void main(String[] args) {
int num=1;
switch (num) {
case 1:
執行語句1;
break;
default:
執行語句2;
break;
}
}
}
注意:兩者區別不大,個人喜歡用if,但switch效率要高。
五、循環語句
1、for循環
案例:從0打印到9
package day11; public class Test { public static void main(String[] args) { for(int i=0;i<10;i++) { System.out.print(i+" "); } } }
運行結果:
2、while循環
案例:從0打印到9
package day11; public class Test { public static void main(String[] args) { int num=0; while(num!=10) { System.out.print(num+" "); num++; } } }
運行結果:
3、do...while(終止條件)
案例:做課程設計時用到了do...while(終止條件),感覺交互性很好。
部分代碼:
void inserts(linklist L) { char c1='y'; do { system("cls"); traverse(L); cout<<"請分別輸入選手的編號和姓名"<<endl; infor stu; stu.num=0,stu.rank=-1; cin>>stu.id>>stu.name; if(judge(L,stu.id)){ cout<<"數據有誤!"<<endl; continue; } insert(L,stu); cout<<"是否繼續添加選手信息(y/n)?"<<endl; cin>>c1; if(c1=='y'){ }else if(c1!='n'){ cout<<"輸入有誤,請重新輸入!"<<endl; } }while(c1!='n'); }
運行結果:直到輸入'n'時才退出系統
六、跳轉語句
1、break:跳出循環
2、continue:結束本次循環,開始下次循環
3、return:結束程序
七、Java從鍵盤讀取輸入
1、單組輸入:
package day11;
import java.util.Scanner; //導類
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定義cin
String str=cin.nextLine();//讀取字符串
String str1=cin.nextLine();//讀取字符:先讀取字符串,再使用charAt轉換
char ch=str1.charAt(0);
int num=cin.nextInt();//讀取整數
System.out.println("str:"+str);//輸出數據
System.out.println("ch:"+ch);
System.out.println("num:"+num);
}
}
2、讀取到文件結束(多組輸入):
package day11;
import java.util.Scanner; //導類
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定義cin
while(cin.hasNextLine()) {
int num=cin.nextInt();
System.out.println(num);
}
}
}
3、固定組輸入:
package day11;
import java.util.Scanner; //導類
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定義cin
int n=cin.nextInt();
while(n-->0) {
int num=cin.nextInt();
System.out.println(num);
}
}
}
不足之處請留言!