1datetype
//基本數據類型包括4類(共8種)
//Java數據類型包含:基本數據類型和引用數據類型
//引用數據類型包括:類、接口和數組,
public class DataType{
public static void main(String args[]){
//變量:程序執行過程中變量的值可以改變
//作用:用來存放數據的,方便對數據的操作
//定義格式:
/*
數據類型 變量名稱 = 值;
*/
/*
基本數據類型 關鍵字 占得字節數 默認值
字節型 byte 1 0
短整型 short 2 0
整形 int 4 0
長整型 long 8 0L
單精度浮點型 float 4 0.0F
雙精度浮點型 double 8 0.0
字符型 char 2 '\u0000'
布爾型 boolean 1位 false
*/
//字節型:byte 占一個字節
byte b=100;
System.out.println("b="+b); //+的作用將""中的內容和b的值拚接起來
b=127; //隻能表示-128到127
System.out.println("b="+b);
//短整型:short 占2個字節
short s=10000;
System.out.println("s="+s);
//s=100000; //超出最大值
//整型:int 占4個字節
int i=100000;
System.out.println("i="+i);
//i=10000000000;
//長整型:long 占8個字節
long l=10000000000L; //整型數字麵量的默認類型是int,表示long後麵加上l或L
System.out.println("l="+l);
//單精度浮點數:float 占4個字節
float f = 0.123456789F; //小數字麵量的默認類型是double,表示float加f或F
System.out.println("f="+f);
//雙精度浮點數:double 占8個字節
double d = 0.12345678999;
System.out.println("d="+d);
//字符型:char 占2個字節(采用的是unicode編碼)
char c = 'a'; //將字符用單引號括起來
System.out.println("c="+c);
c = 97;
System.out.println("c="+c);
c='中';
System.out.println("c="+c);
//轉義字符:有以\開頭的字符,\的作用將後麵字符的意義改變了
c='\t'; //\n \b \r
System.out.println("c="+c+"]");
c='\''; //輸出單引號、雙引號、\
System.out.println("c="+c);
//c='\a'; //非法的轉義字符
//布爾型:boolean 取值範圍:true,false,用1位表示就夠了
boolean flag = true;
System.out.println("flag="+flag);
flag=false;
System.out.println("flag="+flag);
//常量:程序執行過程中常量的值不能修改
//定義常量使用final
final double PI = 3.14;
System.out.println("PI="+PI);
//PI=3.14159; //常量賦值以後不能修改
//String類型不是基本類型,但是比較常用
String str = "好好學習";
System.out.println("str="+str);
}
}
//這是注釋版的程序
/*
注釋的作用:提高代碼的可讀性
輔助程序調試
//注釋寫在文件開頭處或需要說明的內容附近
*/
public class Test1{
//下麵定義一個main()方法,它是程序的入口地址
public static void main(String args[]){ //static 是一個關鍵字
System.out.println("Test"); //輸出的內容寫在“”中
}
}
//數據類型轉換
public class TypeCast{
public static void main(String args[]){
//數據類型轉換有兩種情況:自動類型轉換和強製類型轉換
//自動類型轉換的條件
//1.類型兼容
//2.表示範圍擴大
//自動類型轉換一般不會出現問題
//優先級由低到高:byte short char int long float double
byte b=100;
int i=b;
System.out.println("i="+i);
float f=b;
System.out.println("f="+f);
//強製類型轉換
// (要轉的數據類型)值
//可能會出現問題
byte b2 = (byte)i;
System.out.println("b2="+b2);
b2 = (byte)3.14F;
System.out.println("b2="+b2); //3 小數點後被舍棄
b2 = (byte)128;
System.out.println("b2="+b2); //-128 取最低一個字節,高位被舍棄
double d=129.95;
i = (int)d;
System.out.println("i="+i);
b2 = (byte)d;
System.out.println("b2="+b2);
}
}
//運算符
public class Calculate{
public static void main(String args[]){
//算數運算符:+、-、*、/、%、++、--
int a=3;
int b=2;
int c=a+b;
System.out.println("c="+c);
c=a%b; //取與、求模
System.out.println("c="+c);
//自增:++
//前綴++:自身先增加,然後再其他操作
//後綴++:先其它操作,再自身增加
c=a++;
System.out.println("c="+c); //3
System.out.println("a="+a); //4
c=++a;
System.out.println("c="+c); //5
System.out.println("a="+a); //5
//自減:--
//關係運算符: == != > >= < <=
//關係運算符的結果是一個布爾類型的值
a=3;b=2;
boolean flag = a>b;
System.out.println("flag="+flag); //true
//布爾邏輯運算符:& | !^ && ||
//&: 兩個值都為true 結果才為true
//|: 隻要有一個值為true,結果就為true
//!: 取反 true變false false變true
//^: 相同為false 不同為true
boolean flag2= !(true^false);
System.out.println("flag2="+flag2);
//簡潔與:&& 簡潔或:||
//和非簡潔與相比,具有短路功能
//第一個表達式結果決定最終的結果,短路功能不會去運行第二個表達式了
a=6;b=8;c=10;
int d=12;
boolean flag3 = ++a>b++ && c++>d--;
System.out.println("flag3="+flag3); //false
System.out.println("a="+a); //7
System.out.println("b="+b); //9
System.out.println("c="+c); //10
System.out.println("d="+d); //12
//練習:將以上&&改成& 或 ||
//賦值運算符:= += -= *= /= %=
a=3;b=2;
a += b; //a=a+b
System.out.println("a="+a);
//條件運算符,也稱三目運算符
//(表達式1)?表達式2:表達式3
//表達式1結果是布爾類型,表達式2和表達式3類型相同
//表達式1為true,取表達式2的結果,為false時取表達式3的結果
a=3;b=2;
int result = (a<b)?1000:100;
System.out.println("result="+result); //100
//位運算符:& | ~ ^ << >> >>>
a=3;
b=2;
c = a&b;
System.out.println("c="+c); //2
c=~a;
System.out.println("c="+c); //-4
c=a<<2; //左移若幹位,右邊補0
System.out.println("c="+c);
a=-2;
c=a>>1; //右移若幹位,左邊補符號位
System.out.println("c="+c);//1
c=a>>>1; //無符號右移若幹位,左邊補0
System.out.println("c="+c);//1
}
}
public class Test2{
public static void main(String args[]){
int a=3;
int b=2;
int c=a/b; //兩個int相除結果為int類型
System.out.println("c="+c); //1
float f=a/b;
System.out.println("f="+f); //1.0
f = (float)a/b;
System.out.println("f="+f); //1.5
f = (float)(a/b);
System.out.println("f="+f);
//()提高運算的優先級
//練習1: 輸出1-a/b的值,輸出(1-a)/b
c=1-a/b;
System.out.println("c="+c);
c=(1-a)/b;
System.out.println("c="+c);
byte b1=3;
byte b2=2;
byte b3 = (byte)(b1+b2); //byte運算時轉成int
System.out.println("b3="+b3);
b1 += b2; //b1=(byte)(b1+b2)
System.out.println("b1="+b1);
}
}
public class Test2{
public static void main(String args[]){
int a=3;
int b=2;
int c=a/b; //兩個int相除結果為int類型
System.out.println("c="+c); //1
float f=a/b;
System.out.println("f="+f); //1.0
f = (float)a/b;
System.out.println("f="+f); //1.5
f = (float)(a/b);
System.out.println("f="+f);
//()提高運算的優先級
//練習1: 輸出1-a/b的值,輸出(1-a)/b
c=1-a/b;
System.out.println("c="+c);
c=(1-a)/b;
System.out.println("c="+c);
byte b1=3;
byte b2=2;
byte b3 = (byte)(b1+b2); //byte運算時轉成int
System.out.println("b3="+b3);
b1 += b2; //b1=(byte)(b1+b2)
System.out.println("b1="+b1);
}
}
public class Test2{
public static void main(String args[]){
int a=3;
int b=2;
int c=a/b; //兩個int相除結果為int類型
System.out.println("c="+c); //1
float f=a/b;
System.out.println("f="+f); //1.0
f = (float)a/b;
System.out.println("f="+f); //1.5
f = (float)(a/b);
System.out.println("f="+f);
//()提高運算的優先級
//練習1: 輸出1-a/b的值,輸出(1-a)/b
c=1-a/b;
System.out.println("c="+c);
c=(1-a)/b;
System.out.println("c="+c);
byte b1=3;
byte b2=2;
byte b3 = (byte)(b1+b2); //byte運算時轉成int
System.out.println("b3="+b3);
b1 += b2; //b1=(byte)(b1+b2)
System.out.println("b1="+b1);
}
}
最後更新:2017-06-05 10:01:44