操作
变量
变量的作用:
1. 程序中使用变量可以接收、保存、传递、操作数据
2. 变量的类型和数据的类型必须是一致的
3. 如果类型不一致,那么就需要进行类型转换(自动转换、手动转换)
变量的使用:
变量的使用:
1. 必须是先声明、再赋值、再使用
2. 也可以声明变量的同时就进行赋值,然后再使用
3. 如果只声明变量,没有赋值,那么再使用的时候会报错
变量的种类:
1. 通过类型划分
基本类型变量(byte short int long float double char boolean)
引用类型变量(类类型、接口类型、数组类型)
2. 通过范围划分
局部变量
实例变量
1.1 局部变量
下面展示一些 内联代码片
。
// An highlighted block
public void test(){
//int类型的变量a,同时也是一个局部变量
int a = 1;
}
局部变量没有默认值:
public void test(){
int a;
//编译报错,因为局部变量a没有赋值,也没有默认值,那么就不能使用变量a的值 System.out.println(a);
}
局部变量的作用范围:
1. 变量都是有作用范围的,超出这个范围,变量就不能使用了
2. 局部变量被直接包裹的大括号中,从这变量声明开始,一直到这个大括号结束
1.2 实例变量
实例变量就是类中的属性,也叫做成员变量(非静态的)
// 实例变量是默认值的,即使声明完,不赋值,它也是有一个默认的值:
public class Student{
public String name;
public int age;
public void print(){
System.out.println(name);
//可以使用,成员变量有默认值
System.out.println(age);
//可以使用,成员变量有默认值
}
}
不同类型的实例变量,它们的默认值是
byte类型,默认值为0
short类型,默认值为0
int类型,默认值为0
long类型,默认值为0L
float类型,默认值为0.0F
double类型,默认值为0.0D
boolean类型,默认值false
char类型,默认值是'\u0000'
引用类型,默认值是null
操作符
2.1 赋值操作符
2.2比较操作符
2.3 相等操作符
2.4 算术操作符
2.5 移位操作符
2.6 位运算符
2.7 逻辑运算符
2.8 条件操作符
2.9 优先级问题
3 类型转换
java中的=号赋值操作,需要=号俩边的类型一致,也就是=号右边的数据的类型要和=号左边的变量的类型保持一致,如果不一致,那么就需要做类型的转换,分为隐式转换和显示转换。
隐式转换也称为自动转换。
显示转换也称为强制转换/手动转换。
3.1 基本类型
3.2 引用类型
4 流程控制
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
4.1 概述
4.1 if
语法1:
if (关系表达式)
{
语句体;
}
//其他代码
执行流程:
1. 首先计算 关系表达式 的值
2. 如果关系表达式的值为true,就执行语句体
3. 如果关系表达式的值为false,则不执行语句体
4.继续执行if代码块后面的其他代码
4.2 switch
switch语句和if很类似,都是用来判断值是否相等,但是switch默认只支持byte、short、int、char这四种类型的比较,JDK8中也允许String类型的变量做对比。
注意,使用switch来完成的功能,同样可以使用if来完成,但是使用if完成的功能,使用switch不一
定能完成。
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
default:
语句体n+1;
break; }
执行流程:
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,遇到break就会结束switch程序
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
int mode = 0;//0 1 2 3
switch(mode){
case 0:{
System.out.println("默认模式开启");
break;
}
case 1:{
System.out.println("手动模式开启");
break;
}
case 2:{
System.out.println("自动模式开启");
break;
}
case 3:{
System.out.println("智能模式开启");
break;
}
default:{
System.out.println("模式选择错误!!");
}
}
假如mode本次的值是0,那么case 0 这种情况就成立了,然后打印指定语句,再执行break,接着退出整个switch语句。
也就是说case 1 2 3 default这几种情况的代码就不再判断也不再执行。这一切都是因为执行了
break。
\
4.3 for
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句。
当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
4.4 while
4.5 do-while
do-while循环和while循环很类似,只是do-while循环需要先执行循环体中的代码,然后再进行条件判断,是否可以进行一下次循环。其特点是,无论如何都会先执行一次大括号中的代码
4.6 区别
三种循环的区别:
1、for、while 与 do … while 的区别
for和while 先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while 先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
2、for 与 while 的区别
条件控制语句所控制的自增变量,因为默认情况下归属for循环的语法结构中,在for循环结束后,
就不能再次被访问到了
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,
该变量还可以继续使用
三种循环的使用场景:
1、明确循环次数,推荐使用for
2、不明确循环次数,推荐使用while
3、do…while 很少使用
4.7 循环嵌套
在一个循环中,可以嵌套另一个循环。
break 的意思是退出,结束当前的循环或switch代码
continue 的意思是结束本次循环,让循环直接进入一次的运行。
label
注意,默认情况下,在嵌套循环中,break和continue只能默认对当前循环起作用。