java笔记2

1.数组的表示方法:int [] arr;
      arr=new int [4];
         简化表示法:int[]arr={1,2,3,4,};


数组的索引= 长度-1;超出的话称为数组索引越界异常;


      面向对象


2.方法名、数组名、接口,起名时,多个单词组成时,第一个单词第一个
小写,从第二个开始第一个字母大写,一个单词时,单词小写。但类名的每个单词首写字母都要大写;(做到见名知意);
3'int []arr,数组arr中存的是内存地址,内存地址的另外一个名字叫引用。类、数组都是引用数据类型,所以对象里存的也是内存地址;
4、对象本质上也叫作变量;
注意:只要遇见new就在堆中开辟空间;
5、对象 字符串时,默认值为null,整数类型时,默认值为0;浮点类型为0.0;
6、创建对象的步骤: 属性(特征)——方法(功能);
7、数组和对象传递的(赋的)都是内存地址,而变量传递的(赋的)则是数值;
8、对象定义的方法 出主方法main外 ,static去掉不写;
9、方法中先执行主方法(main方法);然后再往下执行;


10、普通方法完整的格式:访问修饰符、返回值类型、方法名(参数列表){


                                                      方法体


                                                      return 值
                                               }




11.面向对象中调用方法的时候,是在创










12、注意:do while 循环是先执行 再判断条件;至少会执行一次循环;
13、注意:方法中没有返回值也可以有return,但是return后面不能跟东西或值;
14、用类来描述东西;  面对对象中成员方法必须把static 去掉;
        编译时,有几个类就生成几个class文件;
测试类是包含main方法的类
15、接口、数组、对象存的是没存地址,所以叫引用数据类型;不赋值时,都是有默认值的;
16、引用数据类型创建的是对象;
17、构造方法:给对象的成员变量进行初始化;给成员变量赋值;
18、成员方法必须把static去掉(面向对象);
19、面向对象编程简称:oop;面向对象简称oo;项目经理:PM;技术总监:CTO;
20、方法只有调用才能使用;
21、方法结束之后就会被弹栈,直接清除,被放在了方法区,用的时候又会被拿出来;
22、对象中存的都是有默认值的;
23、变化的东西可看成参数;
24、测试类--创建对象--属性提取--赋值--输出;
25、设置set名字,必须得有一个名字,就是得有一个参数;
26、变量初始化就是对变量第一次赋值;
27、方法不调用,则功能不能使用;
28、变量取值是就近原则;
29、直接打印对象和数组时都是内存地址;
30、this打印的也是内存地址,也可以吧this 看作是对象;
31、对象中首先会先给一个默认值;
32、对象名点成员也就是类名(对象)点.成员;
33、静态(static)优先于对象出现,静态在类加载的时候才出现。静态是在类上面的,和类在一起的;
    非静态的东西是在创建对象的时候出现。先出来的不能访问后出来的;
    静态不能修饰局部变量;
34、Student s = new Student();前面的Student相当于数据类型,s 相当于变量,把new Student(),赋值
给s;
35、内存分解时,首先找到main方法;
36、静态变量:生命周期最长,随着类的消失而消失。
非静态变量:生命周期随着对象的消失而消失。
           静态变量和非静态变量说的都是成员变量



37、静态变量:随着类的加载而存在于方法区中。
非静态变量:随着对象的建立而存在于堆内存中。




38、静态变量:也称之为类变量,属于整个类,被整个类的所有对象所共享。
    
非静态变量:也称之为实例变量,是对象的特有数据,属于某个具体的对象。


39、成员变量也有访问修饰符,只是默认的看不到;例如(public)int a;
40、每个方法中默认有 this;
41、放在方法中的 统称为局部,放在类中、方法之外的统称为成员;
42、所有的类都有访问修饰符,只是默认了;例如:(public )class;
43、方法 :在大括号里的就是方法体;
44、方法的参数和属性定义的参数不相同;
45、设置名字,必须得有参数;
46、类是加载到方法区中的;
47、变量的使用范围就在它所在的大括号内;
48、public和static 可以相互调换位置;
49、final 是自定义常量;
50、方法上的变量指的是方法的形参;
51、权限修饰符,访问修饰符;是没有顺序的,一般权限修饰符放在前面;
52、只有方法中才有this;
53、没有方法体,方法没办法被执行;
54、判断是否方法重写,和修饰符没有关系,仅一点访问权限的限制;
55、方法之间可以相互调用,不仅限于main;
56、方法名和变量名都可以就近原则;
57、方法重载:方法名相同,参数列表不同(长度不同,参数类型不同,顺序不同);返回值可以不一样;
58、形参和实际参数的名称没有关系;
59、继承只能继承共有的;
60、当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量;
61、接口与接口之间,方法不用重写(注意);
62、接口没有继承Object类.
63、类中可以有多个构造方法;可以重载;
64、非静态方法可以调用静态方法; 在同一个类中静态方法只能调用静态方法,不能调用非静态方法。
    非静态方法可以调用非静态方法;
65、调用构造函数,要先建构造函数;
66、protected 权限访问修饰符;
67、静态修饰的成员变量随着类的加载而加载;
    静态修饰的成员可以被整个类对象所共享;
    静态所修饰的成员变量和成员方法随着类的消失而消失;、、、
    静态方法只能访问静态方法和静态变量;
68、抽象方法无法被继承,更谈不上被子类重写了.
69、注意:变量也就是容器;
70、成员方法和成员变量是在类中,使用类就是使用类的属性(成员变量)和行为、功能(成员方法);使用它们必须要创建对象才能使用;
71、
   (1).方法的调用其实就是让方法里边的代码去执行。
   (2).我们想让代码在那里运行,就让方法在哪里被调用。
72、局部变量只在大括号内有效
73、静态调用非静态方法,运用创建对象的方法也可以调用;






                                 String 类


1、lang 包不需要导包,util包是需要导包的;
string 创建对象的值,不能改变(只要内存地址不改变的情况下);两个String类型的
数据相加 必须重新创建一个空间;
2;变量相加的时候先进行开辟空间,再进行运算;
   变量相加是变量;对象相加是对象;(对象也是变量);常量相加是常量;


3、string s = null;是错误的;     字符串string  s =sc.nextLine();
4、索引过大的返回值一般都是-1;  索引有时只能超出一位,超出多了就错了;
5、string 修饰的字符,斜杠要两个或反斜杠(因为是转义字符);
6、string s = “hello”;hello也看做一个对象,可以直接调方法;


7、string 类切割字符串 空格在后面的话,会省略没有;
8、字典顺序就是自然顺序;
9、类中只有String s= "hellu";可以这样赋值,其他的必须创建对象;
10、String 类中有种管前不管后的特点;
11、java中要写双斜杠,要写不四个斜杠;java中的路径表示是双斜杠;


12、常量优化机制不允许常量池内常量重复赋值;
String的区别;
13、所有的对象转换成String都调用了,都要调用toString方法;
14、StringBuffer截取功能,StringBuffer本身不改变;只是截取之后复制了一份


15、java 是面向对象语言;用对象来调用方法;


                                        包装类


1、装箱与自动装箱的注意事项:(这种情况是要强制转换的)
                             Double dl = 12.0;
                    Double d2 = (double)12;
                    Byte b = new Byte ((byte)23);    
                    Byte b1 = (byte)13;


2、基本数据类型转换为Sting 类型范例:
                                   int a = 14;
                          String s6 = a+"adf"(既是a+string类型);
                          System.out.println(s6);




                                         正则表达式


1、regex 表示正则表达式;


                                         时间三姐妹类的区别
   DateFormat() ;这个类来转化成我们能看的懂得时间;
   Calendar();是用来转化成日历 ,比如星期几;
   Date ();专门用来记录时间;
                                            




                                                      集合
   


1、迭代器就是遍历的意思;Iterator(对 collection 进行迭代的迭代器) 的next()方法,一个迭代器对象就一个指针,指针不会自动回来,如果没有元素了再移动
   运行就会报错;



2、集合的添加方法l.add(null);这样不错,但是null不能调用方法;


3、注意:(数组高级操作)public static int[] copyOf(int[] arr, int newLength):可以给数组扩容
int[] brr = Arrays.copyOf(arr,10);
System.out.println(Arrays.toString(brr));


4、.数据的集合    Java专门提供了一些类来存储和管理一堆数据,这些类就叫集合类
    集合类就是超级数组:
  a.长度可变,动态增长
  b.一个集合中可以存任意类型的数据
  c.集合类底层都采用了一些数据结构
5、capacity();容量;来获得数据类型的容量;
6、集合的返回值类型,好多都是Object;是因为集合可以存储任意数据类型;全都可以用Object类型的去接收例如随意起名obj,
   若想要转成它本质的类型,强制转换就可以了;例如 :int i = (int)obj;
   集合中的元素有任意类型,返回值都可以用Object类型去接收;
7、集合中有时必须强转,因为存在向上转型时,父类不能调用子类独有的方法;
8、getClass();方法是获取数据类型的。
9、HashSet  不能使用for循环,因为没有索引,只能使用foreach循环,因为foreach有没有索引都可以用;但foreach只能用来遍历;(HashSet  比LinkedHashSet常用);
10、数组的增删,数组要重新创建一个新的数组,这就要创建空间,然后再增删;
11、无序、没有索引的集合 是不能用get();size();方法的;
    集合泛型中Object []obj=co.toArray();因为系统里返回值Object 没有标识泛型,所以不能使用泛型;


12、表示集合长度只能用size()方法;
13、HashSet 在遍历自定义对象的时候一定要重写,toString、hashCode和equals方法;因为你是自定义的对象;
14、TreeSet集合不能添加常量 null;
15、称呼表示内部类时:外部类.内部类;
16、集合也可以看作数据类型;


                             
                                            






1、如果thows处理不了那就是错误了Error;
2、万物皆对象;
3、API方法中会有根据调用方法,返回对象的;
4、API中字段摘要的“字段”就是属性的意思;
5、字节就机器01010二进制,字符就是ASCII和Unicode表;
6、没有构造方法的类则不能创建对象,正在封闭的类也不能创建对象;
7、静态属性在方法区,非静态属性在堆里;  静态属于类,普通的属性属于对象;
8.只要存在就可以被调用;
9、静态方法中不能用this关键字,因为this是代表对象,静态方法存在时 ,对象还不存在;
10.把代码异常try抛出去,不影响别的代码运行;
11、服务端是被动的,客户端是主动的;
12、客户端访问服务端的时候,一定要有服务器端的IP地址和端口号;
13、host:主机;
14、注意 :属性、成员变量我们一般都是设置成私有的;
15、数组或集合要想拿到它们的值,必须要遍历;
16.java 语言有懒加载机制;







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值