day04_java基础++函数+数组

For循环的练习

/*

              *****

              *****

              *****

              *****

*/

/*

              *****

              ****

              ***

              **

              *

 

 

              */

 

 

              /*

 

              *

              **

              ***

              ****

              *****

              */

/*

        1

        22

        333

        4444

        55555

       

        */

/*

 

        54321

        5432

        543

        54

        5

 

 

/*

       

        * * * * *

        -* * * *

        --* * *

        ---* *

        ----*

 

        */

 

/*

       

              *

             * *

            * * *

           * * * *

          * * * * *

 

        */

 

/*

        九九乘法表

        1*1=1

        1*2=2 2*2=4

        1*3=3 2*3=6 3*3=9

       

        */

/*

        \n:回车:

        \t:制表符。

        \b:退格。

        \r: 按下回车键。

 

        windows系统中回车符其实是由两个符号组成的 \r\n.

        linux中回车符是 \n.

 

 

 

 

 

break&continue

break:跳出。

              break作用的范围:要么是switch语句,要么是循环语句。

              记住:当break语句单独存在时,下面不要定义其他语句,因为执行不到。

for(int x=0;x<3; x++)

       {

                     break;

                     System.out.println("x="+x);

       }

// 上面这个会编译失败

                     break跳出所在的当前循环。

                     如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成。

 

for(int x=0; x<3; x++)

              {

                     if(x==1)

                            break;

                     System.out.println("x="+x);

              }

             

 

              xiaoqiang:for (int x=0; x<3 ;x++ )

              {

                     wangcai:for(int y=0; y<4 ; y++)

                     {

                            System.out.println("x="+x);

                            break xiaoqiang;

                     }

                    

              }

 

/*

              continue:继续。

              作用的范围:循环结构。

              continue:结束本次循环,继续下次循环。

              如果continue单独存在时,下面不要有任何语句,因为执行不到。

 

              for(int x=0; x<11 ;x++ )

              {

                     if(x%2==0)

                            continue;

                     System.out.println("x="+x);

              }

              */

 

             

for (int x=0; x<3 ;x++ )

    {

        for (int y=0; y<4 ; y++)

        {

            System.out.println("y="+y);

            continue ;

        }

    System.out.println("x="+x);

    }

    xiaoqiang:for (int x=0; x<3 ;x++ )

    {

        wangcai:for (int y=0; y<4 ; y++)

        {

            System.out.println("y="+y);

            continue xiaoqiang;

        }

    System.out.println("x="+x);





函数:

 

/*

       定义函数的格式:

 

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

       {

                     执行语句;

                     return 返回值;

       }

 

 

 

       特殊情况:

       功能没有具体的返回值。

 

       这时return的后面直接用分号结束。

       返回值类型怎么体现呢?因为没有具体值,所以不可以写具体的数据类型。

       在java中只能用一个关键字来表示这种情况。关键字是:void.

 

       总结:没有具体返回值时,返回值类型用void来表示。

 

       注意:如果返回值类型是void,那么函数中的return语句可以省略不写。

 

 

       */

      

       public static void myPrint()

       {

              System.out.println("hellojava");

              return;

       }

 

 

错误总结:

System.out.println(add(3,5));

public static void add(int a,intb)

{

System.out.println(a+b);

return ;

}

上面这种是错误的,因为要想输出必须的输出的内容,然后也add这个函数也是void的所以也编译就通不过

 

06-Java基础(函数-两个明确)

 

需求1: 定义一个功能,完成两个整数的和的获取。

       思路:既然定义功能,就是可以用函数来体现。

              如何定义一个函数呢?

              通过两个明确来完成。

       明确一:这个功能的结果是什么?

              是和。是功能的结果,所以该功能的返回值类型是int 。

              其实就是在明确函数的返回值类型。

 

                    

       明确二:这个功能实现过程中是否需要未知内容参与运算?

              有,加数和被加数。这就是函数的参数列表(参数的个数,参数的类型)

              其实就是在明确参数列表。

 

       注意:返回值类型和参数类型没有直接关系。

 

       */

       publicstatic int add(int a,int b)

       {

              int sum = a+b;

              return sum;

       }

语法错误

/*

       根据考试成绩获取学生分数对应的等级

       90~100          A

       80~89            B

       70~79            C

       60~69            D

       60以下          E

 

       结果:等级,字符,char

       参数:分数 ,int.

       */

 

       publicstatic char getLevel(int num)

       {

              char level ;

              if(num>=90 && num<=100)

                     level= 'A';

              else if(num>=80 && num<=89)

                     level=  'B';

              else if(num>=70 && num<=79)

                     level=  'C';

              else if(num>=60 && num<=69)

                     level=  'D';

              else if(num<60 || number>100)

                     level=  'E';

 

              return level;

       }

正确的写法:其实上面的这种写法也没有错

char level ;

              if(num>=90 && num<=100)

                     level= 'A';

              else if(num>=80 && num<=89)

                     level=  'B';

              else if(num>=70 && num<=79)

                     level=  'C';

              else if(num>=60 && num<=69)

                     level=  'D';

              else

                     level=  'E';

 

              return level;

 


函数的功能一样,仅仅是参与运算的未知内容不同时,

可以定义多函数,却使用统一函数名称,这样方便阅读。

在调用时,虚拟机通过参数列表的不同来区分同名函数。

 

需求:函数的重载。

/*

       函数的重载。

 

       1,同一个类,

       2,同名。

       3,参数个数不同。or 参数类型不同。

       4,函数重载和返回值类型无关。

       5,java是严谨性语言,如果函数出现的调用的不确定性,会编译失败。

 

 

       */

 


数组-定义

//元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

 

             

              {//局部代码块。限定局部变量的生命周期。

                     intage = 3;

                     System.out.println(age);

              }

事例

int[] arr = new int[3];

System.out.println(arr[0]);结果就是0

说明:如果数组没有给值,那么默认的就是0

 

 

/*

内存的划分:

1,寄存器。

2,本地方法区。

3,方法区。

4,栈内存。

       存储的都是局部变量。

       而且变量所属的作用域一旦结束,该变量就自动释放。

 

 

5,堆内存。

       存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。

       特点:

       1,每一个实体都有首地址值。

       2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean falsechar '\u0000'

       3,垃圾回收机制。

 

 

 

*/


放在堆里面的数据会对堆里面的数据进行默认初始化,不同类型初始化不一样

重要知识点:

int[] arr = new int[3];

System.out.println(arr);//  [I@c17164

 [I@c17164解释:这个@用来分隔左边与右边的内容,左边的[这个表示是一个数组,I表示是int类型,这是一个hash算法,右边表示一个是window下的hash算法,其实是用一个二进制来表示的,但是也通过了hash算法进行封装,其实吧这就是一个在内存中的一个地址

 

 

 

//格式1

       /*

       需要一个容器,但是不明确容器的具体数据。

       */

//     int[]arr = new int[3];

 

 

       /*

       需要一个容器,存储已知的具体数据。

       */

       //元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

//     int[]arr = new int[]{89,34,270,17};

       int[]arr = {89,34,270,17};




day04

学习结果:

 

1,大圈套小圈思想,什么时候使用?

 

2,break,continue作用的范围和作用。

 

3,如何理解函数?(特点,注意事项)

 

4,怎么定义一个函数?

 

5,函数重载什么时候使用?

 

6,数组是什么?

 

7,数组有什么特点?

 

8,数组什么时候使用?

 

9,java的内存(栈和堆)的特点?

 

10,画出一个数组的内存分布图。并用文字描述步骤。

 

 

 

 

 

 

 

 

class 

{

       publicstatic void main(String[] args)

       {

              System.out.println("HelloWorld!");

       }

}

 

 

 

 

1,函数

       1,定义

       2,特点。

              void?

       3,注意:

       4,使用。

 

 

 

方法:记笔记。目的:明确学习大纲。遇到的问题。

 

心态:

       1,急躁。

       2,信心缺失。

       解决方法。

 

重在交流。

 

 

 

学习技术的方法:

回家复习:

1,总结。:用四个明确的方式。

       技术点:函数。

 

       1,这个技术是什么?

       2,这个技术有什么特点?

       3,这个技术怎么用?

       4,这个技术什么时候用?

       注意:如果没有特多时间,对于零基础的学员,那么你可以注重第三明确和第四明确。

              如果你的时间少的可怜,那么必须注重第三个明确。

              必须要保证这个技术基本会用。

       5,这个技术怎么讲?(如果你想进行岗位提升,转换内训师,讲师)

 

 

      

 

2,敲代码。

       其实代码就是仅仅是思想的体现而已。 没思想没代码。

      

 

      

       classDemo

       {

              public static void main(String[] args)

              {

                     System.out.println("hellojava");

              }

       }

 

3,预习。

 

 

      

 

 

预习内容。

有基础的同学怎么办?

 

 

 

视频笔记.

 

 

 

第一题

int x = 1,y=1;

 

if(x++==2 & ++y==2)

{

       x=7;

 

}

System.out.println("x="+x+",y="+y);//x=2,y=2

 

 

---------------------------------------------------

第二题

int x = 1,y = 1;

 

if(x++==2 && ++y==2)

{

       x=7;

}

System.out.println("x="+x+",y="+y);//x=2,y=1

 

---------------------------------------------------

 

第三题

int x = 1,y = 1;

 

if(x++==1 | ++y==1)

{

       x=7;

}

System.out.println("x="+x+",y="+y);//x=7,y=2

 

 

---------------------------------------------------

 

第四题

int x = 1,y = 1;

 

if(x++==1 || ++y==1)//反过来看1==x++;其实这里面是为true的,短路性质

{

       x=7;

}

System.out.println("x="+x+",y="+y);//x=7,y=1

 

 

---------------------------------------------------

第五题

boolean b = true;

 

if(b==false)  //如果写成if(b=false)有结果吗?如果有,结果是?

       System.out.println("a");

else if(b)

       System.out.println("b");

else if(!b)

       System.out.println("c");

else

       System.out.println("d");

      

如果是b= true;结果为b

如果是b=false;结果是a

 

---------------------------------------------------

 

第六题

int x = 2,y=3;

 

switch(x)

{

       default:

              y++;

       case3:

              y++;

       case4:

              y++;

}

 

System.out.println("y="+y);

结果:y=6

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值