Java基础_流程控制与判断

Day_03 流程控制与运算符

一.判断年份是否为闰年

//输入年号,判断是否是闰年,两个标准:<1>能被4整除,并且不能被100整除。<2>或者能被400整除。
import java.util.Scanner;
public class Years {
     

	public static void main(String[] args) {
     
		
		System.out.print("请输入年份:");
		int year = new Scanner(System.in).nextInt();
		
		if((year%4==0 && year%100!=0) || (year%400==0))
		{
     
			System.out.println("该年份是闰年!");
		}
		else
		{
     
			System.out.println("该年份不是闰年!");
		}

	}

}

二.求两个数中的最大值

//输入两个数,求两个数里的最大值。
import java.util.Scanner;
public class MaxBetween {
     

	public static void main(String[] args) {
     
		
		System.out.print("请输入一个数a:");
		int a = new Scanner(System.in).nextInt();
		
		System.out.print("请输入一个数b:");
		int b = new Scanner(System.in).nextInt();
		
		int max;//定义中间变量,用于存放a,b中较大的一方。
		
		if(a>b)//条件判断,如果a的值大于b的值,那么就将a的值赋值给中间变量max。
		{
     
			max = a;
			System.out.println("两数之中的最大值为:" + a);
		}
		else
		{
     
			max = b;
			System.out.println("两数之中的最大值为:" + b);
		}
		
	}

}

三.求三个数中的最大值

//输入三个数,判断三个数中的最大值。
import java.util.Scanner;
public class MaxAmong {
     

	public static void main(String[] args) {
     
		
		System.out.print("请输入一个数a:");
		int a = new Scanner(System.in).nextInt();
		
		System.out.print("请输入一个数b:");
		int b = new Scanner(System.in).nextInt();
		
		System.out.print("请输入一个数c:");
		int c = new Scanner(System.in).nextInt();
		
		int max1 = a>b?a:b;
		
		int max2 = max1>c?max1:c;
		
		System.out.println("三个数中的最大值为:" + max2);
		
	}

}

四.商品折扣判断

//接收用户输入的原价。满1000打9折。满2000打8折。满5000打5折。
import java.util.Scanner;
public class DIscount {
     

	public static void main(String[] args) {
     
		
		System.out.print("请输入商品金额:");
		double price = new Scanner(System.in).nextDouble();
		
		if(price>=0 && price<1000)//此范围价格不变。
		{
     
			price = price * 1;
			System.out.println("实际收款:" + price);
		}
		else if(price >= 1000 && price < 2000)
		{
     
			price = price * 0.9;
			System.out.println("实际收款:" + price);
		}
		else if(price >= 2000 && price <5000)
		{
     
			price = price * 0.8;
			System.out.println("实际收款:" + price);
		}
		else if(price >=5000)
		{
     
			price = price * 0.5;
			System.out.println("实际收款:" + price);
		}
		else
		{
     
			System.out.println("商品金额有误!");//需要考虑到数据极端的情况。
		}
		
	}

}

五.统计学员得分状况

//输入学生成绩。90分以上 优秀,80~89 良好,70~79 中等,60~69 及格,60分以下 不及格。
import java.util.Scanner;
public class Grade {
     

	public static void main(String[] args) {
     
		
		System.out.print("请输入学生的成绩:");
		int score = new Scanner(System.in).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("成绩有误");
		}

	}

}

六.Switch简单案例

import java.util.Scanner;
public class Switch {
     

	public static void main(String[] args) {
     
		
		int i = 1;
		switch(i)//括号内为变量或者表达式。
		{
     
		case 1://case不加以限制会穿透所有case,因此要加入break进行限制。
			System.out.println("1");
			break;
			
		case 2:
			System.out.println("2");
			break;
			
		case 3:
			System.out.println("3");
			break;
			
		default:
			System.out.println("default");
			break;
		}

	}

}

七.打印数字0到10

public class Print0_10 {
     

	public static void main(String[] args) {
     
		
		int i;//定义变量i,也可以在for中直接定义并赋值。
		
		for(i=0;i<=10;i++)
		{
     
			System.out.println(i);
		}

	}

}

八.打印数字10到0

public class Print10_0 {
     

	public static void main(String[] args) {
     
		
		int i;
		
		for(i=10;i>=0;i--)
		{
     
			System.out.println(i);
		}

	}

}

九.打印数字8,88,888,8888

public class Print8_88_888_8888 {
     

	public static void main(String[] args) {
     
		
		int i;
		
		for(i=8;i<=8888;i=i*10+8)//不要拘泥于i++,第三部分也可以对i进行赋值。
		{
     
			System.out.println(i);
		}

	}

}

十.求0到100中,奇数的个数

public class Sum_OddNumber_0_100 {
     

	public static void main(String[] args) {
     
		
		int number = 0;//在遍历之前,奇数的个数为0。
		int i;
		
		for(i=0;i<=100;i++)
		{
     
			if(i%2!=0)//判断是否为奇数。
			{
     
				number = number + 1;//如果是奇数,那么奇数的个数加一。
			}
		}
		
		System.out.println("0-100中奇数的个数为:" + number);
		
	}

}

十一.求0-100中,偶数的总和

public class Sum_Even_0_100 {
     

	public static void main(String[] args) {
     
		
		int sum = 0;
		int i;
		
		for(i=0;i<=100;i++)
		{
     
			if(i%2==0)
			{
     
				sum = sum + i;
			}
		}
		
		System.out.println("0-100中的偶数和为:" + sum);

	}

}

十三.运算符注意事项
1.&(与)和&&(短路与)的区别:当&表达式在求值的时候,两个操作数都会被求值。当&&表达式在求值的时候,先计算第一个操作数,如果第一个操作数为true,才会继续计算第二个操作数。如果第一个操作数的结果为false,那么整体为false,不再计算第二个操作数。

2.的区别:a+=4会自动完成数据类型的转换。例如:byte a = 1,将a+4赋值给a,如果直接赋值,则必须加强制转换符号,因为a+4在运算的过程中已经自动转化为int类型,即代码必须写成a = (byte)(a+4)。相反,如果使用a+=4进行输出,直接输出即可,类型转换会自动完成。

你可能感兴趣的:(学习,java)