运算符、Scanner输入、bug分析、流程控制、函数、可变参数、面向对象
01 运算符
-
加减乘除(+,-,*,/)
-
取模(%)获取余数
-
自增或自减(++,--)
注意:
-
++和-- 既可以放在变量的后边,也可以放在变量的前边。
-
自增自减符放末尾时,先赋值后运算
blic static void main(String[] args) { int n1=100; int n2=10; int n3=n2+n1++;//已经赋值后运算所有没有自增 int n4=n2+++n1; System.out.println(n3);//110 System.out.println(n4);//111
02 关系运算符
-
(==): a==b,判断a和b是否相等,成立为true,不成立为false
-
( != ) : a!=b,判断a和b是否不相等,成立为true,不成立为false
-
(>):成立为true,不成立为false
-
(<):成立为true,不成立为false
注意:"==“是判断是否相等的关系,”="是赋值
03 逻辑运算符
-
(&&):a&b,a和b都是true,结果为true,否则为false
-
(||):a&b,a和b都是false,结果为false,否则为true
03 Scanner输入
-
Scanner 类来获取用户的输入。实际用不到(前后端分离)
Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); // 获取回车之前输入到控制台的内容 System.out.println(str);
04 阅读bug
-
Error:程序本身报错(不可改)
-
Exception:语法错误(程序员可以修改的)
报错信息:Exception in thread"main" java.util.InputMismatchException
-
util以后的部分就是系统分析出的bug
05 流程控制-分支结构
-
(if语句)执行流程:
-
首先计算关系表达式的值
-
如果关系表达式的值为true就执行语句体
-
如果关系表达式的值为false就不执行语句体
-
继续执行后面其他语句内容
-
// 格式 if (关系表达式1) { 语句体1; } else if (关系表达式2) { 语句体2; } else if (关系表达式3) { 语句体3; } … else { 语句体n+1; }
-
(switch语句)执行流程
-
首先计算出表达式的值
-
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
-
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
-
// 格式 switch (表达式) { case 值1: { 语句体1; } break; case 值2: 语句体2; break; ... default: 语句体n+1; break; }
注意:概率和要为一
-
三元表达式
-
根据关系表达式的结果,如果是true,则返回表达式1的值,如果是false,则返回表达式2的值
-
// 格式 关系表达式 ? 表达式1 :表达式2
总结:switch比较适合做等值判断;if比较适合做区间判断。
06 循环结构
-
for循环
// 格式 /* 初始化语句: 循环开启时的起始状态 条件判断语句: 循环反复执行的条件 循环体语句: 循环反复执行的内容 条件控制语句:循环执行中每次变化的内容 */ for (初始化语句;条件判断语句;条件控制语句) { 循环体语句; break;//跳出当前循环 continue;//结束当前次循环,进行下一次 }
-
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false,如果是false,循环结束 ③执行循环体语句 ④执行条件控制语句 ⑤回到②继续
-
while循环
// 格式 初始化语句; while(条件判断语句){ 循环体; 条件控制语句; }
-
执行流程: ①初始化语句。 ②执行条件判断语句,得到结果。 ③如果为false,结束循环。 ④如果为true,执行循环体,再执行条件控制语句,继续②。
-
continue和break
-
continue 作用:结束本次循环,继续下一次循环。
-
break 作用:结束整个循环。
-
-
do...while循环
// 格式 初始化语句; do{ 循环体; 条件控制语句; }while(条件判断语句);
-
执行流程: ①初始化语句。 ②执行循环体,再执行条件控制语句。 ③执行条件判断语句,得到结果。 ④如果为false,结束循环。 ⑤如果为true,执行循环体,再执行条件控制语句,继续③。
总结:
-
for和while循环,是先判断,再执行。
-
do...while是先执行,再判断。
-
当知道循环次数或者循环范围的时候,用for循环。
-
当不知道循环次数,也不知道循环范围,但是知道循环的结束条件时,用while循环。
07 函数
-
概念:做某件事的代码块
修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...){ 执行语句; return 返回值; }
-
名词解释:
-
修饰符:现阶段固定为public static两个关键字。
-
返回值类型:基础数据类型
-
方法名称:自定义的名称,命名规则和变量一样。
-
参数类型:基础数据类型
-
形式参数:基础数据类型
-
执行语句:代码
-
return:结束方法的执行,并且将返回值返还给调用处。
-
返回值:方法最终产生的结果数据。
-
注意:
-
返回值必须和返回值类型对应。
-
参数如果有多个,需要使用逗号分隔。
-
参数如果没有,小括号则可以留空。
-
方法定义之后,没有调用就不会执行;要想执行,一定要调用它()。
-
没有返回值时,返回值类型设置成void,return可以省略不写。
08 可变参数
-
概念:调用方法时传入不定个数的参数,本质上是基于数组实现的
//参数为可变参数 函数名(参数类型... 参数名称){ }
09 面向对象
-
类:具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽 象。
车、猫、人
-
对象:对象是用来描述客观存在的一个实体,这个实体是由一组属性和方法构成。 奔驰、宝马、保时捷 | 英短、美短、加菲猫
-
类与对象的关系: 类是产生对象的模版,所有的对象都是通过类来创建的。 类是对象的抽象化描述,这些对象具有相同的特征和动作(属性和方法)对象是类的具体实例。
-
属性(成员变量)
-
属性类型:八个基本数据类型,引用数据类型:类、接口、数组
-
-
方法(成员方法)
-
函数
-
注意:
-
创建对象后 类名 变量名 = new 类名()。 才可以通过对象可以访问其属性和方法。