黑马程序员技术交流社区
标题: Java幼儿园笔记 [打印本页]
作者: 641081541 时间: 2018-3-24 10:45
标题: Java幼儿园笔记
由于学习经历在之前的感言贴发过了,这里就发下基础班lz记的笔记吧。个人感觉好多东西记住格式就已经了解大半了。
幼儿园笔记:
红色标注的例题基本都是坑
配置路径
A:先配置JAVA_HOME JAVA jdk 的bin文件目录
B:再修改path
C:最后说一下path是有先后顺序关系的
命名规则
A:包
最好是域名倒过来,要求所有的字母小写
B:类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(大驼峰标识)
C:方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写 小驼峰
D:常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词
数据类型 4类8型
基本类型 (使用实参的来传递数据的数据类型) 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)赋值给变成2的a;
输出结果还是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 |