• Java语言基础(5)


    1 if-else语句(二)

      案例:Demo1~Demo4

    import java.util.Scanner;
    public class Demo1 {
    //在main方法中,从控制台输入任意的一个整数,判断该
    //整数是奇数还是偶数,并输出对应的奇数或者偶数
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入一个整数:");
    	int num = sc.nextInt();
    	if(num%2!=0){//奇数
    	  System.out.println(num+"是奇数");
    	}else{// num%2==0  偶数
    	  System.out.println(num+"是偶数");	
    	}
      }
    }
    
    import java.util.Scanner;
    public class Demo2 {
    //在main方法中,创建一个Scanner对象,并从控制台
    //输入任意的两个整数,输出其中较大的整数的值(if-else)	
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入第1个整数:");
    	int num1 = sc.nextInt();
    	System.out.println("请输入第2个整数:");
    	int num2 = sc.nextInt();
    	if(num1>=num2){
    	  System.out.println("较大的整数是"+num1);	
    	}else{//num1<num2
    	  System.out.println("较大的整数是"+num2);	
    	}
    //Demo3:在main方法中,创建一个Scanner对象,并从
    //控制台输入任意的一个整数作为年份,判断该年份是闰年
    //还是非闰年,输出对应的闰年或者非闰年	
      }
    }
    
    import java.util.Scanner;
    public class Demo3 {
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入年份:");
    	int year = sc.nextInt();
    	if((year%4==0 && year%100!=0) ||
    						   year%400==0){
    	  System.out.println(year+"是闰年");	
    	}else{
    	  System.out.println(year+"不是闰年");	
    	}
      }
    }
    
    import java.util.Scanner;
    
    public class Demo4 {
    //在main方法中,创建一个Scanner对象,从控制台输入
    //任意的一个整数,判断该整数是否在1~100之间,如果在
    //输出“满足条件”,反之如果不在1~100之间,输出"不
    //满足条件"
    //1~100   num>=1 && num<=100
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入一个整数:");
    	int num = sc.nextInt();
    	if(num>=1 && num<=100){
    	  System.out.println(num+"满足条件");	
    	}else{
    	  System.out.println(num+"不满足条件");
    	}
      }
    }

    2 if-else-if:多分支选择语句
      1)格式:
        if(表达式1){
          语句1
        }else if(表达式2){
          语句2
        }else if(表达式3){
          语句3
        }...
        else{
          语句n
        }
      2)语法规则:只有分支中表达式为true,执行对应分支中的语句,如果所有分支中的表达式都为false,执行最后else中的语句n。
        案例:Demo5

    import java.util.Scanner;
    
    public class Demo5 {
    //从控制台输入整数,作为分数,根据分数输出对应的优秀,
    //良好,中等,及格,不及格
    //90~100     优秀
    //80~89      良好
    //70~79		  中等
    //60~69		  及格
    //0~59		  不及格
    //其他值		  输入错误
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入分数:");
    	int score = sc.nextInt();
    	if(score>=90 && score<=100){
    	  System.out.println("优秀");	
    	}else if(score>=80 && score<90){
    	  System.out.println("良好");
    	}else if(score>=70 && score<80){
    	  System.out.println("中等");	
    	}else if(score>=60 && score<70){
    	  System.out.println("及格");	
    	}else if(score>=0 && score<60){
    	  System.out.println("不及格");	
    	}else{
    	  System.out.println("输入错误!");	
    	}
      }	
    }
    
    import java.util.Scanner;
    public class Demo6 {
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入工资:");
    	int salary = sc.nextInt();
    	if(salary>=50000){
    	  System.out.println("游轮");
    	}else if(salary>=25000&&salary<50000){
    	  System.out.println("自驾");	
    	}else if(salary>=15000&&salary<25000){
    	  System.out.println("飞机");	
    	}else if(salary>=10000&&salary<15000){
    	  System.out.println("高铁");	
    	}else if(salary>=6000&&salary<10000){
    	  System.out.println("火车");	
    	}else if(salary>=2000&&salary<6000){
    	  System.out.println("大巴车");	
    	}else if(salary>=1000&&salary<2000){
    	  System.out.println("步行");	
    	}else{//salary<1000
    	  System.out.println("梦游");
    	}
      } 	
    	
    //从控制台输入一个整数,作为工资(salary),根据工资
    //建议旅游的方式
    //50000及50000以上           游轮
    //25000~49999		    自驾
    //15000~24999		    飞机
    //10000~15000		     高铁
    //6000~9999			     火车
    //2000~5999			    大巴车
    //1000~1999			     步行
    //1000以及1000以下	     梦游
    	
    }
    
    import java.util.Scanner;
    public class Demo7 {
      public static void main(String[] args) {
    //1 定义变量
    	double price = 5;//咖啡单价
    	int num = 0;//购买咖啡的杯数
    	double total = 0;//总金额
    //2 创建Scanner对象
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入购买咖啡的杯数:");
    //3 输入购买咖啡的杯数
    	num = sc.nextInt();
    //4 根据购买咖啡的杯数,分几种可能
    	if(num<1){
    	  System.out.println("走开,不卖");	
    	}else if(num==1){
    	  total = price;	
    	}else{//num>1
    	  total = price + (num-1)*0.5*price;	
    	}
    	System.out.println("购买了"+num+"杯咖啡,"
    			+"总金额是"+total);
      }
    }

        综合案例:买咖啡的问题
          每杯咖啡单价是5元,现在咖啡厅举行活动,购买第1杯咖啡原价,从第2杯开始每杯咖啡半价。
          从控制台输入购买咖啡的杯数,输出总的金额。
          1)定义变量:
            double price = 5; 咖啡的价格
            int num=0; 购买咖啡的杯数
            double total = 0;总的金额
          2)根据购买咖啡杯数的不同,分成几种情况
            num<1 走开,不卖 total = 0
            num=1 total = price
            num>1 total = price + (num-1)*0.5*price;

    import java.util.Scanner;
    public class Demo8 {
      public static void main(String[] args) {
    	double price=5,total=0;
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入购买咖啡杯数:");
    	int num = sc.nextInt();
    	if(num<1){
    	  System.out.println("走开,不卖!");	
    	}else{//num>=1
    	  total = price + (num-1)*0.5*price;	
    	}
    	System.out.println("购买了"+num+"杯咖啡,"
    			+"总金额是"+total);
      }
    }
    
    import java.util.Scanner;
    public class Demo9 {
      public static void main(String[] args) {
    	double rate = 0.05,realRate=0;
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入还款的年份:");
    	int year = sc.nextInt();
    	if(year>=1&&year<=5){
    	  realRate = 0.8 * rate;	
    	}else if(year>=6&&year<=10){
    	  realRate = 0.9 * rate;	
    	}else if(year>=11&&year<=15){
    	  realRate = rate;	
    	}else if(year>=16&&year<=20){
    	  realRate = 1.1 * rate;	
    	}else if(year>=21&&year<=30){
    	  realRate = 1.2 * rate;	
    	}else if(year>30){
    	  realRate = 1.5 * rate;	
    	}else{
    	  System.out.println("输入错误");	
    	}
    	System.out.println(year+"年还款的,当前"+
    			"的利率是"+realRate);
      }
    //基本利率(rate)是0.05,从控制台输入还款的年份,
    //根据还款的年份,输出真实利率(realRate)
    //1~5年        8折	
    //6~10年      9折
    //11~15年    原利率(基本利率)
    //16~20年    1.1倍
    //21~30年    1.2倍
    //30年以上    1.5倍
    //其他年份     输入错误	
    }

    3 while循环
      1)格式:
        while(表达式){
          循环体语句
        }
      2)语法规则:首先判断表达式,如果表达式为true,执行一次循环体语句;然后再来判断表达式,如果表达式还为true,继续再执行一次循环体语句...直到表达式为false,退出while循环。
        eg:
          int i=1;
          while(i<=5){
            System.out.println(今天);
            i++;
          }
          表达式 循环体语句
          第1次循环: i<=5(true) 今天 i++(i:2)
          第2次循环: i<=5(true) 今天 i++(i:3)
          第3次循环: i<=5(true) 今天 i++(i:4)
          第4次循环: i<=5(true) 今天 i++(i:5)
          第5次循环: i<=5(true) 今天 i++(i:6)
          第6次循环: i<=5(false) 退出while循环
        案例:Demo10

    public class Demo10 {
    //while循环
    //1 格式:while(表达式){
    //			循环体语句
    //		 }	
    //2 语法规则:首先判断表达式,如果表达式为true,执行
    //循环体语句一次,然后再来判断表达式,如果表达式还为
    //true,继续再执行循环体语句一次...直到表达式为false
    //退出while循环。
    //使用while循环,打印10行********
      public static void main(String[] args) {
    	int i=1;
    	while(i<=10){
    	  System.out.println("********");
    	  i++;	
    	}
    
    //Demo11: 使用while循环,输出1~100之间的每一个
    //整数	
      }
    }
    public class Demo11 {
      public static void main(String[] args) {
    	int i=1;
    	while(i<=100){
    	  System.out.println(i);
    	  ++i;	
    //无论是++i还是i++,变量i的值都会加1,不同仅仅只是
    //表达式的值,while循环判断的条件i<=100,比较是
    //变量的值,而不是表达式的值,没影响。	  
    	}
      }
    }

      3)变量i控制循环执行的次数:
        变量i的初值(i=1),循环条件(i++),i的增量(i++)

      4)while的死循环:如果循环的条件永远都为true,循环体语句会一直被执行。
        while(true){
          循环体语句
        }
        案例:Demo12

    public class Demo12 {
      public static void main(String[] args) {
    	while(1==1){
    	  System.out.println("我对你的爱就像" +
    	  		"死循环一样,一直下去!");	
    	}
      }
    }
    
    public class Demo13 {
    //使用while循环,输出1~100之间所有的奇数
    //1 求出1~100之间每一个整数
    //2 if(i%2!=0) true  i是奇数
      public static void main(String[] args) {
    //1 求出1~100之间的每一个整数
    	int i=1;
    	while(i<=100){
    //2 过滤出每一个奇数
    	  if(i%2!=0){//奇数
    		System.out.println(i);  
    	  }	
    	  i++;	
    	}
      }
    }
    
    //Demo14:使用while循环求出100~200之间的每一个奇数
    //和偶数,并输出	
    public class Demo14 {
      public static void main(String[] args) {
    //100~200之间每一个整数
    	int i=100;
    	while(i<=200){
    	  if(i%2!=0){//奇数
    		System.out.println(i+"是奇数");  
    	  }else{//偶数
    		System.out.println(i+"是偶数");  
    	  }		
    	  i++;	
    	}
      }
    }
    
    public class Demo15 {
    //使用while循环,求出公元1000~2017之间所有的闰年
    //并输出	
      public static void main(String[] args) {
    	int i=1000;
    	while(i<=2017){
    	  if((i%4==0&&i%100!=0)||i%400==0){
    		System.out.println(i+"是闰年");  
    	  }
    	  i++;	
    	}
      }
    }
    
    public class Demo16 {
    //求出1~100之间的每一个奇数
    //1,3,5,7,9,11...99	
    //i的初值i=1,条件i<=100,增量i=i+2	
      public static void main(String[] args) {
    	int i=1;
    	while(i<=100){
    	  System.out.println(i+"是奇数");	
    	  i=i+2;	
    	}	
      }	
    }
    
    //Demo17:使用while循环求出1~100之间所有的偶数
    //2种方法
    public class Demo17 {
      public static void main(String[] args) {
    //方法1:
    	int i=1;
    	while(i<=100){
    	  if(i%2==0){
    		System.out.println(i);  
    	  }	
    	  i++;	
    	}
    	System.out.println();//换行
    	System.out.println();
    	System.out.println();
    //方法2:
    //2,4,6,8,10...100
    //i的初值2,循环条件i<=100,增量i=i+2	
    	int k=2;
    	while(k<=100){
    	  System.out.println(k);	
    	  k=k+2;	
    	}
      }
    }
  • 相关阅读:
    MySQL客户端执行外部sql文件命令
    Java nextInt()函数
    JSP
    托管和非托管的区别。
    FTP软件Filezilla出现“读取目录列表失败”的解决办法
    Fiddler 抓包工具总结
    wampserver:Could not execute menu item.
    重装系统怎么恢复wampserver数据
    同时安装Xcode6和Xcode7导致出现N多UUID 模拟器解决办法
    打印沙漏
  • 原文地址:https://www.cnblogs.com/KalosOwen/p/8410405.html
Copyright © 2020-2023  润新知