Java SE 第四讲:
数据类型(8种): byte short int long float double char boolean
8 16 32 64
数据在计算机中的表示: 占用空间的大小
bit
Byte = 8 bit
KB =1024 Byte
MB =1024 KB
GB =1024 MB
Java中所有的浮点类型都是double, 将double类型赋值给float
float a=(float ) 1.2;
float a =1.2f; // java中的预语言支持
取模运算符:使用%表示。
inta = 5;
intb = 3;
int c = a % b;
上面代码的运行结果是2,因为5除以3结果是1余2。
取模的规律:取模的结果符号永远与被除数的符号相同
Java SE 第五讲:
1. 关系运算符:大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等
于(<=),关系运算的结果是个boolean值。
2. 逻辑运算符:重点讲解两个,逻辑运算符本身也返回一个boolean值。
1)逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),只有
当两个操作数都为真的时候,结果才为真;其余情况结果均为假。逻辑与表示的并
且的意思。
2)逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候,
结果才为假;其余情况结果均为真。逻辑或表示或者的意思。
3. 关于逻辑运算符的短路特性。
1)逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,
将不会执行逻辑与后面的运算了,即发生了短路。
2)逻辑或:如果第一个操作数为true,那么结果肯定就是true,所在在这种情况下,
将不会执行逻辑或后面的运算了,即发生了短路。
4. 关于变量的自增与自减运算。
Int a = 3;
1)关于int b = a++,作用是将a的值取出来,先赋给b,然后再让a自增1.
最后: a ==4, b == 3;
2)关于int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b。
最后: a ==4, b ==4;
4. switch语句,使用形式为:
switch(变量) //此处的变量类型就目前所学内容来看,只能为4种类型:byte, short, int,
char。
{
case 常量1:
//待执行的代码
break;
case 常量2:
//待执行的代码
break;
case 常量3:
//待执行的代码
break;
default:
//待执行的代码
}
虽然case语句中的break是可选的,但在绝大多数情况下,如果没有break,就不会判断 case中的常量了,程序的逻辑就会发生错误,因此,通常情况下都需要加上break。
Java SE 第7讲
4. while与do…while之间的区别:如果布尔表达式的第一次判断就为false,那么while循
环一次也不执行;do…while循环则会执行一次。如果布尔表达式第一次判断为true,
那么while循环与do…while循环等价。
Java SE 第九讲
1. 面向对象程序设计的三大基本特征:继承(Inheritence)、封装(Encapsulation)、多态
(Polymorphism)
2. 封装:类包含了数据与方法,将数据与方法放在一个类中就构成了封装。
13. 如果方法不返回值,那么声明方法的时候使用void 关键字,在方法定义中可以有两种
情况实现不返回值:
a) 不使用return语句。
b) 使用return,但return后面没有任何值或者变量,return后面只有一个分号,表示
退出方法,返回到方法的调用端。 方法内其他后面的代码不再执行。
使用方式:
return;
Java SE 第十讲
1. 类中的属性又叫做成员变量(member variable),属性用英文表示为property 或者
attribute。
3. 命名约定
a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,
中间不使用任何的连接符。比如Person类,MemberTest类。
b) 方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全
都小写,从第二个单词开始,每个单词的首字母大写。比如add,addThreeInt。
c) 属性:命名约定与方法相同。比如age,ageOfPerson。
6. 局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋初值。
7. 成员变量与局部变量的联系与区别:
a) 无论是成员变量还是局部变量,使用前都需要声明(定义)。
b) 对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初
始化。如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个
默认的初始值
i. byte、short、int、long类型的初始值为0
ii. float、double类型的初始值为0.0
iii. char类型的初始值‘\u0000’
iv. boolean类型的初始值为false
8. 引用类型(reference type):引用类型是用在对象上的。一个对象可以被多个引用所指
向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,
那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。
比较结果的不同:
public class People
{
intage = 20;
public void change(People people)
{
people.age = 30;
}
publicstatic void main(String[] args)
{
people.change(people);
intage2 = people.age;
System.out.println(age2);
}
}
public class People
{
intage = 20;
public void change(People people)
{
people = new People();
people.age = 30;
}
publicstatic void main(String[] args)
{
people.change(people);
intage2 = people.age;
System.out.println(age2);
}
}
Java SE 第十一讲
1. 如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个
类有多少个对象,这些对象共享同一个方法。对象放在堆里面,每一份对象都会容纳自己的属性。方法是放在内存里的方法区里,通过对象的引用来调用。
class Person
{
intage = 20;
publicvoid change2(int age)
{
age= 40;
}
}
public class ParamTest
{
publicstatic void main(String[] args)
{
inti = 10;
person.change2(i);//此时age的值是10 ,i的值是10 ,它们互相不干扰,原生数据类型。引用类型是会改变的,同样的地址。
System.out.println(i);
}
}
输出结果是: 10
关于方法参数传递的总结:对于Java 中的方法参数传递,无论传递的是原生数据类型
还是引用类型,统一是传值(pass by value)。引用的值是地址,传的是地址。
4. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:
a) 构造方法的名字必须与类名完全一致(包含大小写)
b) 构造方法没有返回值,连void也不能出现。
c) 如果在定义一个类的时候,没有为类声明构造方法,那么Java 编译器会自动为类
添加一个没有参数且方法体为空的构造方法(默认的构造方法)
d) 如果在定义一个类的时候,为类声明了构造方法,那么Java 编译器就不会再为类
添加构造方法了。
e) 不能显式调用类的构造方法,构造方法通常是通过new关键字隐式调用。(反射调用)
5. new关键字在生成对象时完成了三件事情:
a) 为对象开辟内存空间。
b) 调用类的构造方法。
c) 将生成的对象的地址返回给引用的变量。
如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public修饰的,换句话说,定义的多个类可以都不是public的,但是main方法一定放在public修饰的类中。
形式参数也放在内存中的栈中,形式参数也是一个引用。