Java基础语法之流程控制语句

1.用户输入

1.1接收用户输入

Scanner sc =new Scanner(System.in(扫描用户输入));

.next+数据类型,接收用户的数据

Int a =sc.nextInt();数据类型必须相同

.next()和.nextLine()都是接收字符串

区别:

next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的.

1.2判断用户输入

在接受用户输入之前判断是否是你需要的类型

.hasNext+数据类型 返回值为Boolean

2. 执行结构

顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作

分支结构又被称为选择结构,根据条件成立与否来执行操作,

循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。

2.1选择结构

2.1.1if条件语句

if条件结构是根据条件判断之后再做处理

2.1.2switch语句

switch(表达式)

{ case取值1:

语句块1;

break; c

ase取值n:

语句块n;

break;

default:

语句块n+1;

break; }

switch语句有关规则

表达式的返回值必须是下述几种类型之一:int,byte,char,short,String

case子句中的取值必须是常量,且所有case子句中的取值应是不同的;

default子句是可选的; break语句用来在执行完一个case分支后使程序跳出switch语句块;如果case后面没有写break则直接往下面执行!

Case后面的执行体可写{}也可以不写{}

循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。

2.2循环结构

2.2.1while循环

符合条件,循环继续执行;否则,循环退出

特点:先判断,再执行

语法:

while(条件表达式){ //语句块; }

使用while循环的步骤

1、分析循环条件和循环操作

2、套用while语法写出代码

3、检查循环是否能够退出

2.2.2do-while循环

先执行一遍循环操作,符 合条件,循环继续执行;否则,循环退出

特点:先执行,再判断

语法: do{ 循环操作 }while(条件表达式);

while循环和do-while循环的区别?

while:先判断条件,如果条件满足,再执行循环操作

dowhile:先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。

2.2.3for循环

语法: for(初始化参数;判断条件;更新循环变量){ 循环体; }

public class ForLoop {
      public static void main(String [] args){ 
          int result = 0; 
          for(int i=1; i<=100; i++) { 
              result += i;
          }
          System.out.println("result=" + result); 
      } 
}

2.3退出多重循环示例

public static void main(String[] args) {

​		haha:for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {

​				System.out.println("i="+i+" , j="+j);if(i==5 && j==5) {break haha;}}}}

}

2.4break与continue语句

break是用于终止本轮所有次循环。即不执行本次循环中break后面的语句,直接跳出循环。

continue是用于终止本轮本次循环。即本次循环中continue后面的代码不执行,进行下一次循环的入口判断

2.5foreach循环

增强的for循环用来迭代数组或集合中的值
(数组和集合会在后续的文章中涉及)
示例:

public class TestDemo {

    public static void main(String[] args) { Queue<String> queue = new LinkedList<String>(); queue.add("A");
        int[] a  ={1,2,3,5,3,6,5};
        for (int b:a) {
            System.out.println("b = " + b);
        }
    }
}

3.小练习

public class Demo1 {
//打印图形
*
**
***
****
*****
    public static void main(String[] args) {
    //外层循环控制的是 行数
        for(int i = 0; i <= 4; i++) {
            //内层循环控制的是列数
            for (int j = 0; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
public class Demo2 {
      //打印图形
	 *****
     ****
     ***
     **
     *
	public static void main(String[] args) {
		for (int i = 0; i <= 5; i++) {
			for (int j = 5; j > i; j--) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

public class Demo3 {
	 
     // 打印图形
	 *
    ***
   *****
  *******
 *********
***********
 /*
   分析图形
   第一行1个*,前面5个空格
   第二行3个*,前面4个空格
   第三行5个*,前面3个空格
   第四行7个*,前面2个空格
   第五行9个*,前面1个空格
   第6行11个*,前面0个空格
   
   一共六行,外层循环0-5
   每一行既有空格,又有*,所以需要2个内层循环控制
    1. 每一行的空格依次减一,第一个内层循环,令内层循环的值等于外层循环,使其的值小于最大的空格数,从0开始递增。只有内层循环循环完毕,才继续执行外层循环
   2. 每一行的*是每行的两倍加1,令第二个的层循环的起始值为0,令其小于每行的两倍加1,并且递增
   
 */
public static void main(String[] args) {
	for (int i = 0; i < 6; i++) {
		for (int j = i; j <5; j++) {
			System.out.print(" ");
		}
		for (int j = 0; j < 2*i+1; j++) {
			System.out.print("*");
			
		}
		System.out.println();
	}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值