欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

JAVASE,

来源: javaer 分享于  点击 10161 次 点评:259

JAVASE,


JAVASEDAY04

1.switch语句
switch 语句遵从下述规则:
① switch 表达式必须能计算出一个 char、byte、short,int或者 String 型值,并且必 须总是要用括号括住。 (char 和 String 类型将在下一章介绍。)
② valuel,. . . ,valueN 必须与 switch 表 达 式 的 值 具 有 相 同 的 数 据 类 型。注意: valuel, valueN 都是常量表达式,也就是说这里的表达式是不能包含变量的,例如,不 允许出现 1+X。
③ 当 switch 表达式的值与 case 语句的值相匹配时,执行从该 case开始的语句,直到 遇到一个 break 语句或到达该switch 语句的结束。
④ 默认情况(default)是可选的,当没有一个给出的 case 与 switch 表达式匹配时, 用来执行该操作。
⑤ 关键字 break 是可选的。break 语句会立即终止 switch 语句。 警告:不要忘记在需要的时候使用 break 语句。一旦匹配其中一个 case, 就从匹配的case 处开始执行,直到遇到 break 语句或到达 switch 语句的结束。这种现象称为落空行 为(fall-through behavior)。
代码示例:

public class SwitchDemo {
   public static void main(String[] args) {
   	byte b=3;
   	switch(b){}
   	short s=3;
   	switch(s){}
   	int i=3;
   	switch(i){}
//		long l=3;
//		switch(l){}
//		boolean bool=true;
//		switch(bool){}
//		double d=3.14;
//		switch(d){}
   	char c=10;
   	switch(c){}
//		String s="123";
//		switch(s){}
   	//Cannot switch on a value of type long. Only convertible int values, strings or enum variables are permitted
   	//switch byte short int char String 枚举
   }
}

2.课后题:

  public class Demo3_11 {
   public class MyCard {

   public static void main(String[] args) {
   	//1.产生随机数
   	int number=(int)(Math.random()*13);
   	int color=(int)(Math.random()*4);
   	String num=null;
   	String col=null;
   	//牌的大小
   	switch(number){
   		case 0:
   			num="Ace";
   			break;
   		case 1:
   			num="2";
   			break;	
   		case 2:
   			num="3";
   			break;	
   		case 3:
   			num="4";
   			break;	
   		case 4:
   			num="5";
   			break;
   		case 5:
   			num="6";
   			break;
   		case 6:
   			num="7";
   			break;
   		case 7:
   			num="8";
   			break;
   		case 8:
   			num="9";
   			break;
   		case 9:
   			num="10";
   			break;
   		case 10:
   			num="Jack";
   			break;
   		case 11:
   			num="Queen";
   			break;
   		case 12:
   			num="King";
   			break;
   	}
   switch(color){
   	case 0:
   		col="Diamonds";
   		break;
   	case 1:
   		col="Hearts";
   		break;
   	case 2:
   		col="Spades";
   		break;
   	case 3:
   		col="Clubs";
   		break;

   }
  System.out.println("The card you picked is "+num+" of "+col);
   }

}

import java.util.Scanner;
public class Demo3_12 {
   public static void main(String[] args) {
   	Scanner scanner=new Scanner(System.in);
   	//1.输入四个坐标点
   	System.out.print("Enter 4 points:");
   	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=(y1-y2)*x1-(x1-x2)*y1;
   	double f=(y3-y4)*x3-(x3-x4)*y3;
   	//3.判断方程组是否有解
   	double delt=a*d-b*c;
   
   	if(delt==0){
   		System.out.println("The two line are parallel");
   	}else{
   		double x=(e*d-b*f)/delt;
   		double y=(a*f-e*c)/delt;
   		System.out.println("x="+x+",y="+y);
   	}
   }
}

import java.util.Scanner;
public class Demo3_13 {
   public static void main(String[] args) {
   	Scanner scanner=new Scanner(System.in);
   	System.out.print("Enter x,y:");
   	double x=scanner.nextDouble();
   	double y=scanner.nextDouble();
   	if(x>=0&&x<=200){
   		if((200-x)/y>=2){
   			System.out.println("int");
   			return;//直接结束函数 谨慎使用
   		}
   	}
   	System.out.println("out");
   }
}

import java.util.Scanner;


public class Demo3_14 {
   public static void main(String[] args) {
   	Scanner scanner=new Scanner(System.in);
   	//1.输入两个矩形的宽高和中心坐标
   	System.out.print("Enter r1:");
   	double xo=scanner.nextDouble();
   	double yo=scanner.nextDouble();
   	double W=scanner.nextDouble();
   	double H=scanner.nextDouble();
   	System.out.print("Enter r2:");
   	double x=scanner.nextDouble();
   	double y=scanner.nextDouble();
   	double w=scanner.nextDouble();
   	double h=scanner.nextDouble();
   	//2.计算是否r2在r1内
   	if(x<=(W/2-w/2+xo)&&x>=(xo-W/2+w/2)&&y<=(H/2-h/2+yo)&&y>=(yo-H/2+h/2)){
   		System.out.println("r2 in r1");
   		//计算是否r2在r1外
   	}else if(x>=(W/2+w/2+xo)||x<=(xo-W/2-w/2)||y>=(H/2+h/2+yo)||y<=(yo-H/2-h/2)){
   		System.out.println("r2 out r1");
   	}else{
   		System.out.println("r2 overlaps r1");
   	}
   }
}

import java.util.Scanner;


public class Demo3_15 {
   public static void main(String[] args) {
   	Scanner scanner=new Scanner(System.in);
   	//1.输入两个圆的信息 圆心坐标 半径
   	System.out.print("Enter circle1:");
   	double x1=scanner.nextDouble();
   	double y1=scanner.nextDouble();
   	double r1=scanner.nextDouble();
   	System.out.print("Enter circle2:");
   	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<=Math.abs(r1-r2)){
   		System.out.println("c2 in c1");
   	}else if(distance>=r1+r2){
   		System.out.println("c2 out c1");
   	}else{
   		System.out.println("c2 overlaps c1");
   	}
   }
}

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 p0,p1,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();
   	//计算结果
   	double res=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
   	if(res>0){
   		System.out.println("p2 left to line");
   	}else if(res==0){
   		System.out.println("p2 on the line");
   	}else{
   		System.out.println("p2 right to line");
   	}
   }
}

相关文章

    暂无相关文章

用户点评