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

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

Java Notes: Some Tricky Problems in Java

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

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/ 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰溪市| 常熟市| 板桥市| 泰顺县| 红河县| 淮南市| 乐业县| 特克斯县| 合江县| 元氏县| 泰和县| 临清市| 莱州市| 定远县| 红河县| 琼结县| 九江县| 疏勒县| 萍乡市| 抚松县| 霍林郭勒市| 南阳市| 城固县| 密云县| 阿尔山市| 盘山县| 东阳市| 乌拉特前旗| 炎陵县| 柞水县| 曲水县| 那坡县| 蛟河市| 阿坝县| 伊宁县| 青岛市| 和龙市| 兴安盟| 达尔| 绥化市| 宜州市|