JAVA学习第4天

引言:今天主要学习分支语句这一大类,所以先说说都有哪些语句.

  首先分为三类:

    1.顺序语句:程序自上而下依次运行

    2.分支语句:从多个分支中选择一个执行

    3.循环语句:多次循环一段程序

分支语句(判断选择)

 if

1.if基础语法

    if(条件表达式){

        代码1

}

执行逻辑:当条件表达式为真时,执行代码1

例:

int x = 3

if(x>1){

        System.out.println(x);

}

输出结果:3

2.if else

   if(条件表达式){

        代码1

}else{

        代码2

}

执行逻辑:当条件表达式为真时,执行代码1,反之执行代码2

例:体重超过200可以参加相扑运动

import java.util.Scanner;

public class Demo01 {
	public static void main(String[] args) {
		Scanner scanner  = new Scanner(System.in);
		System.out.println("请输入你的体重:");
		
		int weight = scanner.nextInt();
		if( weight >200) {
			System.out.println("可以参加相扑运动!");
		}else {
			System.out.println("生命安全最重要!");
		}
	}

}

输入:300

输出:可以参加相扑运动!

3.if   else if

  if(条件表达式1){

        代码1

}else if(条件表达式2){

        代码2

}

..........

else if(条件表达式n){

        代码n

}else{

       当以上条件表达式都不为真时,执行此处代码;

}

执行逻辑:当条件表达式1为真时,执行代码1,当条件表达式2为真时,执行代码2.....

例:

成绩如果在
85~100 显示 A
70~85 显示 B
60~70 显示 C
0~60 显示 D
大于 100 显示 : 吃大嘴巴子
小于 0: 分数有误
import java.util.Scanner;



public class Demo03 {
	public static void main(String[] args) {
		Scanner sca = new Scanner(System.in);
		System.out.println("请输入你的成绩");
		
		int x = sca.nextInt();
		if (x >100) {
			System.out.println("吃我大嘴巴子");
			
		}else if (x <=100&& x > 85) {
			System.out.println("成绩为:A");
			
		}else if (x >70) {
			System.out.println("成绩为:B");
			
		}else if (x >60) {
			System.out.println("成绩为:C");
			
		}else if (x >0) {
			System.out.println("成绩为:D");
		}else {
			System.out.println("成绩有误!");
		}
	}
}

输入:100

输出:成绩为:A

4.if的嵌套

语法:在if语句中再加入if语句

例:

去超市购物 , 200 8 , 是会员也打 8 ( 不是会员满 200, 也要打 8 , 是会员 , 200 要折上折 . 是会
员不满 200 还有打 8 )
import java.util.Scanner;

public class Demo04 {
	public static void main(String[] args) {
		Scanner sca = new Scanner(System.in);
		System.out.println("请输入消费金额:");
		double x = sca.nextDouble();
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入是否为会员?(是/不是)");
		String y = scanner.next();
		//金额是否大于200
		if (x >=200) {
			double money = x * 0.8;
			//是否为会员
			if (y == "是") {
				double money01 =0.8*money;
				System.out.println("本次应付金额:"+x+"元");
				System.out.println("本次实付金额:"+money01+"元");
				System.out.println("本次优惠金额:"+(x-money01)+"元");
			}else {
				double money01 =money;
				System.out.println("本次应付金额:"+x+"元");
				System.out.println("本次实付金额:"+money01+"元");
				System.out.println("本次优惠金额:"+(x-money01)+"元");
			}
			
		//不满200	
		}else {
			double money = x;
			//是否为会员
			if (y == "是") {
				double money01 =0.8*money;
				System.out.println("本次应付金额:"+x+"元");
				System.out.println("本次实付金额:"+money01+"元");
				System.out.println("本次优惠金额:"+(x-money01)+"元");
				//不是会员
			}else {
				double money01 =money;
				System.out.println("本次应付金额:"+x+"元");
				System.out.println("本次实付金额:"+money01+"元");
				System.out.println("本次优惠金额:"+(x-money01)+"元");
			
			}
		}
	}
}

输入:200,是

输出:本次应付金额:200.0元
        本次实付金额:160.0元
        本次优惠金额:40.0元

注意:1.else if:可以有多个,也可以没有

        2.else 可有可无

        3.分支语句中只会选择其中一个执行,如果上面的条件表达式为真,将不在判断下面的条件表达式

        4.分支语句中可以使用分支语句

switch

语法:

  switch(变量){

        case 常量1:

        当变量与常量1相等时,执行此段代码;

        break;

        case 常量2:

        当变量与常量2相等时,执行此段代码;

        break;

........

        case 常量n:

        当变量与常量n相等时,执行此段代码;

        break;

        default:

        当变量与其他常量都不同时,执行此段代码;

break;

}

例:

1, 不同编号进入不同操作
1, 登录
2, 注册
3, 忘记密码
其他 , 显示暂无此操作
import java.util.Scanner;

public class Demo05 {
	public static void main(String[] args) {
		Scanner sca = new Scanner(System.in);
		System.out.println("输入操作数");
		int tag = sca.nextInt();
		switch (tag) {
		case 1:
			System.out.println("进入登录");
			break;
		case 2:
			System.out.println("进入注册");
			break;
		case 3:
			System.out.println("忘记密码");	
			break;
		default:
			System.out.println("暂无此操作");
			break;
		}
	
	}
}

输入:1

输出:进入登录

常量:java文件编译为class文件后,不能被修改和改变的值或变量

代码块:{}就是一个代码块

break:跳出代码块

注意:

        1.default可有可无

        2.case可以有多个,也可以没有

        3.多个case的常量值不能相同

        4.break可以不写,但是代码会出现贯穿,直到遇见break才会结束

        5.jdk1.5及以后支持判断字符串内容是否相同

if与switch的区别

if可以比较一个区域值的大小,还可以比较值是否相同;switch只能比较值是否相同

switch相比于if效率稍微高一些

判断字符串内容是否相同

语法:

        boolean 变量名 = 字符串变量或字符串值1.equals(字符串变量或字符串值2);

        如果返回值true,则字符串值1与字符串值2相同;

        如果返回值false,则字符串值1与字符串值2部相同;

局部变量

        在方法中声明的变量就是局部变量

        在方法外,类中声明的变量为成员变量(属性)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值