每日一练
JVM、JRE和JDK的关系?
JDK是JAVA的开发工具包,JRE是JAVA的程序运行环境,而JVM是JAVA的虚拟机
它们之间的关系:JDK当中包含了JRE,要使用JDK当中的软件进行开发则需要JRE环境才能运行,而JRE当中又包含了JVM,可以说是JVM+LIB=JRE,JVM不能单独解决class它需要和LIB一起才能够解决这个问题,它们两个加在一起就相当于JRE,程序的运行环境。
DAY-TWO
接收用户输入格式:
先要加入包import java.Scanner;
新建一个对象SCANNER:Scanner 对象名 = new Scanner;
执行结构:顺序结构、分支结构、循环结构。
IF条件语句:格式if(条件语句){ };
SWITCH语句:
表达式是:int byte char short String
格式:SWITCH(表达式){}case 取值1;break;.。。。。default 语句块 n+1;break;
循环语句:
FOR循环:格式:for(定义循环变量;判断循环条件;更新循环变量){};
WHILE循环:格式:while(条件表达式){//语句块};
DO WHILE循环:格式:do{循环程序}while();
break和continue:一个是直接跳出程序,一个是跳出当前循环执行下面的循环。
作业:
1、计算应缴金额 商场根据会员积分打折:
2000 分以内打 9 折, 4000 分以内打 8 折, 8000 分以内打 7.5 折, 8000 分以上打 7 折,使用 if-else-if 结构,实现手动输入购物金额和积分, 计算出应缴金额
import java.util.Scanner;
//计算应缴金额
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
//定义m为购物金额
System.out.println("输入购物金额为:");
double m = input.nextDouble();
//定义n为积分值
System.out.println("输入积分值为:");
int n = input.nextInt();
if(n > 0 && n <= 2000) {
System.out.println("2000分以内打9折");
m *= 0.9;
System.out.println("你应付的金额为:"+m);
}else if(n > 2000 && n <= 4000){
System.out.println("4000分以内打8折");
m *= 0.08;
System.out.println("你应付的金额为:"+m);
}else if(n > 4000 && n <= 8000) {
System.out.println("8000分以内打7.5折");
m *= 0.75;
System.out.println("你应付的金额为:"+m);
}else if(n > 8000) {
System.out.println("8000分以上打7折");
m *= 0.7;
System.out.println("你应付的金额为:"+m);
}else {
System.out.println("没有折扣");
System.out.println("你应付的金额为:"+m);
}
}
}
2、计算该年该月天数 一年中有 12 个月,而每个月的天数是不一样的。其中大月 31 天,分别为 1,3,5,7,8,10,12 月,小月 30 天,分别 为 4,6,9,11 月。还有二月比较特殊,平 年的二月只有 28 天,而闰年的二月有 29 天,由用户在控制台输入年份和月份, 程序计算该年该月的天数。
import java.util.Scanner;
//计算该年该月天数
public class Demo4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
//定义y为年份
System.out.println("输入年份:");
int y = input.nextInt();
//定义m为月份
System.out.println("输入月份:");
int m = input.nextInt();
if(y%4 == 0 && y%100 != 0||y%400 == 0){
System.out.println("是闰年");
switch(m) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 : System.out.println("是大月有31天");break;
case 4 :
case 6 :
case 9 :
case 11 : System.out.println("是小月有30天");break;
case 2 : System.out.println("闰年的二月有29天");break;
default : System.out.println("你输入的不是月份");break;
}
}else {
System.out.println("是平年");
switch(m) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 : System.out.println("是大月有31天");break;
case 4 :
case 6 :
case 9 :
case 11 : System.out.println("是小月有30天");break;
case 2 : System.out.println("平年的二月有28天");break;
default : System.out.println("你输入的不是月份");break;
}
}
}
}
3、图形打印任务 在控制台中,编写三个 Demo,分别输出如下图形
public class Demo5 {
//图形打印任务
public static void main(String[] args) {
// TODO Auto-generated method stub
//正的直角三角形
for(int i = 0;i < 5;i++) {
for(int j = 0;j < i+1;j++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("---------------------");
//反着的直角三角形
for(int a = 0;a < 5;a++) {
for(int b = 0;b<5-a;b++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("---------------------");
//等边三角形
for(int c = 0;c < 5;c++) {
for(int d = 0;d < 4-c;d++) {
System.out.print(" ");
}
for(int e =0;e <c*2+1;e++) {
System.out.print("*");
}
System.out.println("");
}
}
}
4、打印九九乘法表 ,效果如图:
public class Demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i<=9;i++) {
for(int j =1;j<=i;j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println("");
}
}
}
5、打印三位数中的所有水仙花数
public class Demo7 {
//打印三位数中所有的水仙花数
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义x y z分别是个位、十位、百位
int x,y,z;
for(int i = 100;i <= 999;i++) {
z = i/100;//得到百位
y = i%100/10;//得到十位
x = i%10;//得到个位
if(x*x*x + y*y*y + z*z*z == i) {
System.out.println("水仙花数为\t"+i);
}
}
}
}