JavaSEday03

运算符

比较运算符

比较的结果boolean
大于>
大于等于>=
小于<
小于等于<=
等于==
不等于 ! ==

逻辑运算符

单于&
双与&& 有假则假 同真则真
或 |
双或 | |   有真则真 同假则假
非 !
异或^
单与和双与的区别:
  单与 & 全部执行 再将结果进行逻辑运算
  双与 && 如果第一个条件为假 则后面的条件无论真假结果都是假 所以 后面的条件不运行
单或和双或的区别
  单或 | 全部执行 再将结果进行逻辑运算
  双或 || 如果第一个条件为真 则后面的条件无论真假结果都是真 所以 后面的条件不运行

if语句

单 if

单if语句
  … A
  if(条件){
    如果条件为真时,执行的语句 B
  }
  … C
条件为真 A->B->C
条件为假 A->C

if-else分支

if-else分支
  … A
  if(条件){
    如果条件为真时,执行的语句 B
  }else{
    如果条件为假时,执行的语句 C
   }
   … D
条件为真时:A->B->D
条件为假时:A->C->D

多if-else嵌套

if-else嵌套
  … A
  if(条件1){
    条件1为真… B
  if(条件2){
    条件2为真… B1
  }else{
    条件2为假… B2
  }
  … B3
  }else{
  条件1为假… C
  }
  … D
条件1为真 且 条件2为真:A->B->B1->B3->D
条件1为真 且 条件2为假:A->B->B2->B3->D
条件1为假 A->C->D

多if-else分支

多if-else分支
  …A
  if(条件1){ > < >= <= == !=
    条件1为真…B
  }else if(条件2){
    条件2为真…C
  }else if(条件3){
    条件3为真…D
  }else{
    … E
  }
   …F
条件1为真:A->B->F
条件1为假,条件2位真:A->C->F
条件1为假,条件2位假,条件3为真:A->D->F
三者都为假:A->E->F

switch语句

选择语句switch

switch(变量){
  case 选项1:
    如果变量= =选项1执行的语句
    break;
  case 选项2:
    如果变量==选项2执行的语句
    break;
  …
  default:
    如果选项n中没有适合变量的值,则执行
    break;
}
if与switch的区别
if可以对区间值进行比较 也可以对固定值进行比较
switch只能对固定的一个值进行比较 推荐

布尔表达式

布尔表达式(条件表达式)(三目运算)
数据类型 变量名=布尔表达式?常量值1:常量值2;
true 输出常量1
false 输出常量2

编程题

在这里插入图片描述

import java.util.Scanner;
public class Demo3_1{
	public static void main(String[] args){
		//1.提示用户输入a,b,c
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a,b,c:");
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		//2.计算判别式
		double delt=Math.pow(b,2)-4*a*c;
		//3.判断判别式,输出根
		if(delt>0){
			double r1=(-b+Math.sqrt(delt))/2*a;
			double r2=(-b-Math.sqrt(delt))/2*a;
			System.out.println("The equation has two roots "+r1+"and"+r2);
		}else if(delt==0){
			double r=-b/2*a;
			System.out.println("The equation has one root"+r);
		}else{
			System.out.println("The equation has no real roots");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_2 {
	public static void main(String[] args) {
		//1.输入a,b,c,d,e,f
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a,b,c,d,e,f:");
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		double d=scanner.nextDouble();
		double e=scanner.nextDouble();
		double f=scanner.nextDouble();
		//2.计算ad-bc及x,y的值
		double delt=a*d-b*c;
		//3.判断
		if(delt==0){
			System.out.println("The equation has no solution");
		}else{
			double x=(e*d-b*f)/(a*d-b*c);
			double y=(a*f-e*c)/(a*d-b*c);
			System.out.println("x is "+x+" and y is "+y);
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_3 {
	public static void main(String[] args) {
		//1.输入今天的日期数和今天之后的天数
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter today's day:");
		int today=scanner.nextInt();
		System.out.print("Enter the number of days elapsed since today:");
		int days=scanner.nextInt();
		//2.计算日期
		int number=(days+today)%7;
		//3.判断并输出
		switch(today){
		case 0:
			System.out.print("Today is Sunday");
			break;
		case 1:
			System.out.print("Today is Monday");
			break;
		case 2:
			System.out.print("Today is Tuesday");
			break;
		case 3:
			System.out.print("Today is Wednesday");
			break;
		case 4:
			System.out.print("Today is Thursday");
			break;
		case 5:
			System.out.print("Today is Friday");
			break;
		case 6:
			System.out.print("Today is Saturday");
			break;
		}
		switch(number){
		case 0:
			System.out.println(" and the future day is Sunday");
			break;
		case 1:
			System.out.println(" and the future day is Monday");
			break;
		case 2:
			System.out.println(" and the future day is Tuesday");
			break;
		case 3:
			System.out.println(" and the future day is Wednesday");
			break;
		case 4:
			System.out.println(" and the future day is Thursday");
			break;
		case 5:
			System.out.println(" and the future day is Friday");
			break;
		case 6:
			System.out.println(" and the future day is Saturday");
			break;
		}
	}
}

3.4
在这里插入图片描述

import java.util.Scanner;
public class Demo3_4 {
	public static void main(String[] args){
		//1.输入一个九位编号
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter the first 9 digits of an ISBN as integer:");
		int digit=scanner.nextInt();
		int digitOri=digit;
		//2.将九位编号分别取出
		int d9=digit%10;
		digit/=10;
		int d8=digit%10;
		digit/=10;
		int d7=digit%10;
		digit/=10;
		int d6=digit%10;
		digit/=10;
		int d5=digit%10;
		digit/=10;
		int d4=digit%10;
		digit/=10;
		int d3=digit%10;
		digit/=10;
		int d2=digit%10;
		digit/=10;
		int d1=digit%10;
		digit/=10;
		//3.计算校验和
		int d10=(d1*1+d2*2+d3*3+d4*4+d5*5+d6*6+d7*7+d8*8+d9*9)%11;
		if(d10==10){
			System.out.println("The ISBN-10 Number is "+d1+d2+d3+d4+d5+d6+d7+d8+d9+"X");
		}else{
			System.out.println("The ISBN-10 Number is "+d1+d2+d3+d4+d5+d6+d7+d8+d9+d10);
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_5 {
	public static void main(String[] args) {
		//1.用户输入整数
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a three-digit integer:");
		int digit=scanner.nextInt();
		//2.拆分三位数
		int a=digit%10;
		int b=digit/100;
		//3.对比个位和百位判断是否回文
		if(a==b){
			System.out.print("是回文数字");
		}else{
			System.out.print("不是回文数字!");
		}
	}
}

在这里插入图片描述

import java.util.Random;
import java.util.Scanner;
public class Demo3_6 {
	public static void main(String[] args) {
		//1.用户输入数
		Scanner scanner=new Scanner(System.in);
		System.out.print("scissor(0),rock(1),paper(2):");
		int number=scanner.nextInt();
		//电脑生成一个0~3的数
		/*int c=(int)Math.random()*3;
		 * 
		 * */
		Random random=new Random();
		int result=random.nextInt(3);
		//2.比较输赢,输出结果
		if(result==0&&number==0){
			System.out.print("The computer is scissor.You are scissor too.It is a draw");
		}else if(result==0&&number==1){
			System.out.print("The computer is scissor.You are rock.You lose");
		}else if(result==0&&number==2){
			System.out.print("The computer is scissor.You are paper.You win");
		}else if(result==1&&number==1){
			System.out.print("The computer is rock.You are rock too.It is a draw");
		}else if(result==1&&number==0){
			System.out.print("The computer is rock.You are scissor.You lose");
		}else if(result==1&&number==2){
			System.out.print("The computer is rock.You are paper.You win");
		}else if(result==2&&number==2){
			System.out.print("The computer is paper.You are paper too.It is a draw");
		}else if(result==2&&number==1){
			System.out.print("The computer is paper.You are rock.You lose");
		}else if(result==2&&number==0){
			System.out.print("The computer is paper.You are scissor.You win");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_7 {
	public static void main(String[] args) {
		//1.输入三角形的三边
		Scanner scanner=new Scanner(System.in);
		System.out.print("输入三角形三边长a,b,c:");
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		//2. 判断输入值是否合法
		if(a+b<=c||a+c<=b||b+c<=a){
			System.out.println("输入值不合法");
		}else{
			double l=a+b+c;
			System.out.println("输入值合法,三角形的边长为:"+l);
		}
	}
}

3.8
在这里插入图片描述

import java.util.Scanner;
public class Demo3_8 {
	public static void main(String[] args) {
		//1.用户输入年、月、该月的哪天
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter year:(e.g.,2012):");
		int year=scanner.nextInt();
		System.out.print("Enter month:");
		int month=scanner.nextInt();
		System.out.print("Enter the day of the month:");
		int q=scanner.nextInt();
		int m=month%12;
		switch (m) {
		case 1:
			m=13;
			year-=1;
			break;
		case 2:
			m=14;
			year-=1;
			break;
		default:
			break;
		}
		int j=year/100;
		int k=year%100;
		//2.计算h
		int h=(q+26*(m+1)/10+k+k/4+j/4+5*j)%7;
		//3.switch循环判定是周几
		switch (h) {
		case 0:
			System.out.println("Day of the week is Saturday");
			break;
		case 1:
			System.out.println("Day of the week is Sunday");
			break;
		case 2:
			System.out.println("Day of the week is Monday");
			break;
		case 3:
			System.out.println("Day of the week is Tuesday");
			break;
		case 4:
			System.out.println("Day of the week is Wednesday");
			break;
		case 5:
			System.out.println("Day of the week is Thursday");
			break;
		case 6:
			System.out.println("Day of the week is Friday");
			break;
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_9 {
	public static void main(String[] args) {
		//1.输入一个点
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a point with two coordinates:");
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		//2.计算点到圆心的距离
		double distance=Math.sqrt(Math.pow(x1, 2)+Math.pow(y1, 2));
		//3.判断点是否在圆内
		if(distance<=10){
			System.out.println ("Point("+x1+","+y1+") is in the circle");
		}else{
			System.out.println("Point ("+x1+","+y1+") is not in the circle");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_10 {
	public static void main(String[] args) {
		//1.输入点的坐标
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a point with two coordinates:");
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		//2.判断点是否在矩形内
		if(x1<=10/2&&y1<=5.0/2){
			System.out.println ("Point("+x1+","+y1+") is in the rectangle");
		}else{
			System.out.println ("Point("+x1+","+y1+") is not in the rectangle");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_11 {
	public static void main(String[] args) {
	Random random = new Random();
	int num = random.nextInt(13);
	String a = "";
	switch(num){
	case 0:
		a = "Ace";
		break;
	case 1:
		a = "2";
		break;
	case 2:
		a = "3";
		break;
	case 3:
		a = "4";
		break;
	case 4:
		a = "5";
		break;
	case 5:
		a = "6";
		break;
	case 6:
		a = "7";
		break;
	case 7:
		a = "8";
		break;
	case 8:
		a = "9";
		break;
	case 9:
		a = "10";
		break;
	case 10:
		a = "Jack";
		break;
	case 11:
		a = "Queen";
		break;
	case 12:
		a = "King";
		break;
	}
	int number = (int)(Math.random()*4);
	String b = "";
	switch(number%4){              
	case 0:
		b = "Clubs";
		break;
	case 1:
		b = "Diamonds";
		break;
	case 2:
		b = "Hearts";
		break;
	case 3:
		b = "Spades";
		break;
	}
	System.out.println("The card you picked is "+a+" of "+b);
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_12 {
	public static void main(String[] args) {
		//1.输入第一条直线上的点和第二条直线上的点
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter x1,y1,x2,y2,x3,y3,x4,y4");
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		double x2=scanner.nextDouble();
		double y2=scanner.nextDouble();
		double x3=scanner.nextDouble();
		double y3=scanner.nextDouble();
		double x4=scanner.nextDouble();
		double y4=scanner.nextDouble();
		//2.结合方程组计算方程组中的系数和常数项
		double a=y1-y2;
		double b=-(x1-x2);
		double c=y3-y4;
		double d=-(x3-x4);
		double e=a*x1+b*y1;
		double f=c*x3+d*y3;
		//3.判断方程组是否有解
		double delt=a*d-b*c;
		if(delt==0){
			System.out.print("两线平行");
		}else{
			double x=(e*d-b*f)/(a*d-b*c);
			double y=(a*f-e*c)/(a*d-b*c);
			System.out.println("x is "+x+" and y is "+y);
		}
	}
}

3.13
在这里插入图片描述

import java.util.Scanner;
public class Demo3_13 {
	public static void main(String[] args) {
		//1.输入点的坐标
		Scanner scanner=new Scanner(System.in);
		System.out.print("输入点的坐标:");
		double x=scanner.nextDouble();
		double y=scanner.nextDouble();
		//2.判断点在三角形内
//		if(x>=0&&y>=0&&x<=(y-100)/-0.5&&(y<=-0.5*x+100)){			
//			System.out.print("in");
//		}else{
//			System.out.print("out");
//		}
		if(x>=0&&x<=200){
			if((200-x)/y>=2){
				System.out.println("in");
				return;//直接结束函数
			}
		}
		System.out.println("out");
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_14 {
	public static void main(String[] args) {
		//1.输入中心坐标以及宽,高
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter r1's center x-,y-coordinates,width,and height:");
		double rx1=scanner.nextDouble();
		double ry1=scanner.nextDouble();
		double w1=scanner.nextDouble();
		double h1=scanner.nextDouble();
		System.out.print("Enter r2's center x-,y-coordinates,width,and height:");
		double rx2=scanner.nextDouble();
		double ry2=scanner.nextDouble();
		double w2=scanner.nextDouble();
		double h2=scanner.nextDouble();
		//2.计算是否r2在r1内
		if(rx2<=(w1/2-w2/2+rx1)&&rx2>=(rx1-w1/2+w2/2)&&ry2<=(h1/2-h2/2+ry1)&&ry2>=(ry1-h2/2-h1/2)){
			System.out.println("r2 is inside r1");
		}else if(rx2>=(w1/2+w2/2+rx1)||rx2<=(rx1-w1/2-w2/2)||ry2>=(h1/2+h2/2+ry1)||ry2<=(ry1-h2/2-h1/2)){
			System.out.println("r2 does not overlap r1");
		}else{
			System.out.println("r2 overlaps r1");
		}
	}
}

3.15
在这里插入图片描述

import java.util.Scanner;
public class Demo3_15 {
	public static void main(String[] args) {
		//1.输入两圆的中心坐标和各自半径的值
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter circle1's center x-,y-coordinates,and radius:");
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		double r1=scanner.nextDouble();
		System.out.print("Enter circle2's center x-,y-coordinates,and radius:");
		double x2=scanner.nextDouble();
		double y2=scanner.nextDouble();
		double r2=scanner.nextDouble();
		//2.计算圆心距离
		double distance=Math.sqrt(Math.pow(x1-x2, 2)+Math.pow(y1-y2,2));
		//3.判断圆的位置
		if(distance<=r1-r2){
			System.out.println("circle2 is inside circle1");
		}else if(distance>=r1+r2){
			System.out.println("circle2 does not overlap circle1");
		}else{
			System.out.println("circle2 overlaps circle1");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo3_16 {
	public static void main(String[] args) {
		//1.输入p0,p1,p2的坐标
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter three points for p0,p1 and p2:");
		double x0=scanner.nextDouble();
		double y0=scanner.nextDouble();
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		double x2=scanner.nextDouble();
		double y2=scanner.nextDouble();
		//2.计算
		double number=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
		//3.判断
		if(number>0){
			System.out.println("("+x2+","+y2+")is on the left side of the line from ("+x0+","+y0+") to ("+x1+","+y1+")");
		}else if(number<0){
			System.out.println("("+x2+","+y2+")is on the right side of the line from ("+x0+","+y0+") to ("+x1+","+y1+")");
		}else{
			System.out.println("("+x2+","+y2+")is on the line from ("+x0+","+y0+") to ("+x1+","+y1+")");
		}
	}
}
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值