二、数据类型和变量和基本运算符1.华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。doublef=100;//华氏温度doublec=37;//摄氏温度//华氏温度转摄氏温度System.out.println((f–32.0)*5/9);//摄氏温度转华氏温度System.out.println(c*9.0/5+32);2.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。inta=3;intb=5;inttmp=a;//临时变量a=b;b=tmp;System.out.println(“a=”+a);System.out.println(“b=”+b);3.不用第三方变量,将ab两个变量的值互换inta=3;intb=5;a=a+b;//用a获得总和b=a-b;//得到旧a值赋给ba=a-b;//得到旧b值赋给aSystem.out.println(“a=”+a);System.out.println(“b=”+b);4.输入一个任意的浮点数,例如3.123456789,保留其两位小数输出,无需四舍五入//创建输入流Scannerinput=newScanner(System.in);//得到输入的浮点数doubled=input.nextDouble();//将浮点数乘以100(保留2位)后取整,再除以100.0还原成浮点数System.out.println((int)(d*100)/100.0);5.输入一个任意的5位整数,将它保留到百位,无需四舍五入Scannerscanner=newScanner(System.in);inti=scanner.nextInt();System.out.println(i/100*100);1.输入一个0~1000的整数,求各位数的和,例如345的结果是3+4+5=12注:分解数字既可以先除后模也可以先模后除Scannerscan=newScanner(System.in);inti=scan.nextInt();//分解数字intx1=i/1000;intx2=i/100%10;intx3=i/10%10;intx4=i%10;System.out.println(x1+x2+x3+x4);2.输入一个任意的大写字母A~Z,转换为小写字母,(后面再练习输入一个字符串,大写全部转换为小写)charc=‘A’;System.out.println((char)(c+32));//加32即小写对应字母3.分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化),输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条finalintrowcount=73;//总记录数finalintpagesize=20;//一页多少条Scannerscan=newScanner(System.in);intpage=scan.nextInt();//输入页码//得到总页数intpagecount=rowcount%page==0?rowcount/page:rowcount/page+1;//起始记录intstartrow=pagesize*(page–1)+1;//终止记录intendrow=pagesize*pagerowcount?rowcount:pagesize*page;//打印输出System.out.println(“总记录数:”+rowcount+“,每页”+pagesize+“条,共”+page+“页,当前是第”+page+“页,从”+startrow+“条到”+endrow+“条“);三、逻辑判断语句1.输入一个数字,判断是一个奇数还是偶数2.将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码3.判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)4.输入两个小于5000的正随机整数,求它们差的绝对值,并输出结果。Scannersc=newScanner(System.in);inta=sc.nextInt();intb=sc.nextInt();intc=a–b;if(c0)System.out.println(c);elseSystem.out.println(-c);5.输入一个年份,判断这个年份是否是闰年6.输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印A,B,C,D,E7.请编写一个实现如下功能的Application:从命令行依次取三个参数x,y,op做算术运算,其中x,y为int型数据,op为运算符(+、-、×、÷之一),请显示xopy的结果。(此例子需要讲完String类的equals方法)8.从命令行传入3个整数,求3个整数的和、积、最大值、最小值、平均值9.将以上3个数字,从小到大排列,然后再从大到小排列。10.输入年和月,得到这个月有多少天11.续上题,输入年,月,日,判断这个日期是否是一个正确的日期12.续上题,输入年,月,日,next|prior,如果是一个正确的日期,算出上一天或下一天13.输入三角形的三条边,判断是否是一个三角形,三角形的形状:等腰三角形,等边三角形,直角三角形,普通三角形,求出周长,如果是直角三角形,另外求出面积14.有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。15.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?注意定义时需把奖金定义成浮点型。Scannersc=newScanner(System.in);doublemoney=sc.nextLong();//输入利润doublecomm1=100000*0.1;//10万内的奖金基数doublecomm2=comm1+100000*0.075;//20万内的奖金基数doublecomm4=comm2+200000*0.05;//40万内的奖金基数doublecomm6=comm4+200000*0.03;//60万内的奖金基数doublecomm10=comm6+400000*0.015;//100万内的奖金基数doublecomm;//实际奖金//分支判断if(money=100000){comm=money*0.1;}elseif(money=200000){comm=comm1+(money–100000)*0.075;}elseif(money=400000){comm=comm2+(money–200000)*0.05;}elseif(money=600000){comm=comm4+(money–400000)*0.03;}elseif(money=1000000){comm=comm6+(money–600000)*0.015;}else{comm=comm10+(money–1000000)*0.01;}System.out.println(“奖金金额:”+comm);1.从控制台输入2个数字,求两者之间最大值,再从控制台输入3个数字,求三个数字的最大值,用三目运算符求。2.用switch语句判断成绩,=90A=80B=70C=60D60E3.输入年月日,判断这是这一年中的第几天Scannersc=newScanner(System.in);intyear=sc.nextInt();intmonth=sc.nextInt();intday=sc.nextInt();intsum=0;//总天数switch(month){/*先计算某月以前月份的总天数*/case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;default:System.out.println(“日期错误“);break;}sum=sum+day;/*再加上某天的天数*/if(year%400==0||year%4==0&&year%100!=0&&month2){sum++;}System.out.println(“第”+sum+“天“);四、循环语句练习1.求1~100的累加和(以下几题用while循环求)2.打印1~100之间能被3整除且个位是6的数3.求n的阶乘。例如5的阶乘是1*2*3*4*54.用while循环打印幻灯片的@符号5.用while嵌套循环打印幻灯片的10乘10序列6.以下例子用for循环实现,打印1~100之间的奇数和偶数7.打印1900年到2100年之间的闰年,一行打印4个8.打印小九九乘法表的4种形状9.用一层while循环打印小九九乘法表inti=1,j=1;while(i=9){System.out.print(i+“*”+j+“=”+i*j+“\t”);j++;if(ji){j=1;i++;System.out.println();}}1.在控制台输出以下图形1.打印以下图形123456789101112131415intj=1,k=1;//控制换行for(inti=1;i=15;i++){System.out.print(i+“\t”);j++;if(jk){j=1;k++;System.out.println();}}1.李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他的岁数之和是873,请编写程序计算李先生及其夫人的岁数各是多少。2.有两个正整数a和b,已知a*b=2048,求a、b各为何值时,a+b的值最小3.用1、2、3、4能组成多少无重复数字的三位数4.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?再反弹弹起多少米?doublesn=100;//高度100米doublehn=sn/2;//第一次反弹反弹高度for(inti=2;i=5;i++){sn=sn+hn*2;//第i次落地经过多少米hn=hn/2;//第i次反弹的高度System.out.println(“第”+i+“次落地经过”+sn+“米“);System.out.println(“第”+i+“次反弹”+hn+“米“);}5.输出10~100之间的全部素数。所谓素数n是指,除1和n之外,不能被2~(n-1)之间的任何整数整除。6.输入两个正整数m和n,求其最大公约数和最小公倍数7.打印所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数本身,如153=1的立方+5的立方+3的立方8.完数,一个数如果恰好等于它因子之和,这个数即为完数,如6=1+2+39.打印以下图形****************10.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?11.要求输出国际象棋棋盘for(inti=1;i=8;i++){for(intj