下面是对java小白的入门必经之路之判断结构&&多分支结构,come on~
首先,说明判断结构的基础知识点;if是Java种的关键字,当程序在执行过程遇到if关键字,JVM就知道此处需要进行判断,根据判断结果需要处理相应的代码。格式说明:if关键字后面是一对小括号,小括号后面是没有分号的,小括号中的表达式运算完的结果必须是boolean类型的值(true or false)。来一个简单的求解2*2线性方程组编程
import java.util.*;
class Home05{
//求解2*2线性方程组
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入参数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();
double x;
double y;
x=(e*d-b*f)/(a*d-b*c);
y=(a*f-e*c)/(a*d-b*c);
if(a*d-b*c==0){
System.out.println("The equation has no solution.");
}else{
System.out.println("x is "+x+",y is "+y);
}
}
}
执行说明:当if条件表达式为true时,执行if后面大括号中的语句,当if条件表达式为 false时,执行else后面大括号中的语句(如果没有else,直接执行大括号后面的语句)。if-else格式组合成一条判断结构语句。要么执行if 后面的语句,要么执行else后面的语句。切记,else后面的语句要想执行,if中的条件表达式结果必须是false方可。
import java.util.*;
class Home06{
/***游戏:彩票
步骤:
1,提示用户输入一个三位数
2,电脑随机产生一个三位数
3,将用户输入的三位数进行拆分,
3.1 如果和电脑随机产生的数值相等,一等奖
3.2 如果和电脑产生的三个位的数字相等,顺序不同,则二等奖
3.3 如果用户输入的数字中有一个位数与电脑产生的其中一位相等,则三等奖(两位数字相等也是三等奖)
用户输入数字 a b c
电脑随机产生 d e f
二等奖 ad bf ce 三等奖 ad ae af
ae bd cf bd be bf
ae bf cd cd ce cf
af bd ce
af be cd
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个三位数:");
int user=scanner.nextInt();
Random rand=new Random();
int com=rand.nextInt(900)+100;
System.out.println("电脑产生的随机数为:"+com);
//123
int temp=user;
int com1=com;
int a=temp%10;
temp/=10;
int b=temp%10;
temp/=10;
int c=temp%10;
int d=com1%10;
com1/=10;
int e=com1%10;
com1/=10;
int f=com1%10; //a b c
if(user==com){ //d e f
System.out.println("奖金10000元。");
} else if((a==e&&b==f&&c==d)||(a==f&&b==d&&c==e)||(a==d&&b==f&&c==e)||(a==e&&b==d&&c==f)||(a==f&&b==e&&c==d)){
System.out.println("奖金3000元。");
}else if((a==e||a==f||a==d)||(b==d||b==e||b==f)||(c==d||c==e||c==f)){
System.out.println("奖金1000元。");
}else{
System.out.println("谢谢惠顾!");
}
}
}
程序执行时,遇到switch关键字,首先会计算表达式的值,然后根据计算的值和case 后面的值做比较,当case后面的值和switch表达式的值相同时,就执行case身后的所有语 句,若case身后没有和switch表达式匹配的值,程序就会执行default后面的语句
import java.util.*;
class Home08{
/**问题:某天是星期几
步骤:
1,提示用户分别输入年, 月,某月的第几天。
2,用计算公式赋值计算
3,输出结果
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter year:");
int y=scanner.nextInt();
System.out.print("Enter month:");
int m=scanner.nextInt();
System.out.print("Enter the day of the month:");
int q=scanner.nextInt();
int h;
if(m==1){ //因为一月和二月在这个公式里用13和14表示的
m=13; //所以这里将1和2进行转换,并将年份减一
--y; //上述操作完全因为公式所迫(保证结果准确)
}else if(m==2){
m=14;
--y;
}
int j=y/100;
int k=y%100;
h=(q+(26*(m+1))/10+k+k/4+j/4+5*j)%7;
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;
}
}
}
switch语句特点:
1、switch语句选择的类型只有四种:byte,short,int , char。
2、case之间与default没有顺序。先执行第一个case,没有匹配的case执行 default。
3、结束switch语句的两种情况:遇到break,执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束
再来最后一个练练手:
import java.util.*;
class Home09{
/**
问题:几何:点是否在矩形内?
步骤:
1,提示用户输入一个点的坐标
2,判断该点是否在矩形内(以原点(0,0)为中心,宽为10,高为5为例)
3,输出结果。
*/
public static void main(String[] args){
Scanner scanner=new Scanner (System.in);
System.out.print("请输入点的坐标:");
double x=scanner.nextDouble();
double y=scanner.nextDouble();
if ((x<10.0/2)&&(y<(5.0/2))){
System.out.println("("+x+","+y+")"+"在矩形内。");
}else{
System.out.println("("+x+","+y+")"+"不在矩形内。");
}
}
}
此图作为辅助理解程序Home09
~~今天的小白入门之判断结构&&分支选择就练习到这,欢迎未来的码神前来指正!!