2019年1月8日 星期二

java - 初學java.DataTYPe 資料類型

開發過程中
1.撰寫原始碼 >>檔名(副檔名) .java
2.compiler  >> javac  . 檔案名 java
         a.檢查語法>錯誤訊息
         b.產生機器碼=>檔名class (Byte codo)

3.測試執行  =>java.檔名


第一個程式
class  ex1
{
public  static  void  main(String args[])
{
System.out.println("HELLO,java"); //這是輸出
}
}
執行結果:

.註解  => 筆記
1.  //  單行註解
2./*   ..........  */    多行註解  可在/* 跟 */之間書寫註解

.DataTYPe 資料類型 => 值
主要判定是不是同一個類型,才能後續使用,例如 輸入 10 + 10  如果是 數字類型 可以相加變成  20  ,如果是文字類型   會變成  1010  。
1)  文字 , 數字  => 0 ~ 9
2) 值 => "  "   如果加上雙引號會變成文字類型
3)   + 有兩個功能  1.是做數值的加計算   2.是將兩個資料做鏈結 如下:

class ex1
{
 public static  void main(String args[])
 {
  System.out.println("hello java");
  
  System.out.println("10+20");
  System.out.println(10+20);
  System.out.println("10"+"20");
  System.out.println("10"+20);
  System.out.println(10+"20");
  System.out.println("10+20"+10+10);  //答案是 "10+20"1010  有優先級會先轉成文字在運算
  }


}
執行結果:



.變數:
(一) 語法:
        類型  變數  =  初始值;
        ※需要先宣告變數   1..DataTYPe   2.記憶體

類型有:

整數 :  long (64b) ,  int(32b)   , short(16b)  , byte(8b)

浮點數 :  doubte (64b), float(32b)

字元:  char(16B)

 布林: boolean


大小排列:
 doubte  > float >  long >  int>  short>   byte

.超出值
class ex2
{
 public static void main(String args[])
 {
  byte x=(byte)128; //為強制轉換
  /*按下鍵盤的數字鍵  一開始的類型都為int
  如果超出的數值大於就會轉成負數
  
  
  
  
  System.out.println(x);
 
 
 }


}
執行結果:
-128

.整數轉型
class ex2
{
 public static void main(String args[])
 {
  //byte x=(byte)128;
  //System.out.println(x);
  
  /*long x=10;  //這邊轉成long類型
  byte y= x;    //這邊無法執行  因為X為上面得˙long 類型 需要進行轉換才能可以正常編譯
  byte y=(byte)x; // 這邊將LONG 類型進行轉換成為 BYTE
  int z=y;*/      //Y已經轉乘 BYTE 類型    所以可以附值給前方的int 
  
  float x=10;
  //float x2=(float)10.2;  //前面加上誇號可以進行轉換
  //float x2=10.2f;       
  float x2=10.2F;
  
  long y=(long)10.2f;     //後面可以加上F  做轉型
  System.out.println(y);
  long y2=100;
  
  float z=y2;           
  
  
  System.out.println(10/3);   //因為是整數類型關係 所以只會顯示答案為3
 
  System.out.println(10/3.f);   //改變類型後,就可以顯示後面小數點了!
  
  int x=10;       //重要 JAVA  的變數一定要給初始值不能不能使用  
      //如果沒有給值  就不會給記憶空間
  
  System.out.println(x);
  
  
  /*int x=10;
  
  System.out.println(x);*/
  
  char x=7;  
  char x=97;   //顯示為小a  阿斯卡碼    
  
  System.out.println(x);
  System.out.println(x+1); //後面加上數字 會變成8  (稱為文數字)
  
  boolean x=true;//false    //true  =1   false = 0
  System.out.println(x);
  
  
  
 }


}


.Promotion 晉升
1.整數 =>  short,byte
=> 整數在運算時,compilen.
1).call by referene   2)call by ralue)
自動提升成 的運算結果
2)需搭配 casting

Deyular Expression.
1.正則表示法
2.字串的符號實用( string , string )

class ex1
{
public static  void main (String args[])
{
//int abc=100;

String x="a\"b\\cghjg\tjgjgj\ngj";
char y='\'';
System.out.println(x);
/*
char 裡面一定要放有內容不然會抱錯!
使用"\" 可以當結尾
String x="a"bc";   << 這樣會因為無法找到結尾會報錯誤
如果說引號 "" <<無法結尾 可以使用 \  去結束
String x="a\"b\c";   <<<  會顯示錯誤,無法知道哪邊要結束
右斜線 \ 只能寫在 "" 雙引號內
輸入一定要使用半形,不能使用全形符號輸入
\t  後面加上空格
\n 跳行
※可以查閱 正規表示式






short x=10;
short y=20;

short z=10+20;

short z2=(byte)(x+y);
Promotion 晉升  只有  short 跟 byte
這兩個類型會有其他不會有其他不會有
上面問題 只要 後面類型換成 short 或是
比short 還要小程式就可以正常通過了




byte x = 10;
byte y = 20;
byte z = 10 +20 ;
byte z2=(byte)(x+y);
//結果還是不行  這邊會自動Promotion 晉升
*/
int abc=10;
int ABC=10;
int x1=20;
//int 1X=20;

int x$=20;
int x_30;

int ac_Uh;
int 國文=65;

System.out.println(國文*20);

不可以使用功能字當名稱,功能字有大小寫得分別
命名可以使用數字加上文字,命名中數字不能在前面 如: 10x ;
命名可以使用 "_" 底線 跟  "$" 兩符號  其他都有功能 所以會抱錯
變數中間不能有空格,在java中各國語語言可以當變數

}



}





沒有留言:

張貼留言