JAVA学习第四天笔记

这篇博客详细介绍了JAVA中的判断语句和循环结构,包括if、else if、else、switch的使用,以及while、do while和for循环的语法和应用。通过实例展示了如何判断星期、季节,并探讨了if和switch的执行机制与效率。同时,还讲解了循环结构,如while、do while和for循环的执行流程,并提供了多个循环实例,如计算数字之和、找出6的倍数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、判断语句实例

class VarDemo
{
public ststic void main(string[] args)
{
    /*
    需求:根据用户指定的具体数据,判断该数据对应的星期。
    1-星期一-Monday


    思路:
    用户输入无法获取但是那只是具体数据的一种获取手段而已。
    而我们要做的功能仅仅是对用户指定的数据进行对应星期的打印而已。
    所以具体的数据不确定,完成可以使用变量来标示。
    我们只对变量进行操作即可,至于变量的值,可以有用户决定。
    使用if语句。
    */


    int week=2;
    if(week==1)
system.out.printin("星期一"+week);
    else if(week==2)
system.out.printin("星期二"+week);
    else if(week==7)
system.out.printin("星期日"+week);
    else 
system.out.printin("无对应的星期"+week);


/*
一年有四季
春季:3、4、5
夏季:6、7、8
秋季:9、10、11
冬季:12、1、2
根据用户输入的月份,给出对应的季节
*/
int month;
if(month==3||month==5)//提高代码的复用性
system.out.printin(month+"月是春季");
//else if(month==3)
//system.out.printin(month+"月是春季");
else if(month==6||month==7)
system.out.printin(month+"月是夏季");
else
system.out.printin(month+"无对应");


int month=13;
if(month<1||month>12)
system.out.printin(month+"月没有对应的季节");
if(month>=3&&month<=5)
system.out.printin(month+"月是春季");
else if(month>=9&&month<=11)
system.out.printin(month+"月是秋季");
else
system.out.printin(month+"月是冬季");


}
}


class VarDemo
{
public ststic void main(string[] args)
{
    //选择结构
    /*
    switch(表达式)
    {
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
default:
执行语句;
break;
    }
    */
    int x=3;
    switch(x)//c byte,short,int,char
    {
case 4:
system.out.printin("a");
break;
case 1:
system.out.printin("b");
break;
case 3:
system.out.printin("c");
break;
default:
system.out.printin("d");
break;
    }


    int a=4,b=2;
    char opr='-';
    switch(opr)
    {
case '+':
system.out.printin(a+b);
break;
case '-':
system.out.printin(a-b);
break;
default:
system.out.printin("d");
break;
    }


    //执行机制 无break继续执行语句知道碰到break、或大括号终结
    int x=2;
    switch(x)//运行结果 d、a、b
    {
default:
system.out.printin("d");
//break;
case 4:
system.out.printin("a");
//break;
case 1:
system.out.printin("b");
break;
case 3:
system.out.printin("c");
break;

    }
 
  //实例 用户输入的数据对应的出星期
  int week=1;
  switch(week)
  {
case 1:
system.out.printin(week+"对应的是星期一");
break;
case 2:
system.out.printin(week+"对应的是星期二");
break;
....以此类推
  }


  int month=13;
  switch(month)
  {
case 3:
case 4:
case 5:
system.out.printin(month+"月对应的是春季");
break;
//以此类推...
deault:
system.out.printin(month+"没对应的月份");
break;
  }

 //if:
1、对具体的值进行判断
2、对区间判断
3、对运算符结果是boolean类型的表达式进行判断。
 //switch:
1、对具体的值进行判断
2、值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。
效率相对高一点。


}
}

二 、循环结构

class VarDemo
{
public ststic void main(string[] args)
{
     //循环结构
     //代表语句:while、do while、for
     /*
     while(条件表达式)
     {
执行语句;
     }
     */
     int x=1;
     while(x<3)//x=1、x=2
     {
system.out.printin("x="+x);
x++;
     }


     /*
     do
     {
执行语句
     } while(条件表达式)
     语句特点:无论条件是否满足,循环体至少执行一次。
     */
     int x=1;
     do
     {
system.out.printin("x="+x);
x++
     }while(x<3)


    // 实例:
    /*
    获取1到10 10个数字的和


    0+1
    1+2
      3+3
        6+4
  10+5
思路:
1、每次参与加法的数值不确定。
2、每次的出现的和数据也不确定。
3、发现参与加法运算的数值有递增规律。
4、每次都是加法运算在重复,并且都是和再加上下一个数值


步骤:
1、定义一个变量,记录住参与加法运算的数据。
2、定义一个变量,记录中每一次的出现的和。
3、对于记录参与加法运算的数据进行自增。
4、因为加法运算需要重复,就要想到循环结构。
    */
    int x=1;//记录参与加法的数据
    int sum=0;//记录住每一次的和
    while(x<=10)
    {
sum=sum+x;
x++;
    }
    system.out.printin("sum="+sum);
}
}


class WhileDemo
{
public ststic void main(string[] args)
{
    /*
实例:
1~100之间6的倍数出现的次数。
    */
    int x=1;
    int times=0;
    while(x<=100)
    {
if(x%6==0)
times++;
//system.out.printin("x="+x);打印16个6的倍数
x++;
    }
    system.out.printin("times="+times);
}
}


class ForDemo
{
public ststic void main(string[] args)
{
    /*
    for(初始化表达式;循环条件表达式;循环后的操作表达式)
    {
执行语句;(循环体)
    }
    for(int x=1;x<3;x++)
    {
system.out.printin("x="+x);
    }
   */


    int x=1;
    for(system.out.printin("a");x<3;system.out.printin("c");)
    {
system.out.printin("d");
x++;
    }
    //运行结果:a,d、c、d、c
//for(int x=1,int y=2;x<3,y>5;x++,y--)

    //实例
    int sum=0;
    for(int x=1;x<=10;x++)
    {
sum=sum+x;
    }
    system.out.printin("sum="+sum);
    /*
    for和while的特点
    1、for和while可以互换。
    2、格式上的不同,在使用上有点小区别。
如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。
    */
    //打印1~10十个数字
    int x=1;//浪费内存空间
    while(x<5)
    {
system.out.printin("x="+x);
x++;
    }
     system.out.printin("x==="+x);


    for(int y=1;y<5;y++)//有独立的区间,超过作用域就释放.for循环一结束就释放。
    {
system.out.printin("y="+y);
    }
    // system.out.printin("y==="+y);报错,有独立的区间,超过作用域就释放.for循环一结束就释放。


    //无线循环最简单的形式。
   // while(true){}
    //for(;;){}
/*
当对某些代码执行很多次时,使用循环结构完成。
当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。
注意:在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
循环通常情况下,需要定义条件,需要控制次数。
*/
   
}
}

三、实例
//语句
class ForForDemo
{
public ststic void main(string[] args)
{
//大圈套小圈思想
    for(int x=0;x<3;x++)
    {
for(int y=0;y<4;y++)
{
system.out.printin("ok");//读取3*4=12次ok
}
    }


    /*
    *****
    *****
    *****
    *****
    for(int x=0;x<4;x++)//外循环控制的是行数
    {
for(int y=0;y<5;y++)//内循环控制的是每行的个数
{
system.out.print("*");//system.out.printin("*");
}
system.out.printin();//换行=printin
    }
    */


    /*
    *****
    ****
    ***
    **
    *
    int z=5;
    for(int x=0;x<5;x++)
    {
for(int y=0;y<z;y++)
{
system.out.print("*");
}
system.out.printin();
z--;
    }

    int z=1;
    for(int x=0;x<5;x++)
    {
for(int y=z;y<5;y++)
{
system.out.print("*");
}
system.out.printin();
z++;
    }


   for(int x=0;x<5;x++)
    {
for(int y=x;y<5;y++)
{
system.out.print("*");
}
system.out.printin();
    }


    */


    /*
    *
    **
    ***
    ****
    *****
    system.out.printin("------");
    for(x=1;x<=5;x++)
    {
for(int y=1;y<=x;y++)
{
system.out.print("*");
}
system.out.printin();
    }
     system.out.printin("------");
    */


    /*
    54321
    5432
    543
    54
    5


    for(int x=1;x<=5;x++)
    {
for(int y=x;y>=x;y--)
{
system.out.print("*");
}
system.out.printin();
    }
    */
1
22
333
4444
55555
    /*
    for(int x=1;x<=5;x++)
    {
for(int y=1;y<=x;y++)
{
system.out.print(x);
}
system.out.printin();
    }
    */


    /*
    九九乘法表
    1*1=1
    1*2=2 2*2=4
    1*3=3 2*3=6 3*3=9


    for(x=1;x<=3;x++)
    {
for(int y=1;y<=x;y++)
{
system.out.print(y+“*”+x+"="+x*y+"\t");
}
system.out.printin();
    }
    //\n:回车,\t:制表符,\b:退格,\r:按下回车键。
    window系统中回车符其实是由两个符号组成的 \r\n
    linux中回车符是\n
    system.out.printin("\"hello world"\");//"hello world"
    system.out.printin("\\hello world\\");//\hello world\
    */


    /*
    * * * * *
    -* * * *
    --* * *
    ---* *
             ----*
for(int x=1;x<=5;x++)
{
for(int y=1;y<x;y++)
{
system.out.print("-");
}
for(int z=x;z<=5;z++)
{
system.out.print("* ");
}
system.out.printin();


}
    */
}
}


class BreakContinueDemo
{
public ststic void main(string[] args)
{
    /*
    break:跳出。
    break作用的范围,要么是switch语句,要么是循环语句。
    注:当break语句单独存在时,下面不要定义其他语句,因为执行不到。
    2、break跳出所在的当前循环。如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号完成。
    */
    /*for(int x=0;x<3;x++)
    {
if(x==1)
break;
system.out.printin("x="+x);
    }
    */
   xiaoqiang: for(int x=0;x<3;x++)
    {
wangwu:for(int y=0;y<4;y++)
{
system.out.printin("x="+x);
break xiaoqiang;//结果:0
}
    }

  /*
  continue:继续
  作用范围:循环结构
  for(int x=0;x<3;x++)
  {
system.out.printin("x="+x);
continue;
  }
  */
  //结束本次循环,继续下次循环。
  //如果continue单独存在时,下面不要任何语句,因为执行不到。
  //
  for(int x=0;x<11;x++)
  {
if(s%2==0)
 continue;
 system.out.printin("x="+x);
  }


}
}
四、函数
//函数
class FunctionDemo
{
public ststic void main(string[] args)
{
//      int a=3;
//      int b=4;
//      int c;
//      c=a+b;
//      c=5+7;
//      c=9+8;
int c=add(3,4);
system.out.printin("c="+c);
}
static int add(int a,int b)
{
return a+b;
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值