java学习笔记--第三天

01.语句(while)


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


定义一个初始化表达式;
while(条件表达式)
{
循环体(执行语句);
}


02.语句(do-while)


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


while特点:先判断条件,只有条件满足,才执行循环体。(千万不能在while后加分号)
do-while特点:先执行循环体,再判断条件,条件满足,再执行循环体。(无论条件是否满足,循环体至少循环一次)


03.语句(for)


for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}


04.语句(for和while的区别)


while的初始化动作在外边,for的初始化动作在外边。
如果初始化表达式只为循环增量存在,建议使用for。


(1)变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。
(2)for和while可以进行互换,如果需要定义循环变量,用for更为合适。


总结:
什么时候使用循环结构?当某些语句执行很多次时,就使用循环结构。


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


(1)条件表达式必须有真假
(2)for中,初始化表达式和循环后的操作表达式只要是表达式就行,就会被执行。
(3)for中的初始化表达式和循环后的操作表达式有多个时,可以用逗号隔开,也可以没有。
(4)无限循环的最简单表现形式:for(;;){}    while(true){}


06.语句(for语句练习-累加计数器)


/*
1-100之间7的倍数的个数
思路:先对1-100遍历循环,在遍历的过程中定义条件,只对7的倍数进行操作
*/
  int count=0;
       for(int i=1;i<=100;i++)
  {
if(i%7==0)
{
count++;
}
  }
  System.out.println(count);
累加思想,原理:通过变量记录住循环操作后的结果,通过循环的形式进行累加的动作。
计数器思想:通过一个变量记录住数据的状态变化,也是通过循环完成。


07.语句(for嵌套)


嵌套:就是语句中含有语句。如:循环中含有循环
for(int i=5;i>0;i--)
{
for(int j=0;j<i;j++)
{
System.out.print("*");
}
System.out.println();
}
输出:
*****
****
***
**
*
for(int i=0;i<5;i++)
{
for(int j=0;j<=i;j++)
{
System.out.print("*");
}
System.out.println();
}
输出:
*
**
***
****
*****


08.语句(for嵌套练习)


输出*的尖朝上,可以改变条件,让条件随着y循环变化;尖朝下,可以改变初始化值,让初始化值随着外循环变化。


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


  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)


break:应用范围:选择结构(switch),循环结构,跳出当前循环。
continue:只能作用于循环结构,继续循环的意思。单独存在的时候,后面的语句都是废话。特点:结束本次循环,继续下一次循环。
记住:(1)break和contnue语句作用的范围
(2)break和contnue下面的任何语句执行不到。


11.语句(练习)


for(int x=0;x<=5;x++)
{
for(int y=x;y<=5;y++)
{
System.out.print(" ");
}
for(int z=0;z<=x;z++)
{
System.out.print("* ");
}
System.out.println();
}
输出:
     *
    * *
   * * *
  * * * *
 * * * * *
* * * * * *


12.函数(概述)


定义:定义类中的具有特定功能的一段独立小程序。
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后结果的数据类型;
参数类型:是形式参数的数据类型;
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数;
return:用于结束函数;
返回值:该值会返回给调用者。
函数的特点:
定义函数可以将功能代码进行封装;
便于对该功能进行复用;
函数只有被调用才会被执行;
函数的出现提高了代码的复用性;
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写,写上也不算错。
注意:函数中只能调用函数,不可以在函数内部定义函数;定义函数时,函数的结果返回给调用者,交由调用者处理。


13.函数(基本应用)


如何定义一个函数呢?
(1)既然函数是一个独立的功能,那么该功能的运算结果是什么,先明确。
(2)再明确在定义该功能的过程中是否需要未知的内容参与运算。


14.函数(练习)


15.函数(重载)


在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。(参数是有顺序的,重载和返回值类型没关系)


16.函数(重载练习)


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


概念:同一种类型数据的集合,其实数组就是一个容器。
好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];或:元素类型 数组名[] = new 元素类型[元素个数或数组长度];
格式2:元素类型[] 数组名 = new 元素类型[]{1,2,3....}
数组是引用数据类型。
内存空间:
栈:数据使用完毕,会自动释放。(主函数在栈中)
凡是new出来的东西都在堆中存放,例如数组:数组名存放在栈中,数组实体存放在堆中,数组名的值只是数组实体在堆中的起始地址。
堆内存中每个实体都有一个内存地址值。数组是通过下标访问其中的每个元素。
数组在堆中有默认的初始值:bute,int,short,long默认0;float默认0.0f,double默认0.0;char默认‘\u0000’;boolean默认false;引用数据类型默认null。
当数组的值等于null时,就是垃圾,java会在适当的时候启动垃圾回收机制给清除。
栈是自动释放,堆是垃圾回收。
引用数据类型不一样的地方:
把一个数组的值赋值给另一个数组时,只是复制地址,是两个引用指向同一数组。
当把其中的一个数组等于null时,只是把栈中的其中一个数组的值设为空,不指向堆中的实体了,但还有一个栈中的数组指向对堆中的实体,所以此时堆中没有垃圾。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值