1. 程式人生 > >Java--知識點運用

Java--知識點運用

bsp 十進制 ring 常見 賦值運算符 補碼 pri 分別是 存在

第一題:
byte b1=3,b2=4,b;
b=b1+b2;e
b=3+4;
哪句是編譯失敗的呢?為什麽呢?
答:
b=b1+b2;e 第一個:Java運算中,比int類型小的運算會自動轉為int型,但是現在b的類型是byte型,b1+b2是int型
,int轉byte發生錯誤
第二個:e不是合法的語句

第二題:
byte by = 130;有沒有問題?有問題如何解決?結果是多少呢?
答:
有問題,byte類型的範圍是-128~127,130超出了範圍

在130前加(byte)強制轉換,結果為-126

第三題:
byte b = 10;
b++;
b = b + 1;//
哪句是編譯失敗的呢?為什麽呢?
答: b=b+1;錯誤
b是byte型,1是int型,類型不同,無法相加
4.常見的算術運算符有哪些?
答:
+、—、*、/、%、++、— —
(1)+運算符的作用有哪些?
一、數據運算
二、連接字符串
(2)除法和取余的區別?
除法的結果為商,有余數舍去
取余的結果就是余數,不要商
(3)++和--的使用規則?
++自增1,--自減1
一、 當++或--單獨為一行語句時,++和--在前在後都沒有差別
二、當++或--不是單獨一句時,i++在內存中進行了運算,但是出現在界面中的是初始值;
++i 在內存中計算後,會把結果返回出來,返回值是計算後值( --和++情況一樣 )
例: int i=5,n;
n=i++ + ++i
內存: 6 6
返回值: 5 + 6=11;
5.常見的賦值運算符有哪些?
答 :
=、 +=、-=、*=、/=
7.分析以下需求,並用代碼實現:
(1)已知一個三位數,請分別獲取該三位數上每一位的數值
(2)例如:123的個位、十位、百位,分別是3、2、1
(3)打印格式"數字123的個位是 3, 十位是 2, 百位是 1"
答:public class CeShi{
public static void main(String[] args){
int i=123;
int a=i%10; //個位數
int b=(i/10)%10; //十位數
int c=i/100; //百位數
System.out.println("個位數"+a);
System.out.println("十位數"+b);
System.out.println("百位數"+c);
}
}

第八題

int型 130 轉化為byte類型後的值

在計算機中130為默認的int類型的十進制數據

1.將十進制的130轉化為二進制
130
(int)0000-0000 0000-0000 0000-0000 1000-0010 占4個字節
(byte) 1000-0010 占1個字節
2.在計算機中存在的形式是補碼1000-0010
將補碼轉換成原碼
補碼 1000-0010
減1得反碼
反碼 1000-0001
取反得原碼
原碼 1111-1110
3.將原碼轉換為十進制(由於在補碼中第一位是符號位,‘’1‘’ 為負數,‘’0‘’為正數)
64+32+16+8+4+2=126
所以 (byte)130的二進制是-126

Java--知識點運用