文档章节

黑马程序员.bobo.DAY.3

BobbyLou
 BobbyLou
发布于 2015/05/14 16:00
字数 2725
阅读 17
收藏 0

Day-3

1.语句(while)

1.1循环结构

代表语句: while , do while, for

while语句格式:
while (条件表达式)
{
执行语句;
}



:当在控制台进入无限循环,ctrl+c即可停止

 

do while语句格式:

do
{
执行语句;
}while(条件表达式);



 

do while 特点是条件无论是否满足,循环体至少被执行一次.

 

2.语句(do while)

3.语句(for)

4.语句(forwhile的区别)

for (int x = 0; x<3;x++)
{
System.out.println("x="+x);//3 6
}


//在这里离开了大括号,x不存在的,注意(条件表达式)
System.out.println("x====="+x);
int y = 0;
while(y<3)
{
System.out.println("y="+y);
y++;
}
System.out.println("y===="+y);
/*
1.变量有自己的作用域,对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效,
2,for和while 可以进行呼唤,如果需要定义循环增量,用for更合适
总结:
什么时候试用循环结构?
当要对某些语句执行很多次时,就试用循环结构.
*/



 

5.语句(循环语句的其它特点)

class ForTest
{
public static void main(String[] arg)
{
int x = 1;
for(System.out.println("a");x<3;System.out.println("c"))
{
System.out.println("d");
x++;
}
//abcdc
}
}
///为了检测语句是怎么执行的,先来什么后做什么



6.语句(for语句练习)

/*1,获取1~10的和,并打印.
2,1~100之间的7的倍数的个数,并打印.*/
class ForTest2
{
public static void main(String[] arg)
{
//1,定义变量用于存储不断变化的和.
int sum = 0;
//2,定义变量,记录住不断变化的被加的数.
int x =1;
//3,定义循环,重复加法的过程,
while(x<=10)
{
sum = sum + x;
x++;
}
System.out.println("sum="+sum);
/*
循环注意:
一定要明确哪些语句需要参与循环,哪些不需要.
0+1
 1+2
  3+3
   6+4
   */
}
}



 

 

//用for来提现,
int sum = 0;
for(int x=0; x<=10;x++)
{
sum+=x;
}
System.outprintln("for sum = "+sum);



 

 

/*
2,1~100之间的7的倍数的个数,并打印.
思路:
1,先对1~100进行循环(遍历)通过循环的形式
2,在遍历的过程中,定义条件,只对7的倍数进行操作.
3,因为7的倍数不确定,只要符合条件,就通过一个变量来记录这个变量的次数
 
步骤:
1,定义循环语句,选择for语句.
2,在循环中定义判断.只要是7的倍数即可,试用if语句.条件: 7的倍数x%7=0
3,定义变量,该变量随着7的倍数的出现而自增.
*/
class ForTest3
{
public static void main(String[] arg)
{
int count = 0;
for(int x=1; x<=100;x++)
{
if(x%7==0)
//System.out.println("x= "+x);
count++;
}
System.out.println("count="+count);
/*
计数器思想.
通过一个变量记录住数据的状态变化.
也需要通过循环完成.
*/
}
}



 

7.语句(for嵌套)

//语句嵌套,其实就是语句中还有语句.
//循环嵌套.
class ForForDemo
{
public static void main(String[] arg)
{
for(int x = 0; x < 3; x++)
{
for(int y =0; y<4; y++)
{
System.out.print("*");
}
System.out.println();//只有一个功能就是换行.
}
System.out.println("---------------");
/*
*****
****
***
**
*
发现图形有很多行,每一个行有很多列,
要试用嵌套循环,原理:形象说法:大圈套小圈
*/
for(int x=0;x<5;x++)//x<5因为外循环控制行数,一共5行.
{
for(int y=x;y<5;y++)
{
System.out.print("*");
}
System.out.println();
}
}
}
/*
****
****
****
对于打印长方形:外循环控制的行数,内循环控制的是每一行的列数,也就是一行中元素的个数
 
 
 
*
**
***
****
*****
*/



8.语句(for嵌套练习)

 

class ForForTest
{
public static void main(String[] arg)
{
/*
*
**
***
****
*****
不是规律的规律
尖朝上,可以改变条件,让条件随着外循环变化.
尖朝下,可以初始化值,让初始化随着外循环变化.
*/
for (int x=0; x<=5;x++)
{
for(int y=0;y<=x; y++)
{
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------");
/*
1
12
123
1234
12345
*/
for(int x=1;x<=5;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y);
}
System.out.println();
}
}
}



 

9.语句(for嵌套--九九乘法表)

 

class ForForTest
{
public static void main(String[] arg)
{
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
for(int x=1;x<=9;x++)
{
for(int y = 1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}



10.语句(break-continue)

10.1其它流程控制语句

break(跳出 continue(继续)

break语句应用范围:选择结构和循环结构

continue语句:应用于循环结构

 

:

a,这两个语句离开应用范围,存在是没有意义的.

b,这个两个语句单独存在下面都不可以有语句,因为执行不到.

c,continue语句是结束本次循环继续下次循环.

d,标号的出现,可以让这两个语句作用指定的范围

 

 

 

class OtherDemo
{
public static void main(String[] arg)
{
//break
w:for(int x= 0; x<3;x++)
{
q:for(int y=0; y>4; y++)
{
System.out.println("x="+x);
break w;
}
}
//continue:只能作用于循环结构.特点:结束本次循环,继续下一次循环
for(int x=0;x<3;x++)
{
if(x%2==1)
continue;
System.out.println("x="+x);
}
w:for(int x= 0; x<3;x++)
{
q:for(int y=0; y>4; y++)
{
System.out.println("x="+x);
continue  w;
}
}
/*
记住:
1,break和continue语句作用的范围.
2,break和continue单独存在时,下面可以有任何语句,因为都执行不到
*/
}
}



11.语句(练习)

/*
----*
---* *
--* * *
-* * * *
* * * * *
*/
class ForForTest2
{
public static void main(String[] arg)
{
 for(int x=0;x<5;x++)
 {
for(int y=x+1;y<5;y++)
{
System.out.print("-");
}
for(int z=0 ;z<=x ;z++)
{
System.out.print("* ");
}
System.out.println();
 }
}
}



 

12.函数

12.1函数

函数的定义

函数的特点

函数的应用

函数的重载

  12.1.1函数的定义

什么是函数?

函数就是定义在类中的具有特定功能的一段独立小程序.

函数也称为方法

函数的格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)

{

执行语句;

return返回值;

}

返回值类型:函数运行后的结果的数据类型.

参数类型:是形式参数的数据类型.

形式参数:是一个变量,用户存储调用函数时传递给函数的实际参数.

实际参数:传递给形式参数的具体数值.

return:用户结束函数.

返回值:该值会返回给调用者.

 

12.1.2函数的特点

定义函数可以将功能代码进行封装

便于对该功能进行复用

函数只有被调用才会执行

函数的出现提高了代码的复用性

对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写.

注意:

函数中只能调用函数,不可以在函数内部定义函数.

定义函数时,函数的结果应该返回给调用者,交由调用者处理

 

 

class FunctionDemo
{
public static void main(String[] arg)
{
/*
int x= 4;
System.out.println(x*3+5);
x = 6;
System.out.println(x*3+5);
*/
//int y = 4*3+5;
//int z = 6*3+5;
 getResult(4);
 //在这里函数中不能定义函数,只能调用函数
 
}
//发现以上的运算,因为获取不同数据的运算结果,代码出现了重复.
//为了提高代码的复用性,对代码进行抽取.
//将这个部分定义成一个独立的功能.方便与日后使用.
//Java中对功能的定义是通过函数的形式来体现的.
//需要定义功能,完成一个整数的*3+5的运算,并打印结果.
//1.先明确函数定义的格式.
//
/*
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return返回值;
}
//当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来//标识该关键字就是void, void代表的是函数没有具体返回值的情况
//当函数的返回类型是void时,函数中的return语句可以省略不写
*/
public static void getResult(int num)
{
System.out.println(num * 3 + 5);
return;//可以省略
}
}



 

13.函数(应用)

13.1函数的应用

两个明确

明确要定义的功能最后的结果是什么?

明确在定义功能的过程中,是否需要未知内容参与预算

14.函数(练习)

 

class FunctionTest
{
public static void main(String[] arg)
{
draw(5,6);
printHr();
draw(7,9);
printHr();
print99();
}
/*
2,定义一个打印99惩罚表功能的函数
*/
public static void print99()
{
for(int x=1; x<=9; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
/*
1.定义一个功能,用户打印矩形
思路:
1,确定结果:没有,因为直接打印,所以返回类型是void
2,有未知内容吗?有,两个,因为矩形的航和列不确定.
*/
public static void draw(int row,int col)
{
for(int x = 0; x<row;x++)
{
for(int y = 0; y<col; y++)
{
System.out.print("*");
}
System.out.println();
}
}
public static void printHr()
{
System.out.println("----");
}
}



15.函数(重载)

15.1函数的重载(overload)

重载的概念

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可.

重载的特点

与返回值类型无关,只看参数列表

重载的好处:

方便于阅读,优化了程序设计

重载示例:

//返回两个整数的和

int add(int x, int y){return x+y;}

//返回三个整数的和

int add(int x, int y, int z){return x+y+z;}

//返回两个小数的和

double add(double x,double y){return x+y;}

 

/*什么时候用重载

当定义的功能相同,但从那与的运算的未知内容不同.

那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数.

*/

class FunctionOverload
{
public static void main(String[] arg)
{
//add(4,5);
//add(4,5,6);
//System.out.println();
print99();
}
public static void print99(int num)
{
for(int x =1; x<=num; x++)
{
for(int y=1;y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
//打印99乘法表
public static void print99()
{
print99(9);
}
//定义一个加法运算,或许两个整数的和.
public static int add(int x, int y)
{
return x+y;
}
//定义一个加法,获取三个整数的和.
public static int add1(int x, int y, int z)
{
return add(x,y)+z;
}
}



 

16.函数(重载练习)

/*
void show(int a,char b,double c){}
 
a.
void show(int x,char y,double z){}//没有重载,因为和原函数一样.
 
b.
int show(int a, double c,char b){}//重载,因为参数类型不同.注意,重载和返回值类型不同.
 
c.
void show (int a,double c,char b){}//重载,因为参数类型不同.注意,重载和返回值类型不同.
d.
boolean show (int c,char b){}重载了,因为参数个数不同.
 
e.
void show (double c){}重载了,因为参数个数不同.
 
f.
double  show (int x,char y,double z){}没有,这个函数不可以和给定的函数同时在一个类中
*/



 

17.数组(概述内存结构)

17.1数组的定义

概念

同一种类型数据的集合.其实数组就是一个容器.

添加好友

小额赞助

微信
支付宝

本文转载自:http://blog.csdn.net/u010489586/article/details/37829099

BobbyLou
粉丝 8
博文 149
码字总数 5825
作品 0
海淀
程序员
私信 提问
【备忘】2017年黑马【淘宝店铺装修实战操作视频】全套无加密

2017年黑马【淘宝店铺装修实战操作视频】全套无加密 简介: 淘宝装修,对于一个好的店铺来讲,是至关重要的,因为客户只能从网上的文字和图片来了解您,了解产品,所以做得好能增加用户的信任...

qq_38155396
2017/07/01
0
0
JavaWeb01-HTML篇笔记(一)

1.1 案例一:网站信息页面的显示:1.1.1 需求: 在网页中显示网站的信息的页面:效果如下: 1.1.2 分析:1.1.2.1 技术分析: 【HTML的概述】 Ø 什么是HTML HTML:Hyper Text Markup Language ...

我是小谷粒
2018/04/25
0
0
2014年IT毕业生——年终总结与生存调查报告

从事IT行业的比例及薪资对比 2014年,近百万IT相关毕业生就业情况如何,都从事什么行业呢?据麦克斯2014年IT专业毕业生从业调查数据显示,仅有约45%的毕业生找到IT相关工作,那其余毕业生都从...

郭奕峰
2015/03/04
0
0
给大家分享黑马程序员Android课程笔记

黑马程序员课程笔记,这套笔记目的是让黑马的学员能够有一个详细的课下资料,也非常适合想学习Android的同学。 这套课程笔记包含内容: 1.Android基础视频部分: 2.Android360项目: 3.智慧北...

小梦想家
2015/12/04
2.4K
4
2014年IT毕业生——年终总结与生存调查报告

2014年已尘埃落定,720万大学毕业生身在何处,其中100万计算机相关专业毕业生就业情况又如何?小编由于自身的职业特殊性,有机会接触大量高校毕业生,通过对这些高校毕业生的走访与调查,随机...

战狼孤魂
2015/03/10
2
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
5
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
5
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0
聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部