黑马程序员技术交流社区

标题: Java幼儿园笔记 [打印本页]

作者: 641081541    时间: 2018-3-24 10:45
标题: Java幼儿园笔记
由于学习经历在之前的感言贴发过了,这里就发下基础班lz记的笔记吧。个人感觉好多东西记住格式就已经了解大半了。
幼儿园笔记:
红色标注的例题基本都是坑
配置路径
A:先配置JAVA_HOME    JAVA jdk bin文件目录
B:再修改path
C:最后说一下path是有先后顺序关系的
命名规则
A:
   最好是域名倒过来,要求所有的字母小写
B:类或者接口
   如果是一个单词首字母大写
   如果是多个单词每个单词首字母大写(大驼峰标识)
C:方法或者变量
   如果是一个单词全部小写
   如果是多个单词,从第二个单词首字母大写 小驼峰
D:常量
   如果是一个单词,所有字母大写
   如果是多个单词,所有的单词大写,用下划线区分每个单词
数据类型  48       
        基本类型  (使用实参的来传递数据的数据类型)  boolean 初始化默认为false
                        byte < short < int < long  <float < double
        引用类型(使用地址值来传递参数的的数据类型)//暂时我是这么理解的
                        类                        接口                        数组                        枚举
所谓传递实参还是传递地址值就是用print打印出来实际参数还是地址。
引用类型数据传递解释:
数组地址值分析:
[I@19bb25a分析:
        [代表是数组,几个就代表几维
        I代表是int类型
        @是固定的
        19bb25a代表的是数组的地址值
数据的类型转换:
                隐式转换:从小 自动就能提升为大的类型
                        byte < short,char < int < long  <float < double
关于++ --
比如说a++ 就可以先把a++当成是一个整体。
首先运行a++,运行之后a变成了2
但是此时a++整体还是1
再把a++整体(也就是1)赋值给变成2a
输出结果还是1
典型例子:
Int a = 1;
a = a++;  //a还是等于1
典型例子:   (这是一个坑)
        Short  a = 10;
        Short  b = 20;
        Short  c = (short)(a+b);  //这里的a+b运行完会自动提升为int类型
Long 类型的数据 得加“L”例子   long a = 10L;
Float 类型的数据 得加“f”例子   float f = 10.0F;
三元运算符     (表达式) true):(false;
&&  || 双个和单个的其实差不多。只是双个的具有短路效果。一旦出现不符合条件的就会直接跳出,不再运行后面的。而单个的是可以运行下去。直到最后一个,最后返回一个boolean类型的参数。
Switch 运行case对应的值。如果没有就会运行default。如果,我是说如果 把default放到最上面。然后把break去掉,程序就会从default 一直往下运行,直到运行到break才跳出。
for循环:
                for(初始化语句;判断条件语句;控制条件语句){
                        循环体;
                }
程序运行顺序
初始化语句-->判断条件语句-->循环体-->控制条件语句-->判断条件语句-->循环体....
while循环
                初始化语句;
                while(循环判断条件){
                        循环体;
                        控制条件语句;
                }
程序运行顺序
初始化语句-->循环判断条件-->循环体-->控制条件语句-->循环判断条件-->循环体-->控制条件语句....
do while循环:
                初始化语句;
                do{
                        循环体;
                        控制条件语句;
                }while(循环条件);
程序运行顺序
初始化语句-->循环体-->控制条件语句-->循环条件语句-->循环体...(值得注意的是这个看运行顺序肯定会运行一遍循环体)
break:的作用就是强制中断循环。
        continue:终止本次循环,继续下次循环。
这些循环只要牢记运行顺序就能够使用了。
java中。使用的容器一般就下面三个
数组的定义:
                三个容器:
                        变量 只能存一个
                        数组是一个容器,存很多,但是固定长度
                        集合是一个容器,存很多,长度不固定。
数组初始化
动态初始化:
数据类型[] 变量名 = new 数据类型[数组长度
静态初始化:
数据类型[] 变量名 = new 数据类型【这里什么都别填{参数1,参数2....}
数据类型[] 变量名 = {参数1,参数2..}//语法糖
错误案例:int [] arr = new int[5]{1,2,3};   既有动态又有静态不伦不类
Java中数据的第一个参数的下标为0
二维数组:int[][] arr1 = new int[3][4];
[3]表示有3个数组装在arr这里面,
[4]表示每个arr[]里面有4个元素。
有几个[]就是几维数组  
方法的定义格式:
修饰符 返回值 方法名(参数类型 参数1,参数类型 参数2....{
方法体;
Return 返回值;
}
方法重载特点:
在同一个类中,允许存在类名完全一样,但是参数列表不同,与返回值无关。的几个方法,我们称他们相互重载。
形式参数:用于接受实际数据  
实际参数:实际参与运算的变量
其中基本类型数据存在栈中,引用类型存储在堆中。
  
面向对象
命名格式:
类名  对象名  = new 类名();
成员变量和局部变量的区别:
写的位置:
成员变量:写在类的里面,方法外面
局部变量:写在方法里面
内存的位置:
成员变量:堆中
局部变量:栈中
生命周期:
成员变量:随着对象的创建而存在,对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化:
成员变量:系统会自动给它初始化
局部变量:不会自动赋值,需要在使用前手动赋值。
如果有局部变量又有成员变量。那我们就要遵循就近原则。
Private 关键字:
被修饰的东西只能在本类中访问。之外的任何地方都不能直接访问。不过可以通过访问其类的方法间接的来访问。
This 关键字:
代表的是当前类的当前对象
this说: 谁调用我  我就是谁
       
构造方法:
1:创建对象的时候 就肯定会调用构造方法;
顾名思义: 为了创建对象而存在的方法
2:如果我们在一个类中没有给出任何构造方法,系统会提供一个默认的 无参构造。
3:如果我们提供了任何构造方法,系统就不会再听默认的无参构造方法了
4:一个类中可以有多个构造方法(重载),只要参数列表不同即可,也就是构造方法可以重载。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2