首页 > 代码库 > Java编程思想个人练习

Java编程思想个人练习

希望大家给予批评指正,在下感激不尽(未完,待续……)

第三章

练习9 (1)分别显示用float和double指数记数法所能表示的最大和最小数字


public class MaxMinFloatDouble {   
       
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        // TODO Auto-generated method stub   
        float fmax = Float.MAX_VALUE;   
        float fmin = Float.MIN_VALUE;   
        double dmax = Double.MAX_VALUE;   
        double dmin = Double.MIN_VALUE;   
           
        System.out.println(fmax);   
        System.out.println(fmin);   
        System.out.println(dmax);   
        System.out.println(dmin);   
           
        /*result:  
        3.4028235E38  
        1.4E-45  
        1.7976931348623157E308  
        4.9E-324*/  
    }   
}


练习(10)编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,但其最低有效位为1(提示:使用十六进制常量来表示最简单的方法).取两个值,用按位操作符以所有可能方式结合运算它们,然后用Integer.toBinaryString()显示

    public static void main(String[] args) {   
    	int i1 = 0xaaaaaaaa; 
    	int i2 = 0x55555555; 
    	System.out.println(Integer.toBinaryString(i1));
    	System.out.println(Integer.toBinaryString(i2));
    	/**
    	 * result
    	 * 10101010101010101010101010101010
			1010101010101010101010101010101
    	 */
    }  

练习14 (3)编写一个接收两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。做==和!=的同时,用equals()作测试。在main()里面用几个不同的字符串对象调用这个方法。


         /**
	 * @param args
	 */
	public static void main(String[] args) {
		String str1="hello";
		String str2="word";
		String str3=new String("hello");
		testStr(str1, str2);
		System.out.println("--------------------------");
		testStr(str1, str3);
	}
	
	public static void testStr(String s1,String s2){
		//boolean b1=s1>s2;
		//boolean b2=s1<s2;
		boolean b3=s1==s2;
		System.out.println(s1+"=="+s2+":\t"+b3);
		boolean b4=s1.equals(s2);
		System.out.println(s1+".equals("+s2+"):\t"+b4);
		boolean b5=s1!=s2;
		System.out.println(s1+"!="+s2+":\t"+b5);
		/**result
		 * 
		 *  hello==word:	false
			hello.equals(word):	false
			hello!=word:	true
			--------------------------
			hello==hello:	false
			hello.equals(hello):	true
			hello!=hello:	true
		 */
	}


第四章

练习1:(1)写一个程序,打印1到100的值

public static void main(String[] args) {
		test(100);
	}
	
	public static void test(int num){
		int i=0;
		while(i<num){
			System.out.print(++i);
			if(i!=100){				
				System.out.print("、");
			}
		}
		
		System.out.println();
		int j=0;
		do{
			System.out.print(++j);
			if(j!=100){				
				System.out.print("、");
			}
		}while(j<100);
		
		System.out.println();
		for(int k=0;k<100;){
			System.out.print(++k);
			if(k!=100){				
				System.out.print("、");
			}
		}
	}


练习2:(2)写一个程序,产生25个int类型的随机数,对于每一个随机数,使用if-else语句来将其分类为大于、小于,或等于紧随它而随机产生的值。

	public static void main(String[] args) {
		test();
	}
	
	public static void test(){
		int num[] =new int[25];
		for(int i=0;i<25;i++){
			Random r=new Random();
			int n=r.nextInt();
			num[i]=n;
			if(i>0){
				compare(num[i-1],num[i]);
			}
		}
	}

	public static void compare(int n1,int n2){
		//System.out.println(n1+"、"+n2+"\n n1>n2:"+(n1>n2)+"\t"+"n1==n2:"+(n1==n2)+"\t"+"n1<n2:"+(n1<n2));
		if(n1>n2){
			System.out.println(n1+"大于"+n2);
		}else if(n1<n2){
			System.out.println(n1+"小于"+n2);
		}else {
			System.out.println(n1+"等于"+n2);
		}
	}


练习3:(1)修改练习2,把代码用一个while无限循环包括起来。然后运行它直至用键盘中断其运行(通常是通过按Ctrl+c).


练习4:(3)写一个程序,使用两个嵌套的for循环和取余操作符(%)来探测和打印素数(只能被其自身和1整除,而不能被其它数字整除的整数)。



练习5:(4)重复第3章中的练习10,不要用Integer.toBinaryString()方法,而是用三元操作符和按位操作符来显示二进制的1和0。




Java编程思想个人练习