第二天 Java基礎
阿新 • • 發佈:2021-06-11
第二天 JAVA基礎
變數
在程式執行中值可以變化的量;
型別 變數名;
變數的作用域
package com.zhang.Base; // Demo05類名 public class Demo05 { /* * 變數按照作用域來分有三種: * 類變數 例項變數 區域性變數 * */ //類變數 static static double salary = 3000; //整個類中可使用 static String name = "Jinx"; /*=======================================================*/ //例項變數 /*除了區域性變數初始化時必須賦值,類變數和例項變數不初始化值會使用預設值 * 實型變數 0 * 浮點型變數 0.0 * 布林型 false * 字元型實際上也是數字 /u0000 0 * 字串是引用型別變數,不是基礎變數,除了基礎變數,其他預設值都是”null“*/ char gender = '男'; String address;// = "秀川"; // main 方法名 public static void main(String[] args) { System.out.println(salary);//類變數 System.out.println(name); name = "Yi"; //重新給類變數賦值 System.out.println(name); System.out.println("========================================"); /*===============================================================================================*/ Demo05 d5 = new Demo05();// 例項變數 System.out.println(d5.address); System.out.println(d5.gender); System.out.println("========================================"); /*=======================================================*/ int i = 5; //區域性變數 只能在此方法中使用 System.out.println(i); } // 方法名add public static void add(){ // System.out.println(i); 不能使用 } }
常量
常量可以理解為特殊的變數,在程式執行過程中值不可變
final 型別 常量名;
package com.zhang.Base; public class Demo06 { //常量:初始化之後不能再改變值 //常量名一般用大寫 final double PI = 3.1415926; // 修飾符前後順序可變 final static long NUM = 12345678910L; static final float G = 9.8F; public static void main(String[] args) { Demo06 d6 = new Demo06(); System.out.println(d6.PI); System.out.println(G); System.out.println(NUM); } }
強制型別轉換
運算中,不同型別的資料先轉換為同一型別,再運算。
小數優先順序高於整數
注意:
- 不能對布林值進行轉換
- 不能把物件型別轉換為不相干的型別
- 轉換的時候可能會存在記憶體溢位或者精度問題
- 操作大數的時候注意精度問題
package com.zhang.Base; public class Demo03 { public static void main(String[] args) { //強制型別轉換 高--->低 int i = 128; byte i2 = (byte)i; // 強制轉換 (型別)變數名 System.out.println(i); System.out.println(i2); System.out.println("================================"); //自動型別轉換 低--->高 char c = 'A'; int b = c+1; //自動轉換 System.out.println(b); System.out.println((char) b); //強制轉換 } }
package com.zhang.Base;
public class Demo04 {
public static void main(String[] args) {
//jdk7新特性 數字之間可以加入“_”
int money = 100_000_000_0;
int year = 20;
int total = money*year; //記憶體溢位
long total2 = money*year;
/*先以本身的int型別計算,然後把值賦給total2,
*計算的時候已經溢位了,在賦值之前就已經有問題了*/
long total3 = (long)money*year;
/*在計算的時候就強制型別轉換,可以解決此問題
*運算中,不同型別的資料先轉換為同一型別,再運算。*/
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
運算子
package com.zhang.Operator;
public class Demo01 {
public static void main(String[] args) {
int i=10;
byte i2=15;
short i3=20;
long i4=50L;
System.out.println(i+i2+i3+i4);//計算機結果為long型
System.out.println(i+i2+i3);//int型 只要有lang為long型,無lang都為int型。
System.out.println(i+i2);//int型 浮點數優先順序更高
System.out.println("========================================");
//=========================================
int a = 5;
int b,c;
b=a++; //使用之後自增一
System.out.println(a);
c=++a;//使用之前自增一
System.out.println(b);
System.out.println(c);
//冪運算 Math類
double m = Math.pow(2,4);
System.out.println(m);
System.out.println(a>m);
System.out.println(a==c);
}
}
三目運算子
package com.zhang.Operator;
public class Demo02 {
public static void main(String[] args) {
System.out.println(2<<3);//位運算
int score = 60;
String type=score>=60?"及格":"不及格";//三元運算子
System.out.println(type);
}
}
包機制
包的本質就是資料夾
package com.zhang.pkg; // 必須寫在第一行
// 匯入一個包
import java.util.Date;
//可以使用萬用字元
import com.zhang.Operator.*;
public class Pkg {
public static void main(String[] args) {
// Date
}
}
JavaDoc
寫在類上面就是類註釋,寫在方法上面就是方法的註釋
package com.zhang.Base;
/**
* @author zhang
* @version v1.0
* @since jdk-1.8
*/
public class JDoc {
String name; //屬性
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
用IDEA生成JavaDoc
用命令列生成JavaDoc
報錯
java: 錯誤: 無效的源發行版:16
兩處JDK版本不一致