这周的学习笔记。其实我有在想,我这样学习是不是太慢了,说实话,JAVA前半部分的知识点基本上和C很像的,没有必要学这么久的,所以之后想加快一下进度,总不能在项目进行时一直慢慢的学习,感觉很没有存在感。
这次把JAVA的楼诚控制语句都学完,毕竟他和C很像,也不是很难。
一.if else语句
Java 支持两种选择语句:if 语句和 switch 语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而 switch 语句则用于对多个整型值进行匹配,从而实现分支控制。
选择结构(也叫分支结构)解决了顺序结构不能判断的缺点,可以根据一个条件判断执行哪些语句块。选择结构适合于带有逻辑或关系比较等条件判断的计算。例如,判断是否到下班时间,判断两个数的大小等。
这一part分为几种情况,主要是为解决不同的情况而产生的。主要为if结构,if-else结构,多条件if-else-if结构,嵌套if结构的使用。这四种都是不同情况下的,比如有多次判断,一直用if语句就很很麻烦,代码量比较大,所以产生了嵌套等等。这里也就不细说了,都比较简单吧。
二.switch case语句
if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。
switch(表达式) { case 值1: 语句块1; break; case 值2: 语句块2; break; … case 值n: 语句块n; break; default: 语句块n+1; break;} 这是switch语句的表达式。其中,switch、case、default、break 都是 Java 的关键字。
1)switch
表示“开关”,这个开关就是 switch 关键字后面小括号里的值,小括号里要放一个整型变量或字符型变量。表达式必须为 byte,short,int,char类型。Java7 增强了 switch 语句的功能,允许 switch 语句的控制表达式是 java.lang.String 类型的变量或表达式。只能是 java.lang.String 类型,不能是 StringBuffer 或 StringBuilder 这两种字符串的类型。
2)case
表示“情况,情形”,case 标签可以是:

  • 类型为 char、byte、 short 或 int 的常量表达式。
  • 枚举常量。
  • 从 Java SE 7 开始, case 标签还可以是字符串字面量。
    注意:重复的 case 值是不允许的。
    除此之外还有嵌套switch结构,就不细说了,和if嵌套很像。
    三.if语句和switch语句的区别
  • 从使用效率上区分
    从使用效率上区分,在对同一个变量的不同值作条件判断时,既可以使用 switch 语句,也可以使用 if 语句。使用 switch 语句的效率更高一些,尤其是判断的分支越多,越明显。
  • 从实用性上区分
    从语句的实用性角度区分,switch 语句不如 if 条件语句,if 语句是应用最广泛和最实用的语句。
  • 何时使用 if 语句和 switch 语句在程序开发的过程中,何时使用 if 语句和 switch 语句,需要根据实际情况而定,应尽量做到物尽其用。不能因为 switch 语句的效率高就一直使用,也不能因为 if 语句常用就不用 switch 语句。需要根据实际情况,具体问题具体分析,使用最适合的条件语句。一般情况下,对于判断条件较少的,可以使用 if 条件语句,但是在实现一些多条件的判断中,最好使用 switch 语句。

四.while和do while循环语句
循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。
所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-each 并不是一个关键字。循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这个循环体时,需要在合适的时候把循环条件改为假,从而结束循环,否则循环将一直执行下去,形成死循环。
while 循环和 do-while 循环的不同处如下:

  • 语法不同:与 while 循环相比,do-while 循环将 while 关键字和循环条件放在后面,而且前面多了 do 关键字,后面多了一个分号。
  • 执行次序不同:while 循环先判断,再执行。do-while 循环先执行,再判断。
  • 一开始循环条件就不满足的情况下,while 循环一次都不会执行,do-while 循环则不管什么情况下都至少执行一次。
    五.for循环语句
    for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。
    for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。
    for 语句语法格式如下所示。
for(条件表达式1;条件表达式2;条件表达式3) {
    语句块;}

java如果不写 throws java可以只写if不写else吗_嵌套


for 语句中初始化、循环条件以及迭代部分都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环。下面对这些情况依次进行介绍。

1.条件表达式1为空

for 语句中条件表达式 1 的作用可以在程序的其他位置给出,所以当条件表达式 1 为空时,for 语句后面括号内其他条件表达式执行的顺序不变。

public static void main(String[] args) { int result = 0; int number = 1; // 相当于for语句的第1个表达式 for (; number < 101; number++) { if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加 result += number; } System.out.print("100 以内所有奇数和为:" + result);} 使用 for 语句的这种形式计算 1~100 所有奇数的和。

2.条件表达式2为空

当 for 语句中条件表达式 2 为空时,将没有循环的终止条件。此时 for 语句会认为条件表达式 2 的值总是为真,循环无限制执行下去。因此,为了使循环达到某种条件时退出,需要在语句块中进行逻辑判断,并使用 break 语句来跳出循环,否则将产生死循环。public static void main(String[] args) { int result = 0; for (int number = 1;; number++) { if (number > 100) break; // 相当于for语句的表达式2,满足时就退出for循环 if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加 result += number; } System.out.print("100 以内所有奇数和为:" + result);}

同样是计算1~100所有奇数的和。

3.条件表达式3为空

当 for 语言中条件表达式 3 为空时,也就没有设置控制变量的表达式,即每次循环之后无法改变变量的值,此时也无法保证循环正常结束。

public static void main(String[] args) { int result = 0; for (int number = 1; number < 101;) { if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加 result += number; number++; // 相当于for语句的条件表达式3,每次递增1 } System.out.print("100 以内所有奇数和为:" + result);}

如果没有循环体语句,number 变量的值为 1,永远小于 101,因此将无法结束循环,形成无限循环。在上面代码中将 number 的递增语句放在 for 循环体内,效果与完整 for 语句功能相同。

4.三个条件表达式都为空

在 for 循环语句中,无论缺少哪部分条件表达式,都可以在程序的其他位置补充,从而保持 for 循环语句的完整性,使循环正常进行。

当 for 语句中循环体全为空时,即没有循环初值,不判断循环条件,循环变量不增值,此时无条件执行循环体,形成无限循环或者死循环。对于这种情况,在使用时应该尽量避免。这个也不太常见,所以也不细说了。

然后说一下这三种循环语句的区别。

java如果不写 throws java可以只写if不写else吗_循环语句_02

for循环也是有嵌套的,与之前几种类似,也就不许说了,可以多写点代码练习一下,比看这些知识点好多了我觉得。
五.foreach语句
foreach 循环语句是 Java 1.5 的新特征之一,在遍历数组、集合方面,foreach 为开发者提供了极大的方便。foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。
foreach 循环语句的语法格式如下:

for(类型 变量名:集合) {
    语句块;
}

其中,“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组。
六.return语句
return 关键字并不是专门用于结束循环的,return 语句用于终止函数的执行或退出类的方法,并把控制权返回该方法的调用者。如果这个方法带有返回类型,return 语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达式的 return 语句。
七.break语句:跳出循环
某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为 false 时才退出循环。此时,可以使用 break 来完成这个功能。
break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统将完全结束该循环,开始执行循环之后的代码。在 Java 中,break 语句有 3 种作用,分别是:在 switch 语句中终止一个语句序列、使用 break 语句直接强行退出循环和使用 break 语句实现 goto 的功能。注意:一个循环中可以有一个以上的 break 语句,但是过多的 break 语句会破坏代码结构。switch 循环语句中的 break 仅影响 switch 语句,不会影响循环。八.continue语句有时强迫一个循环提早反复是有用的,也就是,你可能想要继续运行循环,但是要忽略这次重复剩余的循环体的语句,所以 Java 提供了 continue 语句。continue 语句是 break 语句的补充。continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue 语句类似于 break 语句,但它只能出现在循环体中。它与 break 语句的区别在于:continue 并不是中断循环语句,而是中止当前迭代的循环,进入下一次的迭代。简单来讲,continue 是忽略循环语句的当次循环。注意:continue 语句只能用在 while 语句、for 语句或者 foreach 语句的循环体之中,在这之外的任何地方使用它都会引起语法错误。javacontinue //不带标签continue label //带标签,label是标签名然后这一次就讲完了。然后有几个实例,希望可以自己理解一下,学习一下。JAVA输出杨辉三角形。