JAVA学习记录(第三周)20211220-20211226

271 阅读3分钟

2021年12月20日

switch-case

例题:对学生成绩大于60分的,输出“合格”,低于60分的,输出“不合格”。 说明:结构中的多个case执行语句相同,可以考虑进行合并。

import java.util.Scanner;
class switchCaseTest1
{
    public static void main(String[] args)
    {
        Scanner point = new Scanner(System.in);
        System.out.println("请输入你的一建成绩:");
        int mark = point.nextInt();
        switch(mark / 10)//int / int还是取整
        {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
            System.out.println("不及格");
            break;
        case 10:
        case 11:
        case 12:
        case 13:
        case 14:
        case 15:
        case 16:
            System.out.println("及格");
            break;
        }
    }
}

2021年12月21日

switch-case说明

  1. 根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。
  2. break,可以使用在switch-case结构中,表示一旦执行到关键字,就跳出switch-case结构。
  3. switch结构表达式,只能是如下6种数据类型之一:
  4. byte、short、char、int、枚举(JDK5.0新增)、String(JDK7.0新增)
  5. case之后声明常量。不能声明范围。声明范围使用if-else结构。
  6. break关键字是可选的。
  7. default:相当于if-else结构中的else。
  8. default结构是可选的,而且结构灵活。

2021年12月22日

从键盘分别输入年、月、日,判断这一天是当年的第几天

闰年的标准:1)可以被4整除,但不可被100整除 或 2)可以被400整除

import java.util.Scanner;
class dateCalculation
{
    public static void main(String[] args)
    {
        Scanner shuru = new Scanner(System.in);
        System.out.println("请输入year:");
        int year = shuru.nextInt();
        System.out.println("请输入month:");
        int month = shuru.nextInt();
        System.out.println("请输入day:");
        int day = shuru.nextInt();
        int sumDays = 0;//定义一个变量来保存天数
        switch(month)
        {
        case 12:
            sumDays += 30;
        case 11:
            sumDays += 31;
        case 10:
            sumDays += 30;
        case 9:
            sumDays += 31;
        case 8:
            sumDays += 31;
        case 7:
            sumDays += 30;
        case 6:
            sumDays += 31;
        case 5:
            sumDays += 30;
        case 4:
            sumDays += 31;
        case 3:,
            if((year % 4 ==0 && year % 100 != 0)||(year % 400 == 0))
            {
                sumDays += 29;
            }
            else
            {
                sumDays += 28;
            }
        case 2:
            sumDays += 31;
        case 1:
            sumDays += day;
        }
        System.out.println(year + "年" + month + "月" + day +"日是当年的第" + sumDays + "天");
    }
}

2021年12月23日

if语句练习:两位数彩票,实际输入顺序奖金10000元,数字匹配、顺序不同3000元,顺序匹配一个1000元,非顺序匹配一个500,否则什么都没有。

import java.util.Scanner;
class ifExercise
{
    public static void main(String[] args)
    {
        Scanner enter = new Scanner(System.in);
        System.out.println("请输入一个两位数:");//10-99
        int num = enter.nextInt();
        int value = 25;//(int)(Math.random() * 90 + 10);//[a,b]:(int)(Math.random() * (b - a + 1) + a)
        int num1 = num / 10;//输入的十位数
        int num2 = num % 10;//输入的个位数
        int value1 = value / 10;//开奖的十位数
        int value2 = value % 10;//开奖的个位数
        System.out.println("开奖结果是:" + value);
        if (num == value)
        {
            System.out.println("奖励10000元!");
        }
        else if(num1 == value2 && num2 == value1)
        {
            System.out.println("奖励3000元!");
        }
        else if(num1 == value1 || num2 == value2)
        {
            System.out.println("奖励1000元!");
        }
        else if(num1 == value2 || num2 == value1)
        {
            System.out.println("奖励500元!");
        }
        else
        {
            System.out.println("啥都没有");
        }
    }
}

2021年12月24日

使用switch把小写类型的char型转为大写。只转换a,b,c,d,e。其它的输出"other"

提示:String word = scan.next(); char c = word.charAt(0); switch(c){}

import java.util.Scanner;
class characterChange
{
	public static void main(String[] args)
	{
		Scanner enter = new Scanner(System.in);
		System.out.println("请输入要转换的小写字母:");
		String word = enter.next();

		char c = word.charAt(0);
		switch(c)
		{
			case 'a':
				System.out.println("A");
				break;
			case 'b':
				System.out.println("B");
				break;
			case 'c':
				System.out.println("C");
				break;
			case 'd':
				System.out.println("D");
				break;
			case 'e':
				System.out.println("E");
				break;
			default:
				System.out.println("other");
				break;
		}
	}
}
  • 循环语句的四个组成部分
  1. 初始化部分 init_statement
  2. 循环条件部分 test_exp
  3. 循环体部分 body_statement
  4. 迭代部分 alter_statement
class loopStatement
{
	public static void main(String[] args)
	{
		for(int i = 1; i <= 10; i++)//此处没有分号,i只是在此for循环使用。
		{
			System.out.println("输出i:" + i);
		}
		int i = 1;//i还可以使用。
		for (System.out.print('a'); i <= 3; System.out.print('b'), i++)
		{
			System.out.println('c');
		}
	}
}

2021年12月25日

编写程序从1循环到150,并在每行打印一个值,另外每个3的倍数打印出foo,5的倍数打印biz,7的倍数打印baz

class threeMultiple
{
	public static void main(String[] args)
	{
		for (int i = 1; i <= 150; i++)
		{
			System.out.print(i + "  ");

			if(i % 3 == 0)
			{
				System.out.print("foo");
			}
			if(i % 5 == 0)
			{
				System.out.print("biz");
			}
			if(i % 7 == 0)
			{
				System.out.print("baz");
			}
		System.out.println(" ");//关键在换行
		}
	}
}

2021年12月25日

婚恋条件:身高180cm以上,财富1千万以上,帅:是。如果三个条件都满足,则“我一定嫁给他!”,如果三个条件有为真的条件,则“嫁吧,比上不足比下有余”,如果三个条件都不满足,则“不嫁”。

import java.util.Scanner;
class marriageWebsite
{
	public static void main(String[] args)
	{
		Scanner input = new Scanner(System.in);
		System.out.println("输入身高:");
		int height = input.nextInt();
		
		System.out.println("输入财产(千万):");
		double wealth = input.nextDouble();

		System.out.println("是否帅(是/否):");//System.out.println("是否帅");
		String ishandsome = input.next();//String ishandsome = input.scan.next();

		if(height >= 180 && wealth >= 1000 && ishandsome.equals("是"))
		{
			System.out.println("一定嫁!");
		}
		else if(height >= 180 || wealth >= 1000 || ishandsome.equals("是"))
		{
			System.out.println("嫁吧!");
		}
		else 
		{
			System.out.println("不嫁!");
		}
	}
}