06.语句

循环结构

程序的执行时顺序执行。但是在执行的过程中,有时候需要条件的判断或循环动作,所以在java中有语句有三种结构:顺序结构,分支结构,循环结构。

顺序结构:指代码顺序执行。

分支结构:指在代码的执行过程中,会进行条件的判断,有的代码会执行,有的代码不执行。

循环结构:指在代码中有的代码会多次执行。

分支结构

if语法

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

 

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

  

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

if语句多用于做范围判断。

/**
if语句
*/
class IfDemo{
	public static void main(String[] args){
		int score = 98;
		if(score>90){//if中条件为true时  执行if后的代码块
			//有了代码块后 一定要注意变量的作用域范围  
			//在哪个{}中声明的,那么在该{}中所有位置都能使用,大括号之外不能使用
			String name="张三";
			System.out.println("优秀");
		}
		//如果条件为false有需要执行代码可以放入else代码块
		//如果代码块中只有一行代码 那么可以省去大括号
		//如果没有代码或者有多行代码一定要加上大括号
		//如果有else必须和if配对
		//在多个if中 只会执行其中一个	
		else if(score>80){
			System.out.println("良好");
		}
		else
			System.out.println("不优秀");	
		System.out.println("----结束---");
	}
}

switch语法

switch(表达式){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

用户输入

从程序将结果输出控制台,使用System.out.println();

从控制台进行输入,需要使用java提供的一个功能,java提供了一个类Scanner,在我们自己的代码中使用别人提供的类时,需要将其进行导入。

/**
	从程序将结果输出控制台 使用的System.out.println();
	从控制台进行输入 需要使用java提供的一个功能
	提供了一个类  这个类叫Scanner,在我们自己的代码中 需要使用别人提供的类
	时,需要将其进行导入。
*/
import java.util.Scanner;
class ScannerDemo{
	public static void main(String[] args){
		System.out.println("请输入姓名:");
		//Scanner是一种类型
		Scanner input = new Scanner(System.in);
		//声明一个变量  接收用户的输入  接收的是一个字符串
		String name = input.next();
		System.out.println("你输入的姓名是:"+name);
		System.out.println("请输入年份:");
		//如果要接收一个整数
		int year  = input.nextInt();
		System.out.println("你输入的年份是:"+year);
		//如果要接收一个小数
		double score = input.nextDouble();
		
	}
}

循环结构

 

 

在java中有3中循环结构语句:

在循环结构有2个要点要明确:

【1】循环的条件

【2】循环的代码块

 white循环结构

while( 布尔表达式 ) {
  //循环内容
}

 

/**
	while的使用
	需求:
		打印10句helloworld 如何实现
*/
class WhileDemo1{
	public static void main(String[] args){
		int i=0;
		/*
		//条件的判断
		while(i<10){
			i++;//条件是在变化的
			System.out.println("hello world");
		}
		*/
		while(i++<10){
			System.out.println("hello world");
		}
	}
}

 for循环

for(表达式1; 条件表达式; 表达式3) {
    //循环体
}

 

/**
	for(表达式1;条件表达式2;表达式3){
		循环体
	}
	执行流程:
	先做表达式1;做表达式2;做循环体;做表达式3
			    做表达式2;做循环体;做表达式3
	如果表达式2为false循环执行结束
	
	1+2+3+4......100
*/
class ForDemo{
	public static void main(String[] args){
		//声明变量 用于接收结果
		int sum=0;
		//可以没有表达式,但是必须要有分号
		for(int i=1;i<=100;i++){
			sum+=i;
		}
		System.out.println(sum);
	}
}

 

/**
	求1到100中 偶数之和  使用for循环实现
*/
class ForPractice1{
	public static void main(String[] args){
		//先计算1到100的和
		int sum=0;
		for(int i=1;i<=100;i++){
			//偶数和 意味着sum只加偶数
			if(i%2==0)
				sum+=i;
		}
		System.out.println(sum);
		//1到100中 偶数是从2开始的 100结束的
		int sum1=0;
		for(int i=2;i<=100;i+=2){
			sum1+=i;
		}
		System.out.println(sum1);
	}
}

 do...while...结构

先做事然后再比较的循环结构

 

 

do {
       //代码语句
}while(布尔表达式);

 

/*
	1到100的和
*/
class DoWhileDemo{
	public static void main(String[] args){
		int i=1;
		int sum=0;
		do{
			sum+=i;
			i++;
		}while(i<=100);
		System.out.println(sum);
	}
}

 break,continue关键字

在循环中,break表示结束整个循环,continue表示结束当前循环,执行下一次循环

/**
	break的作用 结束整个循环
*/
class BreakDemo{
	public static void main(String[] args){
		//计算 1到10的和  如果i从1到10中 遇到是5的倍数的数字时结束循环
		int sum=0;
		for(int i=1;i<=10;i++){
			if(i%5==0){//当i=5时  执行if中代码块
				break;//break的作用是结束循环
			}
			sum+=i;
		}
		System.out.println(sum);
	}
}

/**
	continue只在循环中使用,表示结束当前循环 执行下一次循环
*/
class ContinueDemo{
	public static void main(String[] args){
		//求1到10的和 如果是5的倍数 不进行计算
		int sum=0;
		for(int i=1;i<=10;i++){
			if(i%5==0){
				continue;
			}
			sum+=i;
		}
		System.out.println(sum);
	}
}

循环嵌套

外循环控制行,内循环控制列

第一种情况:内外循环独立运行

/**
	循环是可以嵌套的。比如说:答应一个n个*的正方形 如果n=5那么结果如下:
	*****
	*****
	*****
	*****
	*****
*/
import java.util.Scanner;
class ForDemo1{
	public static void main(String[] args){
		//创建输入对象
		Scanner input = new Scanner(System.in);
		System.out.println("请输入要打印几个*:");
		//接收用户输入
		int n = input.nextInt();
		for(int k=0;k<n;k++){
			for(int i=0;i<n;i++){
				System.out.print("*");
			}
			//System.out.println("");
			/*
			转义字符
			\n  换行
			\"  双引号
			\' 单引号
			\\ 表示\
			\t 表示 tab
			*/
			System.out.print("\n");
		}
		
	}
}

第二种情况,内循环依赖于外部循环

/**
打印九九乘法表
*/
class NineWork{
	public static void main(String[] args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.print("\n");
		}
	}
}

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2017-11-30 17:21  扎心了,老铁  阅读(589)  评论(0编辑  收藏  举报