java流程控制

谈到流程控制我想大家先了解一个概念

数组

数组定义 定义数组时必须确定长度,以后不可更改长度,换句话说java的数组长度在一开始就是确定的不可以更改。

String [] strs = {"张三","李四"};
String [] strs2 = new String[2];
String [] strs3 = new String[]{"1","2","3"};
int [] ints = {1,2,3};
int [] ints2 = new int[3];
int [] ints3 = new int[]{1,2,3};

取数组长度

Strs.length

取数组的某一个元素

Strs[0]

给某个元素重新赋值

Strs[1]=”xxx”;

判断(也就是传说中的if else语句)

If(条件){
System.out.println(1);
}else if(条件){
System.out.println(2);
}else if(条件){
System.out.println(3);
}else if(条件){
System.out.println(4);
}else{
System.out.println(5);
}

If 只能出现一次
Else if 可以出现多次 也可以不出现
Else 只能出现一次 也可以不出现

int age = 18;
		System.out.println(age);
		if(age < 18){
			System.out.println("未成年");
		}else if(age == 18){
			System.out.println("刚成年");
		}else{
			System.out.println("已成年");
		}

循环

for循环

for(定义;判断;改变){
代码
}

其执行顺序如下
定义-> 判断->为真…执行代码->改变->判断->为真…代码->改变…判断为假循环结束
可以尝试一下下述代码

for(;;){}  //死循环
for(int i = 0;i <= 100;i++){
			System.out.println(i);
		}

while循环

While(条件){
代码
}

执行顺序如下:
条件->为真…代码->条件->为真…代码->条件…为假循环结束

While(true){} //死循环

可以自己尝试下如下代码

int a = 0;
		while(a <= 100){
			System.out.println(a);
			a++;
		}

do…while.循环

do{
代码
}while(条件)

执行顺序如下:
代码->条件->为真…代码->条件->为真…代码->条件…为假循环结束
也就是其他循环可能不会执行,但是do…while至少执行一次
尝试一下:

int b1 = 0;
			do{
				System.out.println(b1);
				b1++;
			}while(b1 <= 100);

break

结束当前循环 只结束离break最近的循环 可以影响 for while do…while
下面是一段从0输出到100的程序由于加入了break所以它只会输出到50

for(int i = 0;i <= 100;i++){
			System.out.println(i);
			if(i == 50){
				break;
						}
		}

continue

结束当次循环 直接进入下一次循环
这也是一段从0输出到100的代码,由于continue的加入所以,不会输出50而是跳过50直接输出51关于break和continue大家把这两段代码跑一下就明白了。

for(int i = 0;i <= 100;i++){
			if(i == 50){
				continue;
			}
			System.out.println(i);
			
		}

高级循环foreach

这个循环和咱们平常用的循环不太一样
该循环一般用来循环数组和集合
For(类型 变量:数组){
}
具体的东西请大家一定要看注释。注释里面是详情

public class Practice {
 public static void main(String [] args) {
	 String str = "cd\1(&*(&^a1iw2 234"; //这是一个String类型的字符串
	 char [] chars = str.toCharArray();  //将这个字符串转换成一个char类型的数组
	 
	 for(char c:chars) {//这里就是咱们的foreach高级循环,直接打印数组中的每个元素,并添加空格隔开
		 System.out.println(c);
	 }
 }
}

结果图:
结果图
关于流程控制有一点我还没有补上。那就是如下的分支。

分支

首先先让我们来看一下语法

switch(变量){
  Case 值1:
          代码;
        Break;      当然了这里加不加break要视情况而定,写代码千万不能太过死板
  Case 值2:
          代码;
        Break;  
        .      ...
   Case 值3:
          代码;
        Break;
}

上面就是基本的一些语法,变量的类型可以为char,byte,short,int,还有String,(String是jdk1.7以后才开始支持的)
当switch中没有break时候,会继续往下执行但是不会匹配。
我们来看一下如下代码和结果:

int age = 0;
		switch (age) {
			case 0:
				System.out.println(0);
				break;
			case 10:
				System.out.println(10);
				break;
			case 20:
				System.out.println(20);
				break;
			default:
				System.out.println("default");
				break;
		}

当age的值为0时,输出如下:
在这里插入图片描述
当age的值为10时,输出如下:
在这里插入图片描述
当age的值与哪一个case都不对应的时候。他就会对应default的值:
在这里插入图片描述
在来看如下代码:

public class Test {
  public static void main(String [] args) {
	  int age = 0;
	  switch (age) {
	   case 0:
		      System.out.println(0);
//		      break;
	   case 10:
			  System.out.println(10);
//			  break;
	   case 20:
			  System.out.println(20);
			  break;
		  

	   default:
		      System.out.println("default");
		  break;
	}
  }
}

结果如下:
在这里插入图片描述
可以看到如果没有加break他会一直执行后续的代码。
我们再把age的值改成10来看一下。
在这里插入图片描述
可以看到是从满足条件的地方开始执行。没有break的地方则继续执行,有的就不执行了。

这时候有的兄弟姐妹可能在想,那我们为什么不把default中的break去掉,反正都是最后一个了,其实是可以的,但是作为编码的规范性来说最好还是带着break。我确实在前面的文章中提过编码优化程序优化的问题,但是这作为规范性来说最后大家还是带着break.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值