运算符

算数运算符

1.加减乘除(+、-、*、\)

1.1 实例代码

注意事项

一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种

2.算数运算中“+”常见的三种用法

2.1 第一种

对于数值来说,那就是加法

 

2.2 第二种

对于char类型来说,在计算之前,char会被提升成为int,然后再计算。char类型字符和int类型字符,之间对照关系表:ASCII、Unicode

 

2.3 第三种

对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作

优先级问题

3.自增自减运算符

说明

自增运算符:++ 自减运算符:--

基本含义:让一个变量增长一个数字1,或者让一个变量降一个数字1 使用格式:写在变量名称之前,或者写在变量名称之后。例如:++num或num++ 使用方式: 1.单独使用:不和其他任何操作混合,自己独立成为一个步骤。 2.混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合,等。 使用区别: 1.在单独使用的时候,前++和后++没有任何区别。也就是:++num和num++;是完全一样。 2.在混合使用,有很大区别。 A.如果是前++,那么变量立刻马上+1,然后拿着结果进行使用。(先加后用) B.如果是后++,那么首先使用变量本来的数值,然后再然变量+1。(先用后加)

注意事项

只有变量才能使用自增、自减操作。常量不可发现改变,所以不能使用。

3.1 单独使用

前++和后++

前--和后--

 

3.2 混合使用

前++和后++

前--和后--

赋值运算符

1.基本赋值运算符

1.1说明

就是一个等号“=”,代表将右侧的数据交给左侧的变量。

1.2实例代码

 

2.复合赋值运算符

2.1说明

+= a += 1 相当于 a = a + 1 -= b -= 2 相当于 b = b - 2 *= c *= 3 相当于 c = c * 3 /= d /= 4 相当于 d = d / 4 %= e %= 5 相当于 e = e % 5

2.2实例代码

注意事项

1.只有变量才能使用赋值运算符,常量不能进行赋值。

2.复合赋值运算符其中隐含了一个强制类型转换。

比较运算符

1.有哪些比较运算符

==比较符号两边数据是否相等,相等结果是true。
<比较符号左边的数据是否小于右边的数据,如果小于结果是true。
>比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<=比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>=比较符号左边的数据是否大于或者等于右边的数据,如果大于结果是true。
!=不等于符号,如果符号两边的数据不相等,结果是true。

2.实例代码

逻辑运算符

1.有那些逻辑运算符

与(并且) && 全都是true,才是true;否则就是false 或(或者) || 至少一个是true,就是true;全都是false,才是false 非(取反) 本来是true,变成false;本来是false,变成true

与“&&”,或“||”,具有短路效果:如果更具左边已经可以判断得到最终结果,那么右边的代码将被不在执行,从而 节省一定的性能。

1.1注意事项

1.逻辑运算符只能用于boolean值。 2.与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可。 3.与、或两种运算符,如果有多个条件,可以连续写。 两个条件:条件A && 条件B 多个条件:条件A && 条件B && 条件C

2.实例代码

三元运算符

1.说明

一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减-- 二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值= 三元运算符:需要三个数据才可以进行操作的运算符。

格式: 数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;

流程: 首先判断条件是否成立: 如果成立为true,那么将表达式A的值赋值给左侧的变量; 如果不成立为false,那么将表达式B的值赋值给左侧的变量; 二者选其一。

注意事项: 1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。

2.实例代码

方法入门

概述

我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。

方法的定义

第一章流程控制

概述

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果又直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要用过控制语句的执行顺序来实现我们要完成的功能。

顺序结构

第二章判断语句

if语句第一种格式:if

if语句第二种格式:if ...else

if语句第三种格式:if...esle if ...else

第三章选择语句--switch

switch语句格式:

执行流程

第四章循环语句

循环概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体是,需要在核实的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环结构组成部分

  1. 初始化语句:在循环开始最初执行,而且只做唯一一次。
  2. 条件判断:如果成立,则循环继续;如果不成立,则循环退出。
  3. 循环体:重复要做的事情内容,若干行语句。
  4. 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

循环语句--for

★特性:变量作用范围有限

格式:

循环语句--while

循环语句--do-while

★特性:至少会执行一次

实列--100以内偶数相加

*次数确定的场景 多用 for 循环,否则多用 while 循环。

循环控制语句

`break条件控制语句

功能:

continue循环控制语句

功能:

死循环

功能:

嵌套循环

功能:

IDEA开发工具的使用

常用简写语句

  1. psvm:生成main方法

  2. sout:输出语句

  3. 5.fori:快速for循环

     

 

常用快捷键

快捷键功能
Alt+Enter导入包,自动修正代码
Ctrl+Y删除光标所在行
Ctrl+D复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L格式化代码
Ctrl+/单行注释,再按取消注释
Ctrl+Shift+/选中代码注释,多行注释,再按取消注释
Alt+Ins自动生成代码,toString get set等方法
Alt+Shift+上下箭头移动当前代码行

 

方法定义格式

定义方法的完整格式

结构

实例

定义一个两个int数字相加的方法;三要素:

  1. 返回值类型:int
  2. 方法名称:sum
  3. 参数列表:int a, int b

方法三种调用方式

  1. 单独调用:方法名称(参数);
  2. 打印调用;
  3. 赋值调用;

 

对比有参数和无参数

 

★以上实例都为无返回值类型(void)

 

对比有返回值和无返回值

有返回值(int):定义一个方法,用来求出两个数字之和。(getSum将运算结果返回给main方法)

无返回值(void):定义一个方法,用来求出两个数字之和。(getSum运算后直接打印结果)

★以上实例都为有参数类型

 

注意事项:

有返回值的方法(int、long、.....)可以单独调用、打印调用或者赋值调用

无返回值的方法(void),只能使用单独调用,不能使用打印调用或者赋值调用

方法三种调用方式(按住Ctrl键点击查看)

 

方法实操练习

练习1: 比较两个数字

 

练习2: 1-100整数相加

 

练习3: 打印指定次数

 

方法的注意事项

  1. 方法应该定义在类当中,不能在方法当中再定义方法。不能嵌套
  2. 方法定义的前后顺序无所谓 。
  3. 方法定义之后不会执行,希望执行需要调用:单独调用、打印调用、复制调用。
  4. 如果方法为有返回值类型,那么必须写上"return 返回值;",不能没有。
  5. return后面的返回值数据,必须和方法的返回值类型对应起来。
  6. 对于一个void无返回值的方法,return后面不能写返回值,只能写return(结束方法)。
  7. 对于方法当中最后一行的return可以省略不写
  8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个被执行。(比如 if 判断语句)

 

方法重载

方法重载的基本使用

对于功能类似的方法来说:因为参数列表不一样,却需要记住很多不同的方法名称,很麻烦。

方法的重载(OverLoad):多个方法的名称一样,但是参数列表不一样。

益处:只需要记住一个方法名称,就可以实现多个类似的功能

 

方法重载的注意事项

 

方法重载练习

练习1: 四种不同参数

 

练习2: 判断方法的正确

 

练习3: 实现重载的pri

 

数组

数组的概念

数组的概念:是一种容器,同时可以存放多个数据值。

 

数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。

数组的定义格式-动态初始化

动态初始化的格式:

数组的定义格式-静态初始化