JAVA_脱产篇_判断结构&&多分支结构

下面是对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
此图作为辅助理解程序Home09
~~今天的小白入门之判断结构&&分支选择就练习到这,欢迎未来的码神前来指正!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值