Java开发必备点02_流程控制之分支结构

流程控制之分支结构

Scanner类(扫描仪)

用于接收键盘输入的数据 包括 数字  字符串 等数据
java.util包中  

案例:
public class Demo{
	public static void main(String[] args) {
		//获取工具  
		java.util.Scanner  s = new java.util.Scanner(System.in);
		System.out.println("请输入:");
		//用工具
		//int a = s.nextInt();//获取键盘输入的整数类型 int
		//double d = s.nextDouble();//获取小数
		//String e = s.next();//接收字符串 
		char c = s.next().charAt(0);//字符 
		System.out.println("您输入的数据是:"+c);
	}	
}

导包

语法:
import  包名1.包名2.包名3.类名;
案例:
package c1.c2;
import java.util.*;

public class Demo{
	public static void main(String[] args) {
		//获取工具  
		Scanner  s = new Scanner(System.in);
		System.out.println("请输入:");
		//用工具
		//int a = s.nextInt();//获取键盘输入的整数类型 int
		//double d = s.nextDouble();//获取小数
		//String e = s.next();//接收字符串 
		char c = s.next().charAt(0);//字符 
		System.out.println("您输入的数据是:"+c);
		
		
	}
	
}


注意:
1.import 语句必须在package 语句之后
2.一个类默认会导入java.lang包

流程控制

概述:代码的执行顺序会影响程序的结果

顺序结构

概念:代码从上到下逐行执行
案例:
package c1.c2;
import java.util.*;

public class Demo{
	public static void main(String[] args) {

		int a = 1; //1  代表男   2  女

		System.out.println("男");
		System.out.println("女");
		
		
		
	}
	
}

分支结构

if结构(3个小类)
if结构
语法:
	if(布尔表达式){
		语句1;
	}
执行流程:
				---true------    执行语句1
	布尔表达式的值 
    			---false-----    不执行语句1
案例:
public class Demo{
	public static void main(String[] args) {

		int a = 20;
		int b = 10;
		int c = 20;

		if(a>b){
			System.out.println("a>b");
			
		}
		if (a<c) {
			System.out.println("a<c");
		} 

		System.out.println("程序结束");
	}
	
}

========================================================================================
if...else结构
语法:
	if(布尔表达式){
		语句1;
	}else{
		语句2;
	}
执行流程
			-----true    语句1;
	布尔表达式 
			-----false   语句2;
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		//判断键盘输入的数据是奇数还是偶数
		//1.获取工具
		Scanner s = new Scanner(System.in);
		System.out.println("请输入一个大于0的整数:");
		
		//2.用工具接收int类型的数据
		int a = s.nextInt();
		
		//3.判断这个数是奇数还是偶数
		//如果 这个数 求余2  没有余数  余数为0  偶数
		if(a%2==0){
			System.out.println("偶数");
			
		}else{//反之  为奇数
			System.out.println("奇数");
		}	
	}
	
}

三元运算符和if...else语句的区别

布尔表达式?值1:值2;

总结:三元运算符简单但是,不能写语句  只能写值。

========================================================================================
if... else if(有多个)...else结构

语法:
if(布尔表达式1){
	语句1;
}else if(布尔表达式2){
	语句2;
}else if(布尔表达式3){
	语句3;
}
。。。
else if(布尔表达式n){
	语句n;
}else{
	语句n+1;
}

执行流程:
				|-----true  语句1
		表达式1  |				 |-------true   语句2
				|-----布尔表达式2|
							   |------表达式3   
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.println("请输入分数:");
		//获取键盘的数据
		int score  = s.nextInt();

		if(score<0||score>100){//非法数据
			System.out.println("非法数据 你脑袋有泡!!!!");
			System.exit(0);//系统退出
		}else{//合法数据
			if (score>=90&&score<=100) {
				System.out.println("优秀");
			
			}else if (score>=80) {
				System.out.println("良好");
			
			} else if(score>=70){
				System.out.println("中等");
			
			}else if (score>=60) {
				System.out.println("及格");
			
			} else{
				System.out.println("不及格");
			}
		}
		/*
			根据成绩划分等级
			100-90    优
			80--89    良
			70--79    中
			60--69    及格
			0---59    不及格
		*/  
	}	
}



注意:
	1if结构可以嵌套
	2.if后的花括号和else后的都可以省略  但是只执行紧挨着的第一句代码 不建议
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {

		int a = 10;
		int b = 20;
		if (a>b)
			System.out.println("a<b");
			System.out.println("程序结束");
		
	}
	
}

switch case结构
语法:
表达式的值 只能是 byte short int char  jdk7后支持String
switch(表达式){
    case1:语句1case2:语句2case3:语句3case4:语句4}

执行流程:

表达式的值  用表达式的值和case后的值进行比较 如果相等  就执行对应的语句
case穿透问题:用break语句解决
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		//输入1  输出星期一  输入2  输出 星期2
		Scanner s = new Scanner(System.in);
		System.out.println("请输入1-7之间的整数:");
		
		int i = s.nextInt();

		switch(i){
			case 1 : System.out.println("星期一");break;
			case 2 : System.out.println("星期二");break;
			case 3 : System.out.println("星期三");break;
			case 4 : System.out.println("星期四");break;
			case 5 : System.out.println("星期五");break;
			case 6 : System.out.println("星期六");break;
			case 7 : System.out.println("星期日");break;
			
		}
		
	}
	
}
======================================================================================

default语句:
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		//输入1  输出星期一  输入2  输出 星期2
		Scanner s = new Scanner(System.in);
		System.out.println("请输入1-7之间的整数:");
		
		int i = s.nextInt();

		switch(i){
			case 1 : System.out.println("星期一");break;
			case 2 : System.out.println("星期二");break;
			case 3 : System.out.println("星期三");break;
			case 4 : System.out.println("星期四");break;
			case 5 : System.out.println("星期五");break;
			case 6 : System.out.println("星期六");break;
			case 7 : System.out.println("星期日");break;
			default: System.out.println("你输入的数据有问题 你是个傻帽");
			
		}
		
	}
	
}
=============================================================================
案例2import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		//输入1  输出星期一  输入2  输出 星期2
		Scanner s = new Scanner(System.in);
		System.out.println("请输入1-7之间的整数:");
		
		int i = s.nextInt();

		switch(i){
			default: System.out.println("你输入的数据有问题 你是个傻帽");break;
			case 1 : System.out.println("星期一");break;
			case 2 : System.out.println("星期二");break;
			case 3 : System.out.println("星期三");break;
			case 4 : System.out.println("星期四");break;
			case 5 : System.out.println("星期五");break;
			case 6 : System.out.println("星期六");break;
			case 7 : System.out.println("星期日");break;
			
			
		}
		
	}
	
}

总结:default 语句除了可以放在最后一行还可以放在其他行但是要加break语句,放在最后一行不用加break
=====================================================================================
案例3import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		//输入1  输出星期一  输入2  输出 星期2
		Scanner s = new Scanner(System.in);
		System.out.println("请输入1-7之间的整数:");
		
		int i = s.nextInt();

		switch(i){
			default: System.out.println("你输入的数据有问题 你是个傻帽");break;
			case 1 : System.out.println("星期一");break;
			case 2 : System.out.println("星期二");break;
			case 2 : System.out.println("星期三");break;//错误!!!!!!!!!!
			case 4 : System.out.println("星期四");break;
			case 5 : System.out.println("星期五");break;
			case 6 : System.out.println("星期六");break;
			case 7 : System.out.println("星期日");break;
			
			
		}
		
	}
	
}
总结:case 后的值不可以重复


局部变量

概念:在函数中定义的变量叫做局部变量

作用域:从定义变量的位置开始到它所在的代码块结束
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		/*System.out.println(a);	
		int a = 10;//开始
		System.out.println(a);*/

		{//代码块
			int b =20;
		}
		System.out.println(b);
			
	}
}

重名:在有重合作用域范围内不能定义相同名称的局部变量
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		/*System.out.println(a);	
		int a = 10;//开始
		System.out.println(a);*/
		//int b = 30;//错误的
		{
			int b =20;
			System.out.println(b);
		}
		
		{
			int b = 30;//这是可以的
			System.out.println(b);
		}
		
	}
}
变量未赋值不能使用
案例:
import  java.util.*;
public class Demo{
	public static void main(String[] args) {
		int a;
		System.out.println(a);
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值