第二章:變量和運算符
1、關鍵字、保留字和辨別符
- 關鍵字:Java中已經使用的英文單詞,特殊的英文單詞(不需要記),特别強調:jdk中已經使用的類名也是關鍵字
- 關鍵字不能用作變量名、方法名、類名、包名
- 保留字:Java中還沒有使用的英文單詞,以後用不用不清楚。例如:goto…
- 辨別符:java中包名、類名、方法名、變量名、常量名的總稱
- 辨別符的命名規則:
- 必須以字母、下劃線(_)或美元符号($)開頭
- 餘下的字元可以是下劃線、美元符号或任何的字母或數字,長度不限;
- 辨別符中不能有空格
- 不能使用Java中的關鍵字或者保留字做為辨別符;
- 在同一個包中的類名不能相同
- 辨別符的命名規範
- 包名:域名.公司名.項目名.種族-- 常見的域名: com、cn、org… com.neusoft.javase_day1.test
- 類名:駝峰命名法 ,每個類名中的單詞首字母要大寫 StudentTestOne 或者Student_Test_One
- 變量名、方法名、參數名:駝峰命名法-- 命名是首字母小寫其他英文單詞首字母大寫 getAge () myAge
- 常量名:要求所有的字母都大寫,每個英文單詞之間使用"_"隔開: MAX_AGE_MY
/** * 文檔注釋 * @author Administrator * hellowordtest:包名 * HelloWorld:類名 * main:方法名 * args:參數名、變量名 */ public class HelloWorld { /** * main方法:程式的入口 * @param args :參數 */ public static void main(String[] args) { // 在控制台列印輸出 /*在控制台列印輸出 System.out.println("helloworld");*/ int i=10; // int 898=10; int j898=10; int $898=10; int _898=10; // int @898=10; // int i j=10; }
- 辨別符的命名規則:
- 變量:
- 概念:程式中随時可能發生改變的量
- 變量是程式中資料的臨時存放場所
-
儲存程式運作時使用者輸入的資料
特定的運算結果等
/** * 初始化 :第一次指派 * 變量必須初始化之後才能使用 *所有的資料必須在記憶體中存在我們才能使用 * @param args */ public static void main(String[] args) { //變量是指在程式的運作過程中随時可以發生變化的量 //變量的聲明 int:資料類型 a:變量名 20:變量的值 int a; // System.out.println(a); //變量的指派:初始化 a=20; System.out.println(a);//20 a=30; System.out.println(a);//30 //變量的聲明同時初始化 int b=40; System.out.println(b);//40 }
- java中的資料類型:
-
基本資料類型:
①數值型:數字
- 整型:byte、short、int、long
public static void main(String[] args) { //整型:byte、short、int、long // 1G=1024m 1m=1024k 1k=1024bit // byte :位元組 1位元組=8bit 1位元組 8位 -2^7~2^7-1 byte b1=20; // byte b2=128; System.out.println(b1); //short:2位元組 16位 -2^15~2^15-1 short s1=12312; //int:4位元組 32位 -2^31~2^31-1 //**注意:java中預設的整型為int int i1=13271; //long:8位元組 64位 //注意:long類型的資料需要在其後面加上“L” long l1=1234;// int --long long l2=1234L; //十進制:不能以0開頭 int i2=01312; System.out.println(i2);//714 i2=5464; System.out.println(i2);//5464 //八進制:必須以0開頭 int i3=013121; // 1*8^0+2*8^1+1*8^2+3*8^3+1*8^4=5713 System.out.println("i3:"+i3);//i3:5713 //十六進制:必須以0x開頭 後面的資料隻能是0 ~ 9 A ~ F int i4=0xba3;// 3*16^0+10*16+11*16^2 System.out.println("i4:"+i4);//i4:2979 //二進制:必須以0b開頭 int i5=0b01010110; //0*2^0+1*2^1..... System.out.println("i5:"+i5);//i5:86 // jdk1.7之後使用“_”提高代碼的可閱讀性 i5=0b1010_0101_1111; System.out.println("i5:"+i5);//i5:2655
- 浮點型:float、double
②字元型:char// 浮點型:float、double // float :4位元組 32位 值後面需要加F或f float f1=1234.5F; // float f2=1234.5; // double:8位元組 64位: // double是java中預設的浮點型 double d1=12345.567; double d2=12345.567d;
③布爾型:boolean//char:字元類型 //①接收字元,表示的是單個字元,隻能接收一個字元 char c1='中'; System.out.println(c1);//中 //②接收整型,最大2位元組16位 表示的是:JVM會去查找ascii碼表數值對應的字元 char c2=49; char c3=65; System.out.println("c2:"+c2+" c3:"+c3);//c2:1 c3:A char c4=97; System.out.println("c4:"+c4);//c4:a //③接收Uncode字元 以\ u開頭的字元:JVM會去查找Uncode碼表數值對應的字元 char c5='\u03A6'; System.out.println(c5);//Φ //④接收16進制就是接收整型:将16進制轉為10進制再對應的ascii碼值 char c6=0x23; System.out.println(c6);//# // 轉義字元:使用”\”把其轉化成字元的本身輸出,那麼使用”\”的字元稱作為轉義字元。 System.out.println("\"");//" System.out.print("你好");//不換行輸出 System.out.println("\n");//換行 System.out.print("中國");//你好中國 System.out.println("在嗎"); System.out.println("中國:在"); //你好”中國” System.out.println("你好\"中國\"");//你好"中國"
//布爾型:false true boolean temp=false; boolean temp1=true; // boolean temp2=1; System.out.println(temp);//false
- 整型:byte、short、int、long
- 引用資料類型:類、接口、數組
-
-
基本資料類型的轉換
/**
* 精髓:看資料類型的大小
* 浮點型比整型大
* @author Administrator
*
*/
public class _基本資料類型轉換 {
public static void main(String[] args) {
//隐式轉換 :小精度--大精度
short s1=321;
int i1=s1;
System.out.println("i1:"+i1);//i1:321
byte b1=23;
short s2=b1;
System.out.println("s2:"+s2);//s2:23
// int和float之間轉換:int--float
float f1=i1;
//long<float
float f3=1231L;
double d1=123L;
System.out.println("f3:"+f3);//f3:1231.0
System.out.println("d1:"+d1);//d1:123.0
//顯示轉換(強制轉換) :強制轉換,大精度--小精度,需要注意當大精度資料中的值大于小精度能夠接受的最大範圍會出現精度丢失
int i2=10;
byte b2=(byte) i2;
System.out.println(b2);//10
int i3=129;
byte b3=(byte)i3;
System.out.println(b3);//-127
//double --float
float f2=(float) 123.45;
System.out.println(f2);//123.45
//float--int
int i4=(int) 1945.5F;
int i5=(int) 1945.9F;
System.out.println(i4);//1945
System.out.println(i5);//1945
// 算術運算符 +
int m=10;
int n=m+10;
System.out.println(n);
//不同基本資料類型進行計算時,會先轉為其中最大精度的數值類型再做計算
double dd1=123.3F+123+1.0;
int ii1=(int) (123.3F+123+1.0);
//在計算時byte、short、char之間不會互相轉換,他們三者在計算時首先會轉換為int類型。
byte bb1=90;
short ss1=80;
short ss2=(short) (bb1+ss1);
int ii2=bb1+ss1;
int c0='A';
System.out.println(c0);//65
int ii3='B'+bb1+ss1;
System.out.println(ii3);//236
//int--char
int ii4=56;
char c1=(char) ii4;
System.out.println(c1);//8
System.out.println((char)ii4);//8
}