1. 程式人生 > 其它 >資料型別、型別轉換、變數以及運算子

資料型別、型別轉換、變數以及運算子

註釋

單行註釋

// 直接兩個/

多行註釋

/* */ 先打 / 和 * ,然後回車自動補齊,在中間區域打字寫註釋

文字註釋

/** */ 先打 / * 和 * ,然後回車自動補齊,在中間區域打字寫註釋

資料型別

強型別語言

要求變數的使用要嚴格符合規定,所有變數必須先定義後才能使用

Java的資料型別分為兩大類

基本型別

  1. 數值型別:

    整數型別 byte、short、int、long

    浮點型別 float、double

    字串型別 char

  2. boolean型別(兩個值,true和false)

引用型別

  • 介面
  • 陣列

程式碼

//整數
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4=30L;//long型別要在數字後面加L
//小數:浮點數
float num5=50.1F;//float型別要在數字後面加個F
double num6=3.1415926;
//字元
char name='我';
//多個字要用字串,而在字串中,String不是關鍵字,是類
//String name="我愛你"
//布林值:是非
boolean flag=true;
boolean flag=false;

什麼是位元組(補充)

  • 位(bit):是計算機內部儲存的最小單位,而11001100就是一個八位二進位制數

  • 位元組(byte):是計算機中資料處理的基本單位,習慣上用大寫字母B來表示

  • 1B(byte,位元組)=8bit(位)

  • 字元:是指計算機中使用的字母、數字、字和符號

  • 1bit表示1位

  • 1Byte表示一個位元組 1B=8b,即一個位元組等於一個八位

  • 1024B=1KB

  • 1024KB=1M

  • 1024M=1G

儘量避免使用浮點數進行比較

強制型別轉換

char a='中'
system.out.println(a);
system.out.println((int)a);//強制轉換

轉義字元

System.out.println("Hello\tWorld");//輸出結果會在Hell和World中間出現空格,\t製表符
System.out.println("Hello\nWorld");//輸出結果會在Hell和World換行,\n換行

布林值擴充套件

Boolean flag=true;
if(flag==true){}
if(flag){}   //兩者表示的意義相同

型別轉換

運算中,不同型別的資料先轉換為同一型別,然後進行運算

小數的優先順序高於整數

int i=128;
byte b=(byte)i;//強制轉換 (型別)變數名  優先順序由:高 到 低
int i=128;
double b=i;//自動轉換   優先順序由:低 到 高

注意點

  1. 不能對布林值進行轉換
  2. 不能把物件型別轉換為不相干的型別(例如int轉為String)
  3. 再把高容量轉為低容量時,要強制轉換
  4. 轉換的時候可能存在記憶體溢位,或者精度問題

資料溢位問題

運算元比較大的時候,注意溢位問題

int money =10_0000_0000;//數字之間可以用下劃線分割
int years = 20;
int total= money*years;//-1474936480,計算的時候溢位了
long total2=money*years;//-1474936480,等式右邊預設是int,轉換之前就出了問題
long total3=money*(long)years;//先把一個數轉換為long

變數作用域

類變數

例項變數

區域性變數

public class Demo08 {
    //類變數 static
    static double salary=2500;
    //屬性:變數
    //例項變數:從屬於物件;如果不自行初始化,它的值為這個型別的預設值
    String name;//除了基本型別,預設值都是null
    int age;//數值型別如果不初始化,這個型別的預設值為0   Boolean值預設為false
     //main方法
    public static void main(String[] args) {
        //區域性變數;必須宣告和初始化值,只在這一塊括號區域內有用
        int i=10;
        System.out.println(i);
        //變數型別
        Demo08 demo08=new Demo08();
        //Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);
        System.out.println(salary);
    }
    //其他方法
    public void add(){
    }
}

變數的命名規範

常量

常量名一般使用大寫字元

public class Demo09 {
    //static、final修飾符,不存在先後順序
    //final 常量名 =值
    static final double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);

    }
}

基本運算子

運算子

二元運算

 int a =10;
 int b =20;
 System.out.println(a/(double)b);//除出來小數的時候一定要注意作用範圍
long  a=1246548713L;
int   b=134635;
short c= 10;
byte d=4;
//運算時含long型別最後結果為long,不含long結果全轉為int型別
System.out.println(a+b+c+d);//Long型別
System.out.println(b+c+d);//int型別
System.out.println(c+d);//int型別

關係運算

 //關係運算符返回的結果:正確or錯誤  用  布林值 來表示
int a =10;
int b=20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true