黑马程序员_java的逻辑判断和结构

来源:互联网 发布:网络诈骗的种类有哪些 编辑:程序博客网 时间:2024/05/24 04:02

---------------------------------------------------android培训、java培训、期待与您交流!---- --------------------------------------

         今天起来晚了,闹钟没响,一看,哟,不得了,今天是周日没有定闹钟,看来以后得定闹钟,害我又又睡懒觉。好了,开始学习之旅。。。


1    if和while的区别:
if()
{
这里满足的话只运行一次


while()
{
这里只要满足就一直判断,运行。


2   
do while 和while的区别
 /*
do while 和while的区别
*/
     //while
int x=1;
while(x<0)
{
System.out.println("x ="+x);
// x++;
  }
int y=1;
do
{
System.out.println("y ="+y);
// y++;
}
while (y<0);

 /*
    得出区别:while()只有条件满足,才会执行里面的语句。
         do{}while()无论条件满足不满足,都会执行里面的语句至少一次。
  */ 

3  for()语句的使用
 for(int z=0;z<3;z++)
{
         //这里执行第3步
         System.out.println("z ="+z);
        }
System.out.println("z ="+z);   //查看for语句后的z值
//思考,for()语句和while语句有什么区别?
//答:如果变量只用于循环增量,控制循环次数,用for,更加高效,因为变量仅在作用域存在,循环后消失。
 
4     求和:
 //求1-10的和,并打印。
       //方法:定义一个变量,用于存储不断变化的数 sum
       // 定义一个斌领用于循环 x
//定义一个循环,用于重复加法过程 while
int sum = 0 , x = 1;
         while(x<11)
{
 sum = sum + x;
 x++;
}
System.out.println("1-10的和是:"+sum);
//其实,这就是累加思想:数不断变大,字符串不断变长都是累加

    //下面求1-100之间 7的倍数的个数
//思路:
//  先对1——100进行循环,
//在遍历的过程中定义条件判断;

//方法:
//1 定义一个循环用于重复求模过程,for和while就可以用,但是for效率高一点,使用它
   // 2  定义一个变量用于循环,她将随着循环由1-100.
   // 3  定义一个变量用于存储个数。
   //定义一个判断,7的倍数才操作%7
   int count =0;
    for(int y=1;y<=100;y++)
{
  if(y%7==0)
  count++ ;
  //System.out.println(y);
}
      System.out.println(count);
 //循环一定要明确哪些需要循环哪些不需要。
 //其实,这就是计数器思想,记住数据状态的变化。也用循环表示。
} 
 

5  for语句嵌套,循环里面还有循环

for(int x = 0;x < 3;x++)
{
for(int y=0;y<4;y++)
{
  System.out.print("*");
    }
 System.out.println();
}

System.out.println("----------------------");
/*
打印:
*****
****
***
**
*
发现很多行,很多列,要使用嵌套
发现一共5行,外循环是5次,
*/
for(int x=5; x>0;x--)
{
for(int y=0; y<x; y++)
{
 System.out.print("*");
}
   System.out.println();
}
System.out.println("----------------------");

for(int x=0; x<5;x++)
{
for(int y=x; y<5; y++)
{
 System.out.print("*");
}
   System.out.println();
}
System.out.println("----------------------");
/*
打印:
    *
**
***
****
*****
发现很多行,很多列,要使用嵌套
发现一共5行,外循环是5次,
*/
for(int x=0; x<5;x++)
{
for(int y=0; y<x+1; y++)
{
 System.out.print("*");
}
   System.out.println();
}

/*
打印:
1
12
123
1234
12345
发现很多行,很多列,要使用嵌套
发现一共5行,外循环是5次,
第一行都是1,说明内循环从1开始
*/
for(int x=1; x<=5;x++)
{
for(int y=1; y<=x; y++)
{
 System.out.print(y);
}
   System.out.println();
}
/*
打印99乘法表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
发现很多行,很多列,要使用嵌套
发现一共3行,外循环是3次,
第一列都是首数字(乘数)都是1,说明内循环从1开始
被乘数是行数
*/
for(int x=1; x<=9;x++)
{
for(int y=1; y<=x; y++)
{
 System.out.print(y+"*"+x+"="+x*y+"\t");
}
   System.out.println();
}
 
6  break 和 continue
   break用于结束选择和循环(跳出本条循环),作用域也在此。在其他地方无效
   
continue   仅仅作用于循环 ,跳出本次循环。

7 函数的定义,特点,使用,重载

(1)//函数定义,
//java中对功能的定义是通过函数来体现的
/*
函数的格式:
修饰符 返回值类型 函数名 (参数类型1 形式参数1(变量),参数类型2 形式参数2(变量))
{
执行语句;
return 返回值 ;
}
*/
public static int getres(int num)   //public可不写,static必须写,因为主函数是静态的只能调用静态的函数
  {
return num * 3 + 5;
  }

(2)//函数特点:
//当函数运算后没有具体的返回值,这是返回值类型用一个关键字void来表标识,void代表没有具体的返回值的情况
//当返回值类型是void时,return可以不写,写了也没有错。
//函数中只能调用函数,不能定义函数

(3)//函数应用:
//java中最小的功能单元就是函数,主函数的功能就一个:调用函数
//如何定义一个功能呢?
//1  既然函数是一个独立的功能,先明确函数的运算结果是什么(明确类型)?
//2  该功能是否需要未知的内容参与运算(形式参数);
/*
举例:定义一个功能完成3+4运算,返回
1  明确功能结果是一个整数的和 int。明确返回值类型
2  是否有未知内容参与运算? ,,明确函数参数列表面(参数类型 参数个数)
*/
public static int getsum(int a,int b)
{
    return a+b;
}
/*
需求:判断两数是否相同;
1  明确函数的结果,结果是boolean
2  明确是否有未知内哦容参与,有
*/
public static boolean issame(int n1,int n2)
{
 // return (n1==n2)?true:false;
 return n1==n2;
}

/*
获取较大的数
思路:
1  明确函数结果,结果是较大的数,int
2  明确是否有未知参数参与,有,int
*/
public static int Getmax(int m1, int m2)
{
    return (m1>m2)? m1 : m2;
}

/*
(4)函数重载
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
*/
//举例::定义一个加法获取两个整数和
public static int add(int a ,int b)
{
       return a+b ;
}
//定义一个加法函数获取三个整数和 名称可以和上面一致,只是参数不一样

public static int add(int a ,int b,int c)
{
       return a+b+c;
}
//那什么时候用重载呢?
//答:当定义的函数功能相同,但参与运算的内容不同的时候,这时就定义一个函数名称,一方便阅读,通过不同的参数列表来区分多个同名函数。

/*
重载用于打印99乘法表
*/
//9行乘法表
  public static void Get99()
{
      Get99(9);   //调用
  }
//其他行数乘法表
  public static void Get99(int line)
{
       for(int x=1; x<=line; x++)
{
  for(int y=1; y<=x; y++)
{
          System.out.print(y+"*"+x+"="+x*y+"\t");  //\用于制表,更整齐
  }
          System.out.println(); //换行
  }
  }
//结论:重载和返回值类型没有关系
0 0
原创粉丝点击