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

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

Java Notes: Some Tricky Problems in Java

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

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/ 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弥渡县| 信丰县| 巴东县| 泰安市| 崇文区| 哈尔滨市| 满城县| 高平市| 西华县| 周口市| 探索| 汝南县| 合川市| 汉源县| 紫云| 布尔津县| 泸定县| 浦县| 婺源县| 北安市| 拜城县| 贵定县| 罗甸县| 芷江| 渑池县| 拉萨市| 平谷区| 名山县| 乡城县| 蛟河市| 安义县| 峨眉山市| 濮阳县| 沈丘县| 南昌市| 瓮安县| 兰西县| 固镇县| 根河市| 漳州市| 镇远县|