复习篇:
1.Java中所有浮点类型默认情况下都是double,不能讲double类型的值赋给float类型的变量,即便该double类型的值处于float类的范围内,都是不行的。关键是要等号两边的类型是否一致。比如
float f = 1.2; //1.2默认是double,所以不能转为float
解决方法:
a)float f = 1.2F 或 float f = 1.2f //告诉Java编译器,1.2是float类型
b)float f = (float)1.2; //强制装换,可能会损失精度
c) double f = (float)1.2; //范围小的值,可以赋给范围大的变量
2.有若干个变量参与运算时,结果取决于变量中表示范围最大的那个变量类型,比如有int、double、short类型变量参与运算,最后的结果是double类型。
另外,下例中,通过(double)a 将 a 转换为一个匿名的变量,该变量的类型是double,但是 a 本身还是int,而不是double,所以(double)a/b就是double类型除以int类型,所以结果是double类型
int a = 1;
int b = 2;
double c = (double)a/b;
3 取模(求余数),用 % 表示,取模结果符号与被除数符号一样
int a = -5;
int b = 3;
int c = a % b;
结果是 -2
int a = 5;
int b = -3;
int c = a % b;
结果是 2
4.逻辑与:&& 逻辑或:||
5.条件运算法:
type d = a? b :c; //假如a为真,则d = b,否则d = c
int d = 2 > 1? 3 : 4; //d = 3
6.流程控制语句
第一种形式:
if(布尔表达式)
{}
第二种形式:
if(布尔表达式)
{}
else(布尔表达式)
{}
第三种形式:
if(布尔表达式)
{}
else if(布尔表达式)
{}
else if(布尔表达式)
{}
else //可加可不加{}
7 switch(变量)//此处的变量可以为:byte,short,int,char
{
case 常量1:
//执行代码
break;
case 常量2:
//执行代码
break;
case 常量3:
//执行代码
break;
default:
//执行代码
}
虽然case中的break是可选的,但是绝大多数情况下,如果没有break,程序的逻辑会发生错误。
switch语句能做的if语句都能做!
8.while(布尔表达式)
{}
9.do...while循环
do{
//执行代码
}
while(布尔表达式);
while 和 do ..while区别,while先判断在执行代码,do ..while 先执行再判断
10.for(变量初始化;条件判断;步进)
{}
变量初始化 -> 条件判断(为真则往下,为假则跳出for循环) -> 花括号代码 -> 步进
11.break 语句:跳出整个当前循环语句,执行后面代码
continue 语句:跳出本次循环,执行下一次循环
1.类中的属性(数据)又叫做成员变量(member variablle),属性property或attribute
对数据的操纵,在类中称作方法(method)
如果一个Java源文件中定义了多个类,那么这些类中最多只能有一个类是 public 的,换句话说,可以没有一个 public
2.对象(Object)又叫做实例(Instance)。生成一个对象的过程叫做实例化
面向对象程序设计的三大基本特称:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism)
封装:类包含了数据与方法,将数据与方法放在一个类中就构成了封装
3.命名约定
a)类:首字母大写,如果一个类名由多个单词构成,那么每个单词首字母为大写,中间不能有任何连接符,如MemberTest,Test
b)方法:首字母小写,如果一个方法名由多个单词构成,那么除第一个单词首字母小写以外,每个单词首字母为大写,比如add,addPerson
c)属性:与方法相同
4.属性需要定义在类中,又叫做成员变量,定义在方法中的变量叫做局部变量
5.定义属性
public class Xxx
{
修饰符 类型 属性名称
}
使用属性,和方法一样,首先需要生成类的实例,然后使用 实例.属性 的方法来使用属性。如图
6.局部变量使用必须要声明并赋初始值,成员变量使用前必须要声明,但是可以不赋初始值
7.成员变量和局部变量的联系与区别:
a)使用前都要声明(定义)
b)局部变量需要初始化;成员变量使用前可以不初始化,如果不初始化,有一个默认值:
byte、short、int、long类型的初始值为 0
float、double类型的初始值为 0.0
char类型的初始值为“\u0000”
boolean类型的初始值为false
8.引用类型(reference type):是用在对象上的,一个对象可以被多个引用所指向,但是同一个时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,那么无论哪个引用对对象进行了修改,都会反映到其他引用中。
另外:Test test = new Test();
//test是引用类型的变量,真正的对象时new后面的Test,对象看不到摸不着,只能通过引用,通过对象的地址,赋给了test,也就是test指向了谁就可以操纵谁
有几种不同的情况,注意不同点:
输出:
20
30
输出:
20
30
20
输出:
10
20
输出:
10
10
9.参数:
int add(int a ,int b) //形式参数
{
return a + b;
}
int result = add(1,2); //实际参数