Java基礎知識第二章
阿新 • • 發佈:2021-12-10
Java基礎04:型別轉換
由於Java是強型別語言,所以要進行有些運算的時候,需要用到型別轉換:強制型別轉換、自動型別轉換
運算中,不同型別的資料先轉化為同一型別,然後在進行運算
public class Demo {
public static void main(String[] args){
int i = 128;
byte b = i; //此處會報錯,因為byte和int不是同一型別
}
}
解決方法:
public class Demo { public static void main(String[] args){ int i = 128; byte b = (byte)i; 低--------------------------------->高 byte short char int long float double //強制轉換 (型別)變數名 高--低 //自動轉換 低--高 System.out.println(i); System.out.print(b); } }
執行這個程式,輸出i和b:
我們發現i和b的值並不相等,那是因為byte型別的取值範圍是-128~127,所以這裡造成了記憶體溢位的情況
注意點:
不能對布林值進行轉換
不能把物件型別轉換為不相干的型別
在把高容量轉換到低容量的時候,強制轉換
轉換的時候可能存在記憶體溢位,或者精度問題!
public class Demo{ public static void main(String[] args){ //操作比較大的數的時候,注意溢位問題 //JDK7新特性,數字之間可以用下劃線分割 int money = 10_0000_0000; int years = 20; int total = money*years; //-1474836480,計算的時候溢位了 long total2 = money*years; //-1474836480,預設是int,轉換之前已經存在問題了 long total3 = money*((long)years); //200_0000_0000,先把一個數轉換為long System.out.println(total3); } }
Java基礎05:變數、常量、作用域
變數是什麼:就是可以變化的量!
Java是一種強型別語言,每個變數都必須宣告其型別。
Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域。
type varName [=value][{,varName[=value]}];
//資料型別 變數名 = 值;可以使用逗號隔開來宣告多個同類型變數
注意事項:
每個變數都有型別,型別可以是基本型別,也可以是引用型別
變數名必須是合法的識別符號
變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束
變數作用域
- 類變數
- 例項變數
- 區域性變數
public class Variable{ static int allClicks = 0; //類變數 String str = "hello world"; //例項變數 public void method(){ int i = 0; //區域性變數 } }
public class Demo{
//類變數 static
static double salary = 2500;
//例項變數:從屬於物件。如果不自動初始化,預設為這個型別的預設值 0 0.0
//布林值:預設是false
//除了基本型別,其餘的預設值都是null
String name;
int age;
//main方法
public static void main(String[] args){
//區域性變數:必須宣告和初始化值
int i = 10;
System.out.println(i); //print後加ln代表輸出完後換行
//變數型別 變數名字 = new Demo();
Demo demo = new Demo();
System.out.println(demo.age);
System.out.println(demo.name);
//類變數 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
常量(Constant):初始化(initialize)後不能再改變值!不會變動的值
所謂變數可以理解成一種特殊的變數,它的值被設定後,在程式執行過程中不允許被改變
final 常量名 = 值;
final double PI = 3.14;
常量名一般使用大寫字元
public class Demo{
//修飾符,不存在先後順序
static final double PI = 3.14;
public static void main(String[] args){
//常量 final
System.out.println(PI);
}
}
變數的命名規範
所有變數、方法、類名:見名知意
類成員變數:首字母小寫和駝峰原則:monthSalary
區域性變數:首字母小寫和駝峰原則
常量:大寫字母和下劃線:MAX_VALUE
類名:首字母大寫和駝峰原則:Man,GoodMan
方法名:首字母小寫和駝峰原則:run(),runRun()
Java基礎06:基本運算子
Java語言支援如下運算子:
- 算術運算子:+,-,*,/,%,++,--
- 賦值運算子:=
- 關係運算符:>,<,>=,<=,==,!= instanceof
- 邏輯運算子:&&,||,!
- 位運算子:&,|,^,~,>>,<<,>>>(瞭解!!!)
- 條件運算子:?:
- 擴充套件賦值運算子:+=,-=,*=,/=
Java基礎07:自增自減運算子,初識Math類
public class Demo{
public static void main(String[] args){
//++ -- 自增,自減 一元運算子
int a = 3;
int b = a++; //先給b賦值,再自增
//a = a + 1;
System.out.println(a);
//a = a + 1;
int c = ++a; //先自增,再給b賦值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
程式碼執行結果如下:
使用Math類進行一些絕對值(abs),冪(pow)操作:
public class Demo{
public static void main(String[] args){
//冪運算 2^3 2*2*2 = 8 很多運算,我們會使用一些工具類來操作!
double pow = Math.pow(2,3); //這裡代表2^3,逗號前面代表底數,後面代表指數
System.out.println(pow);
}
}