JavaSE(三)--选择结构与循环结构

1.变量的比较

  • 基本数据类型(byte,short,int,long,float,double,char,boolean)的变量,用==表比较.
  • 引用数据类型(String)的变量,用字符串1.equals(字符串2)表比较.
	eg:int num11=6;
		int num12=6;
		boolean result1=num11==num12;
		System.out.println("两个数的比较结果为:"+result1);
		
		String s1="我是学生";
		String s2="我是学生";
		boolean result2=s1.equals(s2);
		System.out.println("两个字符串的比较结果为:"+result2);

2.Java中三种结构:

  • 顺序结构.
  • 选择结构.
  • 循环结构.

3.基本if选择结构:

有一种情况,满足就执行,没满足什么都不做.

3.1:语法:

if(布尔表达式){
		代码块;
	}

3.2:执行流程:

如果if后面小括号的布尔表达式为true,就执行大括号中代码块,否则就不执行.

	eg://第一步:导包
import java.util.Scanner; 

//基本if选择结构的使用

public class IfTest{
	/**
	*程序的入口方法
	*/
	public static void main(String[] args){
		//第二步:获得具有从键盘上接收数据的能力
		Scanner input=new Scanner(System.in);
		//给用户提示
		System.out.println("上课时是否有手机响了(y(是)/其他字母表示否):");
		//第三步:接收从键盘上的输入,并将输入的值赋值给变量
		String answer=input.next();
		
		if(answer.equals("y")){
			System.out.println("下课时又有人给我们发红包了");
		}
	}
}

4.if-else结构:

两种情况,无论如何都要执行其中一种.

4.1:语法:

if(布尔表达式){
			代码块1;
		}else{
			代码块2;
		}

4.2:执行流程:

  • 如果布尔表达式的结果为true,就执行代码块1;
  • 如果布尔表达式的结果为false,就执行代码块2;
		eg:public static void main(String[] args){
		//第二步:获得具有从键盘上接收数据的能力
		Scanner input=new Scanner(System.in);
		//给用户提示
		System.out.println("晨考是否考好(y(是)/其他字母表示否):");
		//第三步:接收从键盘上的输入,并将输入的值赋值给变量
		String answer=input.next();
		
		if(answer.equals("y")){
			System.out.println("老师请吃饭");
		}else{
			System.out.println("罚抄10遍");
		}
   }

5.多重if选择结构:

有两种及两种以上情况.

5.1:语法:

	if(布尔表达式1){
				代码块1;
			}else if(布尔表达式2){
				代码块2;
			}else if(布尔表达式3){
				代码块3;
			}else{
				else代码块;
			}

5.2:执行流程:

  • 如果布尔表达式1为true,就执行代码块1,执行完之后,执行结构后面的语句;
  • 如果布尔表达式1为false,就接着判断布尔表达式2,布尔表达式2为true,就执行代码块2,执行完之后,执行结构后面的语句;
  • 如果布尔表达式2为false,就接着判断布尔表达式3,布尔表达式3为true,就代码块3,执行完之后,执行结构后面的语句;
  • 如果上面的条件都不满足才会执行else代码块.

5.3:多重if结构特点:

  • 1:在多重if结构中,if有且仅有一个;else if至少有一个,也可以有多个;else有0个或1个.
  • 2:在多重if结构中,最多执行一个分支(一种情况),至少一个分支都不执行(当布尔表达式都为false,且没有else时).
  • 3:在多重if结构中,如果是范围判断问题,如果条件有部分省略没写,那么我们范围从上到下,要么从小范围写到大范围,要么从大范围写到小范围,分支之间不可随便换位置,否则逻辑执行有问题.
    如果范围判断问题,条件写全了,那么分支之间互换位置是没有关系,不 影响结果;
  • 4:在多重if结构中,如果是等值判断问题,分支之间互换位置,不影响结果.
//eg:
public static void main(String[] args){
		//第二步:获得具有从键盘上接收数据的能力
		Scanner input=new Scanner(System.in);
		//给用户提示
		System.out.println("请输入你银行存款:");
		//第三步:接收从键盘上的输入,并将输入的值赋值给变量
		double money=input.nextDouble();
		
		//java中不支持 100<money<1000
		if(money>1000){
			System.out.println("买兰博基尼");
		}else if(money>10&&money<=100){
			System.out.println("买五凌红光");
		}else if(money>100&&money<=1000){
			System.out.println("买宝马");
		}else{
			System.out.println("买自行车");
		}
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值