1. 對兩個整型變數進行除法、模數和自加運算
(1) 在項目MyProject2中建立DivModDemo類。
(2) 在代碼編輯器中輸入以下代碼:
| 代碼如下 |
複製代碼 |
public class DivModDemo {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=8,b=5; System.out.println(a+"/"+b+"="+a/b); System.out.println(a+"/"+(-b)+"="+a/-b); System.out.println(-a+"/"+b+"="+-a/b); System.out.println(-a+"/"+(-b)+"="+(-a)/(-b)); System.out.println(a+"%"+b+"="+a%b); System.out.println(a+"%"+(-b)+"="+a%-b); System.out.println(-a+"%"+b+"="+(-a)%b); System.out.println(-a+"%"+(-b)+"="+-a%-b); System.out.println(++a+"+"+b+"="+(++a)+b); System.out.println(a+++"+"+(-b)+"="+--a+-b); System.out.println(-++a+"+"+b+"="+-++a+b); System.out.println(-a+++"+"+(-b)+"="+-a+++-b); System.out.println(a); } } |
(3) 運行並偵錯工具,觀察DivModDemo類的運行結果。
2. 二進位的移動演算法
(1) 在項目MyProject2中建立BitShiftDemo類。
(2) 在代碼編輯器中輸入以下代碼:
| 代碼如下 |
複製代碼 |
public class BitShiftDemo {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=-16,b=16; System.out.println("******************************"); System.out.println("a的位元為:"+Integer.toBinaryString(a)); System.out.println("a左移1位後各位為"+Integer.toBinaryString(a<<1)); System.out.println(a+"<<2="+(a<<2)); System.out.println("******************************"); System.out.println("a的位元為:"+Integer.toBinaryString(a)); System.out.println("a右移1位後各位為"+Integer.toBinaryString(a>>1)); System.out.println(a+">>2="+(a>>2)); System.out.println("******************************"); System.out.println("a的位元為:"+Integer.toBinaryString(a)); System.out.println("a右移1位後各位為"+Integer.toBinaryString(a>>>1)); System.out.println(a+">>>2="+(a>>>2)); System.out.println("******************************"); System.out.println("b的位元為:"+Integer.toBinaryString(b)); System.out.println("b左移1位後各位為"+Integer.toBinaryString(b<<1)); System.out.println(b+"<<2="+(b<<2)); System.out.println("******************************"); System.out.println("b的位元為:"+Integer.toBinaryString(b)); System.out.println("b右移1位後各位為"+Integer.toBinaryString(b>>1)); System.out.println(b+">>2="+(b>>2)); System.out.println("******************************"); System.out.println("b的位元為:"+Integer.toBinaryString(b)); System.out.println("b右移1位後各位為"+Integer.toBinaryString(b>>>1)); System.out.println(b+">>>2="+(b>>>2)); System.out.println("******************************"); } } |
(3) 運行並偵錯工具,觀察結果。
知識提示:要將整形的變數轉換為二進位的字元可以使用Integer.toBinaryString()完成,二進位位左移採用<<,右移採用>>完成。>>>是無符號右移運算子,變數值右移後,左側補0。
3. 關係運算與邏輯運算的混合運算
(1) 在項目MyProject2中建立OperationDemo類。
(2) 在代碼編輯器中輸入以下代碼:
| 代碼如下 |
複製代碼 |
import java.io.*; public class OperationDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=25,b=3; boolean d=a<b; System.out.println(a+"<"+b+"="+d); int e=3; d=(e!=0&&a/e>5); System.out.println(e+"!=0&&"+a+"/"+e+">5="+d); int f=0; d=(f!=0&&a/f>5); System.out.println(f+"!=0&&"+a+"/"+f+">5="+d); d=(f!=0&&a/f>5); System.out.println(f+"!=0&&"+a+"/"+f+">5="+d); } } |
(3) 運行並調試觀察程式運行結果。
4. 從鍵盤輸入兩個整數,通過下面程式計算這兩個整數的和並輸出運算結果。
| 代碼如下 |
複製代碼 |
import java.io.*; public class MySumDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int num1,num2,sum; String str=""; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Input the first integer:"); try { str=buf.readLine(); } catch(Exception e) { } num1=Integer.parseInt(str); System.out.print("Input the second integer:"); try { str=buf.readLine(); } catch(Exception e) { } num2=Integer.parseInt(str); sum=num1+num2; System.out.println("The sum is "+sum); } } |
5. 編寫一個程式,要求從鍵盤上輸入圓的半徑,求圓的面積並輸出結果。
| 代碼如下 |
複製代碼 |
import java.io.*; public class CircleArea { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double area; int radius; Circle1 circle=null; String str=""; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Input the radius:"); try { str=buf.readLine(); } catch(Exception e) { } radius=Integer.parseInt(str); circle=new Circle1(radius); area=circle.getArea(); System.out.println("圓的面積:"+area); } } class Circle1{ double radius,area; Circle1(double r){ radius=r; } double getArea(){ area=3.14159265*radius*radius; return area; } } |
6. 調試下面程式,剖析器運行結果。
| 代碼如下 |
複製代碼 |
/** * @author solo * */ public class SanmuTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int iBig=2; int iSmall=1; boolean result=(iBig>=iSmall)?true:false; System.out.println("Result Is:"+result); } } |