隐藏

java基础3(条件语句&循环结构)
2022年 01月 04 日

Calvin

if 语句的语法如下:

if(布尔表达式){
   //如果布尔表达式为true将执行此处的语句
}
//如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

if...else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
if…else 的用法如下:

if(布尔表达式){
   //如果布尔表达式的值为true,执行此处表达式
}else{
   //如果布尔表达式的值为false,执行此处表达式
}

if...else if...else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

  1. if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  2. if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  3. 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
if...else 语法格式如下:
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true时执行本行代码
}

if...else的嵌套

使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

嵌套的 if…else格式如下:

if(布尔表达式 1){
   ////如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
      ////如果布尔表达式 2的值为true执行代码
   }
}

你也可以像嵌套 if 语句一样嵌套 else if...else。

switch case

语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法:

switch(key){
    case 值1 :
       //语句
       break; //可选
    case 值2 :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch case 语句有如下规则:

  1. 匹配key值,匹配上哪个就执行哪个分支中的内容,匹配不上则执行default中的内容。
  2. switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
  3. 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
  4. 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句非必须包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  5. 在多层循环中,一个break语句只向外跳一层。
  6. switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行,default 分支不需要 break
  7. break关键字在语法中可以:防止case渗透
  8. break语句对if-else的条件语句不起作用。
面试题:if else if else 和switch case 有什么区别?
1. switch case 分支结构更清晰,当分支结构较多的时候使用该分支。
2. switch case 匹配的是固定的值,所以执行效果要高于if else if else

Java 循环结构:for, while 及 do...while

Java中有三种主要的循环结构:

while 循环
do…while 循环
for 循环

while 循环

while是最基本的循环,它的结构为:

while( 布尔表达式 ) {
  //循环内容
}

只要布尔表达式为 true,循环就会一直执行下去。
例:

public class chen {
   public static void main(String[] args) {
      int x = 10;
      while( x < 20 ) {
         System.out.print("i'm Calvin" );
         x++;
      }
   }
当我们不知道具体需要语句循环多少次时,可以在判断语句内填入>true(让程序进入死循环),然后通过break语句来控制程序何时退
出。

do…while 循环

do…while 循环和 while 循环相似,但不同的是,do…while 循环至少会执行一次(先执行后判断)

do {
       //代码语句
}while(布尔表达式);

例:

public class Test {
   public static void main(String[] args){
    int x = 10;
      
    do{
         System.out.print("Calvin" );
         x++;
      }while( x < 20 );
}
}

for循环

for 循环使一些循环结构变得更加简单。
for循环执行的次数是在执行前就确定的。
语法格式如下:

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

注意:

  1. 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句(但在开发中严禁此种写法,开发中需要严格按照代码格式编写(即三条语句要完整定义))。
  2. 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
  3. 执行一次循环后,更新循环控制变量。
  4. 再次检测布尔表达式。循环执行上面的过程。

public class Test {
   public static void main(String[] args) {
 
      for(int x = 10; x < 20; x = x+1) {
         System.out.print("calvin" );
      }
   }
}

面试题

  1. while 和 do while有什么区别?
    答:while循环如果不满足条件,则不能进入循环,do…while 为先执行后判断,即循环至少会执行一次。
  2. for循环和while循环是否可以互换?什么情况下使用for,什么情况下使用while?
    答:可以互换。知道循环次数的情况下使用for,不知道使用while

全局变量和局部变量:

全局变量:在class中任何位置都可以被访问
局部变量: 只能在其所在的分支内被访问

双层for循环

语法:

for(表达式1;表达式2;表达式3){ //外层循环
   for(表达式5;表达式6;表达式7){//里层循环
        循环体内容
}
}

运行规则:外层循环循环一次,里层循环循环到退出里层循环为止,再进行下一次外层循环,以此往复直到外层循环终止。
总结总的执行次数=外层循环次数*内层循环次数

在循环中常见的两个关键字

 break    continue

break:终止循环(注意break在哪层循环中,终止最近的一层循环)
continue:跳过当次循环继续进行下一次循环

break的跳转用法

在java中我们可以在break语句之后,分号之前,自行定义一个跳转标记(标记的命名需要符合标识符的命名规则),然后放置在循环内/外,当程序运行到包含跳转关键字的break语句时可直接跳转到关键字之后。

例:

    loop:
        
        while(i>=100){
            i--;
            
            break loop;

解释loop为我定义的跳转标记(注意,需要在循环体之前定义,且结束符号为冒号),
当程序运行到break loop;时,程序会跳回我们定义的跳转标记位置后继续执行。

面试题: break 和 continue区别?

  1. continue为跳出本次循环,继续判断布尔表达式执行下一次循环,
  2. break有两个作用,1:防止case渗透,2:终止离他最近的循环体。

java基础3(条件语句&循环结构)

if 语句的语法如下:

if(布尔表达式){
   //如果布尔表达式为true将执行此处的语句
}
//如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

if...else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
if…else 的用法如下:

if(布尔表达式){
   //如果布尔表达式的值为true,执行此处表达式
}else{
   //如果布尔表达式的值为false,执行此处表达式
}

if...else if...else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

  1. if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  2. if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  3. 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
if...else 语法格式如下:
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true时执行本行代码
}

if...else的嵌套

使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

嵌套的 if…else格式如下:

if(布尔表达式 1){
   ////如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
      ////如果布尔表达式 2的值为true执行代码
   }
}

你也可以像嵌套 if 语句一样嵌套 else if...else。

switch case

语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法:

switch(key){
    case 值1 :
       //语句
       break; //可选
    case 值2 :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch case 语句有如下规则:

  1. 匹配key值,匹配上哪个就执行哪个分支中的内容,匹配不上则执行default中的内容。
  2. switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
  3. 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
  4. 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句非必须包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  5. 在多层循环中,一个break语句只向外跳一层。
  6. switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行,default 分支不需要 break
  7. break关键字在语法中可以:防止case渗透
  8. break语句对if-else的条件语句不起作用。
面试题:if else if else 和switch case 有什么区别?
1. switch case 分支结构更清晰,当分支结构较多的时候使用该分支。
2. switch case 匹配的是固定的值,所以执行效果要高于if else if else

Java 循环结构:for, while 及 do...while

Java中有三种主要的循环结构:

while 循环
do…while 循环
for 循环

while 循环

while是最基本的循环,它的结构为:

while( 布尔表达式 ) {
  //循环内容
}

只要布尔表达式为 true,循环就会一直执行下去。
例:

public class chen {
   public static void main(String[] args) {
      int x = 10;
      while( x < 20 ) {
         System.out.print("i'm Calvin" );
         x++;
      }
   }
当我们不知道具体需要语句循环多少次时,可以在判断语句内填入>true(让程序进入死循环),然后通过break语句来控制程序何时退
出。

do…while 循环

do…while 循环和 while 循环相似,但不同的是,do…while 循环至少会执行一次(先执行后判断)

do {
       //代码语句
}while(布尔表达式);

例:

public class Test {
   public static void main(String[] args){
    int x = 10;
      
    do{
         System.out.print("Calvin" );
         x++;
      }while( x < 20 );
}
}

for循环

for 循环使一些循环结构变得更加简单。
for循环执行的次数是在执行前就确定的。
语法格式如下:

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

注意:

  1. 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句(但在开发中严禁此种写法,开发中需要严格按照代码格式编写(即三条语句要完整定义))。
  2. 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
  3. 执行一次循环后,更新循环控制变量。
  4. 再次检测布尔表达式。循环执行上面的过程。

public class Test {
   public static void main(String[] args) {
 
      for(int x = 10; x < 20; x = x+1) {
         System.out.print("calvin" );
      }
   }
}

面试题

  1. while 和 do while有什么区别?
    答:while循环如果不满足条件,则不能进入循环,do…while 为先执行后判断,即循环至少会执行一次。
  2. for循环和while循环是否可以互换?什么情况下使用for,什么情况下使用while?
    答:可以互换。知道循环次数的情况下使用for,不知道使用while

全局变量和局部变量:

全局变量:在class中任何位置都可以被访问
局部变量: 只能在其所在的分支内被访问

双层for循环

语法:

for(表达式1;表达式2;表达式3){ //外层循环
   for(表达式5;表达式6;表达式7){//里层循环
        循环体内容
}
}

运行规则:外层循环循环一次,里层循环循环到退出里层循环为止,再进行下一次外层循环,以此往复直到外层循环终止。
总结总的执行次数=外层循环次数*内层循环次数

在循环中常见的两个关键字

 break    continue

break:终止循环(注意break在哪层循环中,终止最近的一层循环)
continue:跳过当次循环继续进行下一次循环

break的跳转用法

在java中我们可以在break语句之后,分号之前,自行定义一个跳转标记(标记的命名需要符合标识符的命名规则),然后放置在循环内/外,当程序运行到包含跳转关键字的break语句时可直接跳转到关键字之后。

例:

    loop:
        
        while(i>=100){
            i--;
            
            break loop;

解释loop为我定义的跳转标记(注意,需要在循环体之前定义,且结束符号为冒号),
当程序运行到break loop;时,程序会跳回我们定义的跳转标记位置后继续执行。

面试题: break 和 continue区别?

  1. continue为跳出本次循环,继续判断布尔表达式执行下一次循环,
  2. break有两个作用,1:防止case渗透,2:终止离他最近的循环体。

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论