Java学习第二周

基本语法:

                 switch语句

                            可以用键盘录入int,String类型,但是Scanner类没有直接提供录入字符char类型的数据
                            为了编码方便,有时可以利用case穿透

        3)循环控制语句

                  while语句

                    格式:   

                            初始化语句;

                            while(条件表达式){

                                        循环体语句;

                                        步长语句;}

                    do-while语句

                       格式:

                            初始化语句;
                              do{
                              循环体语句;
                              步长语句;
                                  }while(条件表达式) ;

                     for语句

                        基本格式:

                               for(初始化语句;条件表达式;步长语句){

                                        循环体语句;}

                        扩展格式:

                                for(){

                                        for(){

                                }}                //for嵌套,外层循环控制行数,内层循环控制列数

                          *关于while循环与for循环的区别:

                            1)从内存角度考虑:for循环优于while循环,循环语句结束之后,变量就会被Jvm里面GC(垃圾回收器)回收掉
                     释放掉内存,内存空间不会消耗太多!而while循环,是可以访问那个变量,它不会立即被回收掉!
                            2)从应用场景来考虑:
                     如果明确范围/次数,使用for循环  (优先考虑for循环,再考虑while循环)
                     如果不知道循环多少次,这个时候使用while循环

                          *关于while循环与do-while循环语句区别:

                            do-while至少循环一次

                         *优先for循环,其次while循环,最后才考虑do-while循环

        4)跳转控制语序

                    break语句:

                             中断,结束语句

                             注意:break只能在循环语句或者switch语句中使用

                     continue语句:

                              停止当前循环,立即进入下一次循环

                                注意:continue只能在循环语句中使用

9.数组

               格式:
                      数据类型[]数组名称  //常用    
                      数据类型 数组名称[]

               数组的初始化:
                    1)动态初始化:指定数组长度,由系统给数组中的元素赋值
                    2)静态初始化:指定数组中的元素的值,由系统给数组指定长度 
                        例如int[] arr =new int[]{1,2,3};简写int[]arr = {1,2,3};
  
              动态初始化:
                    数据类型[] 数组名称 = new 数据类型[指定长度] ;   //推荐
                     int[] arr = new int[2] ;
                    数据类型 数组名称[] = new 数类型[指定长度];  //注意 : 数组定义时不能动静结合

               数组有length属性,可以通过  数组名称.length  获得数组长度   
                //String里没有length属性,但可以获得字符串长度,集合中也没有length属性

               数组常遇见的异常:
                     ArrayIndexOutOfBoundsException : 数组角标越界异常

10.function(方法)

                格式: 
                            权限修饰符 静态修饰符 返回值   方法名(数据类型1 参数1,数据类型 参数2...){
                             return 结果;
                             }   //返回值类型为void(没有具体返回值时为void)则没有return

                 调用方法:
                            1)单独调用 : 没有具体结果
                            2)输出调用 : 不好,将数据写死,直接输出的,不能对结果进行一下步的需求
                            3)赋值调用 : 可以针对结果下一步需求操作                                        

                 关于定义方法的注意事项:
                            1)方法和方法是平级关系,不能再一个方法中再去定义一个方法
                            2)形式参数中,参数类型是一定要有的,否则报错 
                            3)调用方法的时候,不需要带数据类型
                            4)书写方法中两个明确
                                     ①明确返回值类型
                                     ②明确参数类型以及参数个数

                  关于方法重载 :
                             定义多个方法时候,方法名相同,参数列表不同,并且与返回值无关!
                             参数列表不同:
                                     1)参数个数不同
                                     2)参数类型不同

11.面向对象

                    类是用来描述现实世界中的事物!
                    类是对象的抽象,对象是类的具体化,实例是类的另一个名称

            一、普通类 : 
                    1)//创建一个类
                    class 类名{
                     2)定成员变量
                     3)成员方法(){}  
                            public class 测试类名{
                                    4)创建一个类对象
                                        类名 对象名 = new 类名();
                                     5)给成员变量赋值
                                        对象名.成员变量= ....
                                      6)调用成员方法
                                        对象名.成员方法名();   

                      *成员变量与局部变量区别 : 书写位置、内存位置、生命周期和初始化不同   
                      *成员变量名称和局部变量名称一致的情况下,采用就近原则    

            二、private封装
                        标准类写法:
                                    成员变量全部私有化
                                    提供公共的访问的成员方法
                                    /*与普通类不同的是,封装需要在成员变量或者公共方法前设置权限private
                                        然后添加公共成员方法将其包含进去,最后再给公共成员变量赋值或者调
                                        用公共成员方法*/    

             三、构造方法
                          特点:
                                    1)方法名和类名相同
                                    2)没有返回值类型,连void都没有
                                    3)没有具体的返回值    

                           作用 : 给对象进行初始化

                            注意 : 如果写标准类时,没提供有(无)参构造方法,则系统默认提供无参构造方法
                                      构造方法亦可重载

                           标准类写法 : 
                                       1)成员变量私有
                                        2)提供有(无)参构造方法  //可以在有参构造方法里通过this关键字给成员变量赋值
                                         3)提供getXxx/setXxx方法

                 四、形式参数
                            1)形式参数如果是基本数据类型: 形式参数的改变,对实际参数没有影响
                            2)形式参数是应用数据类型的话:形式参的改变,会直接影响实际参数

                  五、匿名对象
                            格式:
                                    new类名();
                            好处:
                                    1)一般,调用一次即可,不适合调用多次
                                     2)调用完毕之后,会立即从内存释放掉,及时被GC垃圾回收器回收掉!
                                      3)匿名对象它可以作为参数进行传递
                             应用 : 
                                        接口中,抽象类中应用较多

                                        


                            


               


                            

                              

                     

         

            

猜你喜欢

转载自blog.csdn.net/wolves_7/article/details/80917477