miracle just wanna be better

java基本结构

2019-07-01
miracle

程序的三种基本结构:

  • 顺序结构:代码按照顺序从上至下逐行运行
  • 选择分支结构:基于顺序结构,根据某种条件选择性执行某些代码
  • 循环结构:基于顺序结构,根据某种条件,重复执行某些代码 结论: 程序的整体执行时顺序结构 选择分支结构和循环结构,更适合做处理数据

    if结构

    语法:

              if(条件){
                  //代码块
              }
              说明:
                  ifjava中是"如果"的意思
                  条件的结果是boolean类型数据
                  如果条件为真值,就执行代码块
                  如果条件为假值,执行if结构的右大括号后面的代码
    
          语法:
              if(条件){
              //代码块1
          }else{
              //代码块2
          }
              说明:
              if条件的结果为boolean
              如果条件结果是真值,就执行代码块1
              如果条件结果是假值,就执行代码块2
              最终只能选择某一个代码执行
    			
      if嵌套:
          if中嵌套if-else
          else中嵌套if-else
      if(性别==){
          //是女的
          if(age>60){
              //是女的且age>60
          }else{
              //是女的且age<=60
              if(weight>300){
                  //是女的,小于60岁,weight>300
                  if(身价过亿){
                      //是女的,weight>300,身价过亿
                  }
              }else{
                  //是女的小于60岁且体重小于300斤
                  if(很丑){
                      //是女的小于60岁体重小于300,长得丑
                  }else{
                      if(很穷){
                          //是女的小于60岁体重小于300,长得不丑,但是穷
                      }
                  }
              }
          }
      }else{
          //是男的
      }
    

    switch结构:

    语法:

		switch(表达式){
			case 常量1:
					代码块
					break;
			case 常量2:
					代码块
					break;
			.....
			default:
					代码块
					break;//default放在最后,此break可以省略
		}

说明:
表达式:表达式的结果类型,只能是整型数据,字符型数据,枚举类型,也可以是字符串类型,但必须注意jre版本
jre版本1.7及以上 switch的表达式可以使用字符串
jre版本1.6及以下 switch的表达式不能使用字符串类型
注意:虽然使用的jre的1.7以上,但编译设置为1.6,同样不能使用字符串
常量:整型,字符型,枚举类型,字符串
代码块:是符合常量时,需要执行的代码块,可以是多行代码,但一定不要用大括号

break:是终止的意思,如果执行到break语句,那么终止当前的switch结构,执行后面的语句
如果没有break语句,那么找到符合的常量的时候,执行对应的代码块,执行完代码块后,后续常量对应的代码块中 的代码一并执行,直到碰到break语句跳出switch结构
default:
如果没有任何一个case常量符合,则执行default后代码块
default块可以放在switch中的任何位置,不能放在case中,default和case是平级关系,但一般情况下, default放在switch的最后,且break可以不写

循环结构:

  • 循环结构一定是有规律的.没有规律的是不能用循环的
  • 循环就是重复的执行一段代码,最好根据某种条件退出循环
  • 循环要慎用,因为循环最两份cpu时间
  • 要用循环,就尽量减少循环次数

循环的分类:

  1. while循环
  2. do while循环
  3. for循环(普通for循环和增强for循环) while循环:
    语法:
                 while(条件){
                     循环体代码块
                 }
    

    说明:
    循环体代码块: 完成某一个特定功能的若干代码 一定是有规律的 条件:
    可以是逻辑表达式,也可以是关系表达式,但表达式结果一定是boolean类型

读或写循环的技巧:
要完整的推导出来前三次循环的规律
如果在推倒的过程中,记不住步骤,建议写在纸上和电脑的记事本上

循环的三要素:

  1. 循环变量的初值:用于记录循环次数,达到一定的循环次数就退出循环
  2. 循环变量的终值:用于判断何时推出循环
  3. 循环变量的增量或减量:没有增量或减量就是死循环

while(条件)和while(true)的区别

		while(条件){
			//此循环是否退出,取决于条件
			//一般情况下有固定的循环次数,用此循环
		}
		while(true){
			//没有明确的循环次数
			//一定要配合一个if使用,根据if条件来决定何时推出循环
				if(条件){
					break;//终值当前循环
					return;//直接终止当前循环所在的方法,直接退出当前方法
				}
		}
  • do-while: 侧重至少执行一次循环,然后才判断条件
  • while:侧重先判断条件,条件成立才执行循环体
  • for循环: 语法:
          for(数据的初始化;条件;循环变量的增量或减量){
              //循环体代码块
          }
    

    说明:
    数据的初始化:可以定义多个变量,中间用”,”间隔,但类型必须是同一种类型
    且在第一次循环的时候执行一次
    条件表达式:
    可以是关系表达式,也可以是逻辑表达式,总之结果是boolean类型,且表达式有且只有一个.
    条件为真值则进入循环体,条件为假值,则退出循环

循环变量的增量或减量:
当循环条件为真值,执行循环体 然后执行循环变量的增量或减量 然后判断条件表达式是否为真值 如果为真,则继续循环体 然后还是执行循环变量的增量或减量 如此往复 知道循环条件为假,则退出循环 执行for循环后面的语句 break:终止 break用在switch中,用于退出或终止switch结构,继续执行switch结构后面代码 break可以用在循环中(while,do while,for) 用于退出当前循环,继续执行当前循环结构后面的语句 break能够改变程序的执行流程 continue:继续 continue只能用在循环中,用于结束当前的循环,继续执行下一次循环

三元运算符:

语法: 类型名 变量名=(条件表达式)? 表达式1 : 表达式2; 说明: 条件表达式的结果为boolean类型 条件表达式为真值,则把表达式1的结果赋值给变量名 条件表达式为假值,则把表达式2的结果赋值给变量名 表达式1和表达式2的结果类型必须相同,且跟变量的类型相同 三元运算符的本质就是一个if-else 比如:

			int totalPage = (totalConut%pageSize==0) ? (totalCount/pageSize):					(totalConut/pageSize)+1
			等价于:
			if(totalPage%pageSize==0){
				totalPage=totalConut/pageSize
			}else{
				totalPage=totalConut/pageSize+1
			}

switch和if的区别:

  1. 都是分支结构
  2. if结构更适合做范围判断,也能做等值判断
  3. 所有的switch结构,都可以用if来替换,不是所有的if结构都能用switch替代

java的方法:

为什么需要方法:就是为了代码的重用,对于程序员来说,写一次可以使用多次.

  • 有利于程序的维护
  • 有利于程序功能的扩展
  • 有利于满足单一职责,每个方法只做一件事,符合此原则,复用率高
  • 提高开发效率

结论:一个好的程序 满足:

  1. 可复用性高
  2. 可维护性
  3. 可扩展性 方法的语法: 方法的返回数据类型 方法的名称(参数列表){ //方法代码块 return 返回数据; } 说明: 方法的返回数据类型:可以使任意的已知的类型 比如:八种数据类型,String类型 还有后续的类类型

注意:有一个特殊的类型 void void代表无类型

方法的名称:可以有程序员自定义任何名称,但必须见名知意 必须符合骆驼命名法 比如:

		public String getName();
		public void setName(String name);

参数列表:
必须放在小括号中,参数的个数可以是0或者多个
参数之间用”,”间隔,但也不能太多,多个的标准没有固定的数值,定义方法的人和调用方法的人统一 public int sum(int a,int b)
方法体:
是由若干java代码组成,能够完成某一种功能
一般情况下,方法体功能的简称就是方法的名称
如果参数列表中有参数,那么就可以在方法体中使用参数的数据,但是在方法体外不能使用方法中的参数

return 返回数据:
返回数据的类型,就是方法的返回类型,两者之间类型必须一致
返回数据只能返回一个数据,不能返回多个数据

如果需要返回多个数据,就把多个数据打包
打包的方式:
用数组的方式打包
用类来打包
返回数据可以省略,只有return关键字,那么方法的返回必须是void类型,如果返回类型是void
那么return关键字可以省略

语法:
return返回数据
return;
不写return关键字

return的说明:
上面的写法,不一定非要写在方法的最后一条语句
方法体中可以写多个return关键字,并放在方法体中的任意位置
如果在方法体中出现了return关键字,并执行到此关键字
相当于结束(终止)方法的执行
如果return带有返回数据,相当于结束或终止方法的执行,同时并返回数据
结论:
return是结束方法的执行,如果有数据就返回数据


上一篇 Markdown Beginner

Comments

Content