Java的条件语句与循环结构

一、在深入学习控制结构之前,需要了解块(block)的概念。

   块(即复合语句)是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中,但是,不能在嵌套的两个快中声明同名的变量,否则程序无法通过编译。

1.1 if条件语句的三种格式:  

[1]if( condition )  statement  

if( )括号中默认的是布尔类型,如果条件为真,则执行后面的操作。

[2]if( condition ) statetion1 else statetion2 

当条件为真的执行statetion1,否则执行statetion2 

[3] if( condition1 ) statetion1 else if( condition 2 ) statetion2

当条件1为真时,执行statetion,否则,判断条件2,如果条件2为真,则执行statetion2,否则,执行其他。

如下是if语句的流程示意图:



通过代码展示效果如下:

static void learn() {   //执行结果为1
		if( true ) {
			System.out.println(1);
		}else if( true ) {
			System.out.println(2);
		}else  {
			System.out.println(3);
		}
	}  
	 void learn1() {
		if( true ) {
			System.out.println(1);//打印1
			if(false) {
				//不执行
			}else {
				//执行空操作
			}
		}
		
		if( true ) {
			System.out.println(2); //打印2
		}
		
		else  {
			System.out.println(3);
		}
		
	}

1.2while循环语句与do-while语句:

       当条件为true时,while循环执行一条语句(也可以是一个语句块)。一般格式为:while( condition ) statetion,如果开始循环条件的值就为flase,则while循环体一次也不执行。while循环语句首先检测循环条件,因此,循环体中的代码有可能不被执行。如果希望将语句至少执行一遍,则应该把检测条件放在最后面,这就是do-while语句,它的格式如下:do statement while (condition );演示代码如下:

static void learn3() {
		 byte num=0;
		 while( true ) {
			 num+=1;
			 System.out.println("learn3:"+num);//无限循环-128~127
		 }
		 
//		 System.out.println("循环");
//		 int num2=10;
//		 do {
//			 System.out.println("成功");//成功
//    		 }while(num2>20); 
	 }

1.3、下面是非常重要并且常使用的for循环

         static void learn4() {
		 String [] strs= {" 111","222 ","333 ","444 ","555"};
		 
		 for(int j=0;j<10;j++) {
			 System.out.println(j+" kaishi ");
			 for(int i=0,len=strs.length;i<len;i++) {
				 /*
				  * 减小系统开销 该部分只执行一次,如果按照之前的写法,每次都会执行! 优化!
				           初始定义  ,条件判断    执行操作或限制条件(一系列)
				  * 首先执行输出部分,然后执行i++;
				  * */
				
				 System.out.println(strs[i]);
			 }
			 System.out.println(j+" jieshu  ");
		 }
		 
	 } 

1.4  循环中break与continue的区别:

static void breakLearn() {
		 
		 for(int i = 0;i < 10;i++) {
			 
			 System.out.println("第"+i+"次=======");
			 /*
			  * break 中断  直接退出循环  
			  * continue  中断之后的循环不执行   但是执行continue之前的循环体中的语句
			  * */
			 if(true) continue;
			 System.out.println("第"+i+"次@@@@@@@@");
			 System.out.println("第"+i+"次###########");
		 }
输出结果:
break:只输出第0次==============
continue:输出第0~9次============

1.5多重选择:switch语句

       在处理多个选项时,使用if/else结构时会显得有点笨拙,Java中使用switch语句。switch语句将从与选项之相匹配的case标签处开始执行知道遇到break语句,或者执行到switch语句结束为止。如果没有相匹配的case标签,而又default子句,执行该语句。具体代码实现如下:

static String learn5( int stu_Code) {
		 
		 String name="";
		 
		 switch(stu_Code) {
			 
			 case 111:
				 name = "我是1111";
				 break;
				 
			 case 222:
				 name = "我是2222";
				 break;
				 
		     case 333:
		    	 name = "我是333";
		    	 break;
		    	 
		     default:
		    	 name = "未找到匹配项!";
		    	 break;	 
			 }
		 return name;
	 }
	 

二、Java中的大数值

       Java.math包中有两个很有用的类:BigInteger和BigDecimal。这两个类可以处理任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。使用静态的valueOf方法可以将和普通的数值和转换为大数值:BigInteger a = BigInteger.valueOf(100);

                 BigInteger big = BigInteger.valueOf(999l);
		 BigInteger small = BigInteger.valueOf(1l);
		 BigInteger number=big.add(small);
		 System.out.println(number);
输出结果:1000





        

猜你喜欢

转载自blog.csdn.net/ibliplus/article/details/80968494