Java基础——流程控制

本文详细介绍了Java中的流程控制,包括局部变量的特点与使用、如何利用Scanner读取数据、条件分支流程(if语句与switch语句)的应用以及循环流程(while、do-while与for循环)的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础——流程控制

补充:

Ⅰ,局部变量

定义:在函数内部定义的变量

特点:

①先赋值后使用

②作用范围:从定义这个变量开始到定义这个变量的代码块结束

③在重合范围内,不允许两个局部变量命名发生冲突

 

package p3;
public class TestLocalVar{
	public static void main (String [] args){
		int a;
		a=10;					//先赋值后使用,如果不把10赋值给a,后面的a将无法使用
			{
				int b=10;
				System.out.println(b);	//作用范围:从定义这个变量开始到定义这个变量的代码块结束,在这个代码块之外,这个b就没用了
		
		}
			System.out.println(a);
	}
		{
			int b=19;				
			System.out.println(b);
		
		}
		{
			int b=18;
			System.out.println(b);		//在重合范围内,不允许两个局部变量命名发生冲突,这两个b不在同一代码块		
		}
}


Ⅱ,读入数据

Java语言的工具类:java.util.Scanner

package p3;
import java.util.Scanner;
public class TestScanner{
	public static void main(String []args){
		
		Scanner sc= new Scanner(System.in); 			//创建一个Scanner对象,为读入数据做准备
		
		
		System.out.println("请输入一个字符串:");
		String str=sc.nextLine();				//读入字符串
		
		System.out.println("请输入一个整数:");
		int i=sc.nextInt();					//读入整数
		
		System.out.println("请输入一个小数:");
		double d=sc.nextDouble();				//读入浮点数

		
		System.out.println(str+i*d);
		
	}	
}


运行时可以在控制台上输入数据,结果如下

 

 

一、条件分支流程

条件满足就执行,条件不满足不执行

 

1,Ⅰ,if(布尔表达式){ 

代码块

}

布尔表达式为true,执行代码块的代码

布尔表达式为false,不执行代码块的代码

Ⅱ,if(布尔表达式){ 

代码块

}else{

代码块

}

布尔表达式为true,执行代码块①的代码

布尔表达式为false,执行代码块②的代码

代码块①②不会同时执行

Ⅲ,if(布尔表达式){ 

代码块

}else if(布尔表达式){

代码块

}else{

代码块


}

示例代码:

package p3;
import java.util.Scanner;
public class TestIf{
	public static void main(String []args){
		
		System.out.print("请输入一个整数:");
		Scanner sc=new Scanner(System.in);
		int i=sc.nextInt();
		if(i>2){
			System.out.println(i+"大于2!");
		}else if(i=2){
			System.out.println(i+"等于2!");
		}else{
			System.out.println(i+"小于2!");
		}
	
	}
}

2switch(表达式){

case value1:语句1break

case value2:语句2break

case value3:语句3break

……………………

case valueN:语句Nbreak

default:语句t; break

}

注意:

1default位置不限制。

2switch(表达式),表达式只允许整型表达式 byteshortintchar


示例代码:

package p3;
import java.util.Scanner;
public class TestSwitch{
	public static void main(String []args){
		System.out.print("请输入一个1~5的整数:");
		Scanner sc=new Scanner(System.in);
		int i=sc.nextInt();
		switch(i){
			case 5:System.out.println("优秀!");break;
			case 4:System.out.println("良好。");break;
			case 3:System.out.println("及格。");break;
			case 2:
			case 1:System.out.println("不及格!");break;
			default:System.out.println("成绩输入有误!");break;
			
		}
	}


}


二、循环流程

1while(布尔表达式){

循环体

}

循环体要执行0~n次,不确定循环


示例代码:

package p3;
public class TestWhile{
	public static void main(String[] args){
		int i = 0;//初始化初值
		while(i<=10){//循环条件
			System.out.println(i);
			i++;//循环增量,迭代操作
		}
		System.out.println("循环结束"+i);
	}
}

2do{

  循环体

}while(条件);

循环体要执行1~n次,不确定循环

示例代码:

package p3;
public class TestDoWhile{
	public static void main(String[] args){
		int i = 0;//初始化初值
		do{//循环体
			System.out.println(i);
			i++;//循环增量
		}while(i<=10);//判断条件,作用于下一次循环,判断是否执行下一次
		
	}
}



3for(①赋值语句;②条件语句;③一般是对循环变量的自加或自减){

④循环体

}

循环顺序①②③④②④③……

优点:1,简洁

   2,适合在确定循环上,事先知道循环几次上使用

共同点:都能完成循环逻辑,但各有优缺点

  示例代码:

package p3;
public class TestFor{
	public static void main(String[] args){
		for(int i=0;i<=10;i++){
			System.out.println(i);	
		}
		
		int i = 0;
		for(i=1;i<10;i++){
			System.out.println(i);	
		}
		System.out.println("最终值"+i);
		
		for(int j=10;j>=0;j--){
			System.out.println(j);
		}
		/*
			初始化初值,只有在第一次执行循环时运行  int i  = 0;只在{}以内生效
			循环条件,每次循环体代码执行之前都要判断
			循环增量,每次循环体代码执行完毕之后才执行迭代操作
		*/
	}
}


 

4breakcontinue

break跳出循环,循环直接结束

continue跳出本次循环,除跳过之外其他地方正常输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值