Java學習筆記8
阿新 • • 發佈:2022-04-04
低------------------------------------------------------------------>高
byte,short,char-->int-->long-->float-->double
強制轉換 (型別)變數名 高到低
int i = 128;
byte b = (byte)i;//記憶體溢位
System.out.println(i);
System.out.println(b);
128
-128
//強制轉換 (型別)變數名
自動轉換 低到高
int i = 128;
double b = (double)i;
System.out.println(b);//128.0
注意點
1.不能對布林值進行轉換
2.不能把物件型別轉換為不相干的型別
3.轉換時存在記憶體溢位,或者精度問題
System.out.println((int)47.88);
System.out.println((int)-42.33);
47
-42
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
98
b
容易出錯的問題
//操作比較大的時候,注意溢位問題
//JDK7新特性,數字之間可以用下劃線分割
int money = 1000000000;
int years = 20;
int total = money*years;
long total2 = money*years;
System.out.println(total);//-1474836480,計算的時候溢位了
System.out.println(total2);//預設是int,轉換之前已經存在問題 還是得到-1474836480
long total3 = money*((long)years);//先把一個數轉換為long得出正確答案
System.out.println(total3);//得2000000000
變數
-
變數:就是可以變化的量
-
Java是一種強型別語言,每個變數都必須宣告其型別。
-
Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域。
type varName [=value]
//資料型別 變數名 =值
注意事項:
-
每個變數都有型別,型別可以是基本型別也可以是引用型別。
-
變數名必須是合法的識別符號
-
變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束。
區域性變數
//main方法
public static void main(String[] args) {
int i = 10;//區域性變數:必須宣告和初始化值
System.out.println(i);
}//區域性變數只在方法的括號內有效
例項變數
//例項變數:從屬於物件 類 如果不自行初始化,會變成這個型別的預設值
//數值型別預設值為 0 0.0 等 布林值預設是false 除了基本型別其餘全是null;
String name;
int age;
public static void main(String[] args) {
//變數型別 變數名字 =new Demo2();
Demo2 demo2 = new Demo2();
System.out.println(demo2.age);
System.out.println(demo2.name);
0
null
類變數
//類變數 static
static double salary = 2500;
System.out.println(salary);
2500.0
常量
-
常量:初始化後不能再改變值!不會變動的值。
-
所謂常量可以理解成一種特殊的變數,它的值被設定後,在程式執行過程中不允許被改變
final 常量名 =值;
final double PI=3.14;
常量名一般使用大寫字元
public class Demo3 {
//修飾符static final不存在先後順序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
3.14
變數的命名規範
-
所有變數,方法,類名:見名知意
-
類成員變數:首字母小寫和駝峰原則:monthSalary 除了第一個單詞以外,後面的單詞首字母大寫
-
區域性變數:首字母小寫和駝峰原則
-
常量:大寫字母和下劃線:MAX VALUE
-
類名首字母大寫和駝峰原則:Man,GoodMan
-