1月8日练习题

public class demo01 {
	//缓存池中开辟空间
	//缓存池的范围:-128至127
	
public static void main(String[] args) {
	Integer n1=125;
	Integer n2=125;
	Integer n3=125;
	
	System.out.println(n1==n2);//比较内存地址  true
	System.out.println(n2==n3);//比较内存地址  true
	
	//由于保存的数据超出范围,所以重新开辟新的内存空间保存
	Integer n4=129;//新内存空间
	Integer n5=129;//新内存空间
	Integer n6=129;//新内存空间
	System.out.println(n4==n5);//比较内存地址 false
	System.out.println(n5==n6);//比较内存地址 false
	
	System.out.println(n4.equals(n5)); //true
	System.out.println(n4.equals(n6)); //true
	
	
	
	
}
}
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;

public class demo02 {

	public static void main(String[] args) {
		// 整数类型溢出
//		int n1=2147483647,n2=2147483647;
//		int sum1=n1+n2;
//		System.out.println(sum1);
		//使用
		BigInteger n1=new BigInteger("24235245233698741");
		BigInteger n2=new BigInteger("24235245233698741");
		
		//通过调用方法,进行加减乘除运算
		//加法
		BigInteger sum=n1.add(n2);//n1+n2
		System.out.println(sum);
		//减法
		BigInteger sub=n1.subtract(n2);//n1-n2
		System.out.println(sub);
		//乘法
		BigInteger mul=n1.multiply(n2);//n1*n2
		System.out.println(mul);
		//除法
		BigInteger div=n1.divide(n2);//n1/n2
		System.out.println(div);
		
		
		//混合运算:n1*n2+n3
		BigInteger n3=new BigInteger("1000");
		BigInteger ret=n2.multiply(n3).add(n1);
		System.out.println(ret);
		
		BigDecimal dec1=new BigDecimal("10.0");
		BigDecimal dec2=new BigDecimal("3.0");
		
		BigDecimal sum1=dec1.add(dec2);
		System.out.println(sum);
		//浮点数的除法运算,容易产生无限循环
		//参数1:被除数
		//参数2:保留三位小数
		//参数3:小数位数的截取方式
		//RoundingMode.HALF_DOWN四舍五入
		
		BigDecimal div1=dec1.divide(dec2,3,RoundingMode.HALF_DOWN);
		System.out.println(div);
		
		
		
	}

}
import java.math.BigDecimal;

public class demo03 {

	public static void main(String[] args) {
		// 账单金额
		BigDecimal orderMoney=new BigDecimal("1234.56");
		
		//通过随机数,产生一个随机折扣值
		int rand=(int)(Math.random()*10);
		
		//支付金额
		BigDecimal payMoney=null;
		
		//折扣
		BigDecimal sale=null;
		
		//判断折扣
		switch(rand) {
		case 0:
			sale=new BigDecimal("0.0");
			break;
		case 1:
			sale=new BigDecimal("0.1");
			break;
		case 2:
			sale=new BigDecimal("0.2");
			break;
		case 3:
			sale=new BigDecimal("0.3");
			break;
		case 4:
			sale=new BigDecimal("0.4");
			break;
		case 5:
			sale=new BigDecimal("0.5");
			break;
		case 6:
			sale=new BigDecimal("0.6");
			break;
		case 7:
			sale=new BigDecimal("0.7");
			break;
		case 8:
			sale=new BigDecimal("0.8");
			break;
		case 9:
			sale=new BigDecimal("0.9");
			break;
		}
		//计算实付金额:orderMoney*sale
		payMoney=orderMoney.multiply(sale);
		
		//折扣处理:0.1=>1折
		String saleValue="免单";//免单/9折
		
		//x.compareTo(y)比较x与y的大小
		//返回值结果为0:x=y
		//返回值结果大于0:x>y
		//返回值结果小于0:x0.0
		
		if(sale.compareTo(new BigDecimal("0.0"))==1) {//1就是大于0 按照折扣运算
			saleValue=sale.multiply(new BigDecimal("10")).toString();
		}
		
	
		
		//输出结果
		System.out.println("账单金额:¥"+orderMoney);
		System.out.println("实付金额:¥"+payMoney+"【"+saleValue+"折】");
		//格式化输出
		System.out.printf("实付金额:¥%s【%s折】",payMoney,saleValue);
	}

}
import java.math.BigDecimal;

public class demo04 {

	public static void main(String[] args) {
		// 账单金额
		BigDecimal orderMoney=new BigDecimal("1234.56");
		
		//通过随机数,产生一个随机折扣值
		int rand=(int)(Math.random()*10);
		
		//支付金额
		BigDecimal payMoney=null;
		
		//折扣
		BigDecimal sale=null;
		
		//判断折扣
		switch(rand) {
		case 0:
			sale=new BigDecimal("0.0");
			break;
		case 1:
			sale=new BigDecimal("0.1");
			break;
		case 2:
			sale=new BigDecimal("0.2");
			break;
		case 3:
			sale=new BigDecimal("0.3");
			break;
		case 4:
			sale=new BigDecimal("0.4");
			break;
		case 5:
			sale=new BigDecimal("0.5");
			break;
		case 6:
			sale=new BigDecimal("0.6");
			break;
		case 7:
			sale=new BigDecimal("0.7");
			break;
		case 8:
			sale=new BigDecimal("0.8");
			break;
		case 9:
			sale=new BigDecimal("0.9");
			break;
		}
		//计算实付金额:orderMoney*sale
		payMoney=orderMoney.multiply(sale);
		
		//折扣处理:0.1=>1折
		String saleValue="免单";//免单/9折
		
		//x.compareTo(y)比较x与y的大小
		//返回值结果为0:x=y
		//返回值结果大于0:x>y
		//返回值结果小于0:x0.0
		
		if(sale.compareTo(new BigDecimal("0.0"))==1) {//1就是大于0 按照折扣运算
			saleValue=sale.multiply(new BigDecimal("10")).toString();
		}
		
	
		
		//输出结果
		System.out.println("账单金额:¥"+orderMoney);
		System.out.println("实付金额:¥"+payMoney+"【"+saleValue+"折】");
		//格式化输出
		System.out.printf("实付金额:¥%s【%s折】",payMoney,saleValue);
	}

}
public class demo05 {
	/*问题:有5个整数,仅有一个整数出现1次,其余出现2次
	 * 请找出这个整数
	 * 分析
	 * 两个相同整数进行^异或运算,结果为0
	 * 任何整数与0进行异或运算,结果为整数本身
	 * 
	 * 实现思路
	 * 将5个整数累计异或,最终结果为仅出现一次的整数

	*/
	public static void main(String[] args) {
		
		int a=2,b=3,c=2,d=3,e=5;
		int singleiton=a^b^c^d^e;
		System.out.println(singleiton);
		

	}

}
public class demo06{

	public static void main(String[] args) {
		// 调整百位 十位 个位的数字 让调整后的数字最大
		int n=519;
		
		//步骤一:拆解数字
		int x=n/100;
		int y=n%100/10;
		int z=n%10;
		
		//步骤二:x y z三个数字排序
		int max=x>y?(x>z?x:z):(y>z?y:z);
		int min=x
public class demo07 {

	public static void main(String[] args) {
		// 遍历一个字符串,并统计英文字母 汉字 数字 标点符号的个数
		String str="String str = \"OMG,你们的中英混搭真是各有千秋,但Someone丝毫掩盖不了你们那硬朗的英语底子!For eg.papi酱真的very有才华啊,哦买噶的,U6666666!!!罢特,someone也是成功地掩盖了自己小学程度的英语水平!这样式的,I是不会use的,because l hate 这种人very much~\";";
		//每个字符分类都定义一个计数器变量
		int letters=0,numbers=0,chs=0,flags=0;
		
		for(int i=0,len=str.length();i<=len-1;i++) {
			//获取当前字符串
			char c=str.charAt(i);
			
			//判断当前字符的分类
		if(c>='A'&& c<='Z'||c>='a'&& c<='z') {
			//英文字母
			letters++;
			
		}else if (c>=0x4e00 && c<= 0x29fa5) {
			//汉字
			chs++;
		}else if(c>='0'&& c<='9') {
			//数字
			numbers++;
		}else {
			//标点符号
			flags++;
		}

	}
		System.out.println("英文字母"+letters);
		System.out.println("汉字"+chs);
		System.out.println("数字"+numbers);
		System.out.println("标点符号"+flags);
}
}

public class demo08 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="我本将心照明月";
		
		//保存逆序字符
		String ret="";
		//方式1:逆序
		
		for(int i=s.length()-1;i>=0;i--) {
			ret=ret+s.charAt(i);
		}
			System.out.println(ret);
		//方式2:顺序
		ret="";
		for(int i=0;i
public class demo09 {

	public static void main(String[] args) {
		/*
		 * A1、A2、A3、A4、A5、A6、A7、A8、A9
		 * B1、B2、B3、B4、B5、B6、B7、B8、B9
		 * C1、C2、C3、C4、C5、C6、C7、C8、C9
		 */
		
		
		/*
		 * A1、A2、A3
		 * A4、A5、A6
		 * A7、A8、A9
		 * B1、B2、B3
		 * B4、B5、B6
		 * B7、B8、B9
		 * C1、C2、C3
		 * C4、C5、C6
		 * C7、C8、C9
		 */
		for(char c='A';c<='F';c++) {
			for(int i=1;i<=9;i++) {
				System.out.print(c+""+i);
				//System.out.print("\t");//制表符(TAB)
			if (c%3==0) {
				System.out.println();
			}else {
				System.out.print(",");
			}
				
			}
			System.out.println();//换行符
			
		
		}
		

	}
	

}

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,开发语言)