DAY01-Java基础复习
数据类型
1. 基本数据类型
整型:byte[-128,127],short,int,long
浮点数:float,double
字符: char ex: 'A' 'a'
布尔型:boolean----->取值 true 和 false
整型数字:默认的类型int
浮点型:默认的类型double
2.引用数据类型
类,接口,枚举,数组
变量
基本语法:
数据类型 变量名 = 值; ps:值的类型必须和 前面声明的数据类型保持一致
ex: int i = 10;
char c = 'P';
String s = "ssssva";
变量的分类:
成员变量:写在类里面的
成员变量可以不赋值,成员变量有默认值
整型:---0
浮点型:---0.0
布尔型:---false
字符型:---空
引用数据类型:---null
局部变量:定义在方法 代码块 形参
局部变量定义的时候可以不赋值
在使用的时候必须初始化(必须赋值)
运算符
数学:+ - * / %(取模---求余数)
比较运算:结果为boolean值
> < >= <= == !=
逻辑运算:将多个比较汇总一个结果
&(逻辑与) |(逻辑或) !(非--取反)
&& || ---存在短路的效果(如果一边判断已经可以确定最终的结果,另外一个判断不执行)
赋值运算:
= += -= *= /= %=
自增自减
++ --
++在前 ++在后
++在后:使用自增前的值参与运算, 运算完成以后再自增1
++在前:使用自增后的结构参与运算.
三目运算:
X?Y:Z
X:布尔值 获取布尔值的方式( 比较,逻辑,boolean值)
Y: 当x为true的时候 最终表达式的结果为Y
Z: 当x为false的时候 最终表达式的结果为Z
三目运算的结果:
1.直接打印(Y和Z的类型可以不一致)
2.可以使用变量来接收(Y和Z的类型必须一致)
选择结构
*选择结构:
* if(boolean){
* 当括号里面的布尔值为true的时候执行此处代码
* }
*
* if(boolean){
* 当括号里面的布尔值为true的时候执行此处代码
* }else{
* 当括号里面的布尔值为fasle的时候执行此处代码
* }
*
* 多条件选择:
* if(boolean1){
* 当boolean1值为true的时候执行此处代码
* }else if(boolean2){
* 当boolean2值为true的时候执行此处代码
* }else if(boolean3){
* 当boolean3值为true的时候执行此处代码
* }
* 扩展: switch 也是选择结构
循环
1.while
while 循环
* 语法:
* while(1:x){
* 2:当 x为true 执行此处代码
* }
* 循环的执行流程:
* 1 -->true-->2---->1---true---->2--->1.....
* 直到当1的判断为false的时候循环终止
2.for
语法:
* for(1初始化语句;2条件判断;3循环后执行语句){
* 4功能语句
* }
*
* 循环的执行顺序:
* 第一次:1-->2(true)--->4--->3
* 第二次:2(true)--->4--->3
* 第三次:2(true)--->4--->3
* 第四次:2(true)--->4--->3
* ...
* 第n次:2(false)终止循环
*
方法
方法就是一个独立的功能体 ps:[] 里面的内容可以省略
* 定义方法的规范
* [修饰符] 返回值类型 方法名([形参]){
* [方法体--方法要做的逻辑]
* }
* public:权限修饰
* static:方法的访问方式
* 返回值类型:
* void :没有返回值 占位
* 数据类型: 方法执行完以后会返回数据
*
* 方法的调用:
* 1.方法名([实参]) 在同一个类中,要么都被static修饰,要么都没有被static修饰
* 2.类名.方法名([实参]) 被调用的方法有static修饰
* 3.对象.方法名([实参]) 调用没有被static修饰的方法
*
* 方法的重载(Overload):
* 在同一个类中,方法名一致,形参列表不同(类型,长度,顺序)
* 返回值类型,修饰符无关
*
数组
数组:
* 变量只能存放一个数据
* 数组可以存储同一种类型的多个数据
* 数组的定义:
* 数据类型[] 名字 = new 数据类型[长度]; 定义一个指定长度空的数组
* 数据类型[] 名字={值1,值2,值3,值4...}; 在数组申明的同时赋值
* 放数据:
* 数组名[索引]=值
* 取数据:
* 数组名[索引]
* 用法:1.直接打印,2.使用变量接收
* 数组的遍历:(那数组里面的每一个数据取出来)
* for(int i =0;i<数组名.length;i++){
* 数据类型 变量名 = 数组名[i];
* }
* 增强for循环 foreach
* for(数据类型 变量名 : 数据源){
*
* }
* 缺点:不能操作索引