国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java Notes: Some Tricky Problems in Java

2019-11-14 12:02:18
字體:
來源:轉載
供稿:網友

1/ About the modulus:

對于求余運算需要注意,當被除數是一個負數的時候,余數永遠都是負的。所以你判斷是否為奇數的條件不能是:x % 2 == 1,而是 x % 2 != 0。

2/ 如何提取出一個數的個、十...位(從低到高)

public Class Example {    public static void main(String[] args) {        int x = Integer.parseInt(args[0]);        while (x != 0) {        	int digit = Math.abs(x % 10);         	// 如果不加math.abs的話如果被余數是負的,結果都是負數來的        	System.out.PRintln(digit);        	x = x / 10;        }    }}3/ Keep in mind of overflow problem

如果int到了最大的2^30次方,不能再乘以2(右移一位)了。強行再右移的話,會瞬間變為最小的int,值是-2^31次方。下面的程序就有這樣的問題:

public class Example {	public static void main(String[] args) {		int x = Integer.parseInt(args[0]);		boolean answer = false;		int p = 1;		while (p <= x) {			System.out.println("Testing" + p);			if (p == x) {				answer = true;			}			p = p * 2;		}		System.out.println(answer);	}}上述程序嘗試測試一個數是否是2的倍數。然而,當所給的參數大于int的2^31 - 1時候,會產生overflow問題,程序進入死循環。

4/ 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪征市| 合作市| 北安市| 平定县| 天台县| 凤庆县| 巴里| 肇庆市| 娄烦县| 嘉兴市| 云龙县| 双城市| 得荣县| 平阳县| 富民县| 本溪市| 洪江市| 阿克| 峨山| 读书| 白河县| 宁国市| 漳浦县| 迁西县| 南川市| 昭平县| 株洲县| 峡江县| 江阴市| 五常市| 依安县| 广昌县| 襄樊市| 珲春市| 丹江口市| 益阳市| 安顺市| 石泉县| 浏阳市| 新竹县| 宣恩县|