假設認識Java的第二天必會的知識
- 常量和變數:
常量就是我們固定不變的量,變數就是可以發生變化的量,
Java中每一個變數都必須明確資料型別,
a. 資料型別:
基本型別:整數,浮點數,字符,布爾
參考型別:類,陣列,介面
這里記住8大基本型別:
位元組型-----byte-----1個位元組 (-128-127)
短整型----short-----2個位元組 ( -32768-32767)
整型------int-----4個位元組 (-2^31 )到(2^31-1)
長整型----long----8個位元組 ( -2^64)到(2^64-1)
單精度浮點型----float----4個位元組
雙精度浮點型----double----8個位元組
字符型------char-----2個位元組 ( 0-65535)
布爾型別-----boolean----1個位元組 (true,false)
Java中默認的型別:整數型別默認是int,浮點型別默認是double
b. 變數的定義
變數定義的格式包括這么三個要素:資料型別、變數名、資料值
格式:
資料型別 變數 = 資料值;
package test;
public class Demo{
public static void main(String[]args){
//定義一個位元組型別
short s=20;
//在idea當中 快速生成我們的列印陳述句:sout
System.out.println(s);
int i=20;
System.out.println(i);
long l=200L;
System.out.println(l);
float f=5.5F;
//我們在定義float和long時,需要在尾部加標識
System.out.println(f);
double d=20;
System.out.println(d);
char c='A';
System.out.println(c);
}
}
- Java程式中要求參與計算的資料,必須要保證資料型別一致,如果資料型別不一致,那么就會出現資料型別的轉換,
a.自動轉換
一個int型別和一個byte運算,結果會是一個int型別,
b.轉換規則:
范圍小的向范圍大的型別轉換:
byte、short、char運算的時候都會轉換為int型別
byte—>short---->char—>int---->long—>float—>double
c.強制轉換:
例:將1.5賦值給int型別,double型別占8個位元組,int型別4個位元組,肯定沒有辦法將一個8個位元組的賦值給一個4個位元組,需要強制轉換,
強制型別轉換:
將取值范圍大的型別轉換為取值范圍小的型別
轉換格式:
資料型別 變數名=(資料型別)被轉換資料;
public class Demo{
public static void main(String[]args){
int c=(int)1.5;
}
}
注意點:
1、浮點型轉換整型,直接取消小數位,可能造成精度損失,
2、Int型別轉換為short型別,砍掉2個位元組,可能造成精度損失,
- AscII編碼表:
計算機中內部都是二進制0,1,如何讓我們的計算機能夠識別我們的文字?就產生了一張編碼表,
編碼表:其實將人類的文字和一個十進制數對應起來的一張表,
字符0------------48
9------------------57
A------------------65
Z------------------90
a------------------97
z-----------------122
public class test02 {
public static void main(String[] args) {
char c='a';
int i=1;
System.out.println(i+c);
}
}
//結果為98
- 運算子
算數運算子
+ --------加法運算,字串的拼接
- ---------減法運算
* -------乘法運算
/ -------除法運算
% ------取余運算
++-- ---- 自增自減
Java中,整數使用以上運算子,無論怎么計算,也不會得出小數,
++運算:
在獨立運算中,無論是前++還是后++,結果都一樣
在混合運算中就不一樣
// i++ 先賦值在運算,例如 a=i++,先賦值a=i,后運算i=i+1,所以結果是a==1,
// ++i 先運算在賦值,例如 a=++i,先運算i=i+1,后賦值a=i,所以結果是a==2
public class test03 {
public static void main(String[] args) {
int i=1000;
int b=++i;
System.out.println(i);
System.out.println(b);
}
}
//結果輸出 1001 1001
public class test03 {
public static void main(String[] args) {
int i=1000;
int b=i++;
System.out.println(i);
System.out.println(b);
}
}
//結果輸出1001 1000
例題
加號的拼接:
+符號,在字串中,表示連接和拼接的效果
public class test05 {
public static void main(String[] args) {
System.out.println("5+5="+5+5);
}
}
- 賦值運算子:
== 等于號
+= 加等于 相當于 s+=1 s=s+1
-= 減等
*= 乘等
/= 除等
%= 取余等
賦值運算子,就是將符號右邊的值,賦給左邊的值,
public class test05 {
public static void main(String[] args) {
int i=5;
i+=5;
System.out.println(i);
}
}
//結果為10
- 比較運算子:
== 比較符號兩邊的資料,相等的話結果就是true
< 比較符號兩邊的資料,如果左邊的小于右邊的資料,那么結果就是true
> 比較符號兩邊的資料,如果左邊的大于右邊的資料,那么結果就是true
<= 比較符號兩邊的資料,如果左邊的小于右邊的資料,那么結果就是true
>= 比較符號兩邊的資料,如果左邊的大于等于右邊的資料,那么結果就是true
- 邏輯運算子
&&:兩邊都是true,結果就是true,一邊為false,結果就是false,
短路效果:如果左邊為false,右邊就不計算了,
||:兩邊都是true,結果就是true,一邊為true,結果就是true 短路特點:符號左邊為true的話,右邊就不計算了
!: !True結果就是false
!False的結果就是true
//短路效果
public class test07 {
public static void main(String[] args) {
int a=1;
int b=2;
System.out.println(false&&(a>b++));
System.out.println(b);
}
}
//結果為:
false
2
- 三元運算子
格式: 資料型別 變數名=(布爾型別運算式?結果1:結果2);
三元運算子:布爾運算式的結果為false,三元運算子整體的結果就是結果2,
布爾型別運算式結果為true,三元運算子的整體結果就是結果1
public class test08 {
public static void main(String[] args) {
int i=(1==2? 200:300);
System.out.println(i);
}
}
//運行結果為300
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208909.html
標籤:其他
