package test;
class ex3{
public static void main(String arg[]){
double aaa=123.01;
//float ccc=124.09; ccc會自動被轉成double,"."=double
float ccc=(float)124.09;
int aa=10;
int bb=10;
int cc=10+20;
int cc2=aa+bb;
short a=10;
short b=10;
short c=10+20;
//short c2=a+b;a,b會被自動轉成int型態,故以下提供3種解決辦法
/*-------------
1.int c2=a+b;
2.short c2=(short)(a+b);
3.short c2=(byte)(a+b);
plz always remember..the right datatype is smaller than left datatype.
請牢記..右邊的資料型態必需小於左邊的變數型態
-------------*/
short c2=(short)(a+b);
byte x=10;
byte y=10;
byte z=10+20;
//byte z2=x+y; x.y會被自動轉成int型態,故以下提供兩種解決辦法
/*--------------------
1.int z2=x+y;
2.byte z2=(byte)(x+y);
----------------------
*/
byte z2=(byte)(x+y);
int ans=aa+b+z2;
System.out.println(ans);
}}
/*
一、語法:宣告變數=reference
二、basic datatype
1.整數:long(64bit),int(32bit),short(16bit),byte(8bit)
2.浮點數:double(64bit),float(32bit)
3.字元:char(8bit)
4.布林:boolean-true,false
三、promotion 晉升;casting 轉型
1.整數的變數(short,byte)
運算時(+-* /)
=>
2.浮點數的變數(float)
初始值=>
*/
留言列表