第三章 变量
理解变量的本质是什么,在开发中有什么用?变量三要素是什么?怎么声明变量?怎么给变量赋值?变量是如何分类的?变量的作用域?
3.1.1 字面量
字面量就是数据/数值
数据被分为:整数型、浮点型、字符型、布尔型、字符串型等等
3.1.2 变量
变量三要素:变量类型、变量名、变量值。
当然,在声明变量的时候可以不用赋值,可以再之后给变量赋值,赋值时,赋的值一定要和变量类型一致,要不然会编译报错。
3.1.3 变量分类
变量根据声明的位置不同可以分为:局部变量和成员变量。在方法中声明的变量就是局部变量,在方法体外声明的变量就是成员变量。
成员变量声明时如果用static修饰,那么就是静态成员变量(静态变量),如果没有用static修饰,就是实例成员变量(实例变量)。
3.1.4 变量的作用域
一句话,出了大括号{}就不认识了。
第四章 数据类型
理解数据类型的作用,八大基本数据类型是什么,常见数据类型的取值范围,怎么使用他们声明变量,各数据类型使用时的注意事项,八种数据类型之间的相互转换。在这里我就说一下这八种数据类型之间的转换
4.1.1 知识框架
基本数据类型之前是存在固定的转换规则的,现总结出以下六条规则,无论是哪个程序,在进行数据类型转换时,都必须要遵循这六条规则。
1、八种数据类型中,除了boolean类型不能转换,剩下的七种类型都可以转换;
2、如果整数型数据没有超出byte、short、char的取值范围,可以直接将其赋值给这三种类型的变量。
3、小容量向大容量转换称为自动类型转换,容量从小到大的排序为:byte<short(char)<int<long<float<double,其中short和char都占两个字节,但是char可以表示更大的正整数;
4、大容量装换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但运行时可能会出现精度损失;
5、byte、short、char类型进行混合运算时,都是先转换成int类型再做运算
6、多种数据类型混合运算,各自先转换成容量最大的那个再做预算
第五章 运算符
掌握常见的java运算符的使用,包括算数运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、字符串连接运算符。
5.1.1 知识框架
5.1.2 常见的运算符
算数运算符:/(取整)、%(取余)、++(自加1)、–(自减1)
关系运算符:略
逻辑运算符:&&短路与、||短路或
赋值运算符:<<= 、>>=、^=、|=、&=
位运算符:~按位取反、^异或、>>左移、<<带符号右移、<<<不带符号右移
条件运算符:(三目运算符) 布尔表达式?表达式1:表达式2
字符串连接运算符:+
其他运算符:instanceof、new
5.1.3 条件运算符(三目运算符)
先看一段程序:
boolean flag = true;
System.out.println(flag?1:0);#布尔表达式?表达式1:表达式
三目运算符一共有三个部分,和if()…else()的结构相似,首先布尔表达式,只能是布尔值,如果布尔值为true,那么执行表达式1;如果布尔值为false,执行表达式2。
5.1.4 字符串连接符“+”
字符串连接符“+”两边至少有一个是字符串类型的数据,这样才能实现别的数据类型与字符串类型进行拼接。
5.1.5 instancof运算符
主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否属于一个类。使用在面向对象里面的,返回值为布尔值,例如以下几个语句:
# 1直接判断
boolean result = p instanceof Student;
# 2在if语句中使用,常见的用法,用来进行向下转型的
Person p = new Student();
//判断对象p是否为Student类的实例
if(p instanceof Student)
{
//向下转型
Student s = (Student)p;
}
第六章 控制语句
记住所有的语句的语法格式,理解不同的控制语句分别在哪些不同的情况下使用,并且能够熟练的编写这些语句。
6.1.1 知识框架
6.2 选择语句
6.2.1 if语句
语句格式:
#第一种
if(布尔表达式){
java语句;
}else{
java语句;}
#第二种
if(布尔表达式){
java语句;
}else if(布尔表达式){
java语句;
}else{
java语句;}
6.2.2 switch语句
switch和if一样,属于分支语句,下面直接看一下完整的switch语句结构是怎么样的:
switch(int/String类型){
case int/String类型数据:
java语句;
break;
case int/String类型数据:
java语句;
break;
case int/String类型数据:
java语句;
break;
default:
java语句;
}
#先若条件满足,则依次执行上面几个case语句,遇到break跳出选择语句。
#若条件一个都不满足,那么执行最后的default的语句。
接下来我说一下Switch语句中的一些注意事项:
1、switch语句后面的(),在JDK1.6之前switch只能够分辨int类型的数据,但是在JDK1.7之后,switch语句除了支持int类型,还支持String类型的数据,可以出现字符串
2、switch之前虽然只能分辨int类型,但是也可以将byte、short、char类型放到小括号当中,因为这些数据会自动转换成int类型。
3、switch语句当中的case是可以合并的,即case 90 : case 80:
6.3 循环语句
6.3.1 for循环
语法格式:
for(初始化表达式;布尔表达式;更新表达式){
循环体;
}
for(int i =1;i<10;i++){
System.out.println("Hello,World");
}
6.3.2 while语句
语法格式:
while(布尔表达式){
循环体;
}
#例子
while(true){
System.out.println("死循环");
}
6.4 转向语句
略
第七章 方法
理解方法的本质以及作用,掌握方法的定义;掌握方法如何调用;理解栈数据结构;理解方法执行过程中内存是如何变化的;掌握方法的重载机制;掌握方法递归算法。
7.1 知识框架
7.2 方法的定义与调用
定义方法的语法格式:
【修饰符列表】 返回值类型 方法名(形式参数列表){
方法体;
}
#例如代码
public static void sunInt(int a;int b){
int c = a + b;
System.out.println(a + "+" + b + "=" + c);
}
/*
public static 是修饰符列表
void 是返回值类型,void表示无返回值,若有int类型的返回值,就将void改为int;
sunInt 方法名
(int a;int b)为形式参数列表,每一个形参都是一个局部变量
*/
下面,我首先列出一些关于方法定义的规则:
1、【修饰符列表】,此项是可选择的,不是必须的,目前统一写成public static,表示公开的,静态的方法
2、返回值类型,这一项可以是java语言中的任意一种类型,包括八大基本数据类型和引用数据类型,当然如果一个方法如果打算不返回任何值,那么返回值类型一定要写void。
3、方法名,只要是合法的标识符即可
4、方法体,方法体中的代码只能够遵循自上而下的顺序依次执行,不能跳行执行,核心代码如果需要外部提供数据,是通过方法中的形参提供的。