目录
第二天内容
-
数据类型转换
-
算数运算符
-
比较运算符
-
逻辑运算符
-
三元运算符
-
简单方法定义和调用
第一章数据类型转换
1.1自动转换
定义:就是从小范围转大范围(好比家里的大碗可以放进小碗,小碗却放不下大碗)
案例:
public static void main(String[] args) { int i = 1; byte b = 2; // byte x = b + i; // 报错(报错原因:byte运算是会自动转化为整型int类型) //int类型和byte类型运算,结果是int类型 int j = b + i; System.out.println(j);}
拓展:byte/short/char 在发生数学运算是会自动提升为整型int类型运算;
1.2 强制转换
定义:就是从大范围转小范围(理解如上)
案例:
int i = 1.5; // 错误
错误原因:
因为double类型是8个字节,int类型是4个字节 . 4个字节装不下8个字节的类型
强制转化格式:
数据类型 变量名 = (数据类型)被转数值;
案列:
// double类型数据强制转成int类型,直接去掉小数点。int i = (int)1.5;
注意:1.强制转化都会损失精度
2.boolean类型是不能发生强制转发的
1.3 ASCII编码表
public static void main(String[] args) { //字符类型变量 char c = 'a'; int i = 1; //字符类型和int类型计算 System.out.println(c+i);//输出结果是98 }
在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。
-
编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。
人们就规定:
字符 数值 0 48 9 57 A 65 Z 90 a 97 z 122 -
将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII(
American Standard Code for Information Interchange 美国标准信息交换码)。
-
小贴士:
在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升为了int类型。char类型内存2个字节,int类型内存4个字节。
第二章 运算符
2.1 算数运算符
算数运算符包括: | |
---|---|
+ | 加法运算,字符串连接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++ 、 -- | 自增自减运算 |
在这里只对自增自减讨论:
-
++
运算,变量自己增长1。反之,--
运算,变量自己减少1,用法与++
一致。-
独立运算:
-
变量在独立运算时,
前++
和后++
没有区别 。 -
变量
前++
:例如++i
。 -
变量
后++
:例如i++
。
-
-
混合运算:
-
和其他变量放在一起,
前++
和后++
就产生了不同。 -
变量
前++
:变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
public static void main(String[] args) { int a = 1; int b = ++a; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是2 }
-
变量
后++
:变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b的结果是1。
public static void main(String[] args) { int a = 1; int b = a++; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是1 }
-
-
-
+
符号在字符串中的操作:'+` 符号在遇到字符串的时候,表示连接、拼接的含义。
"a"+"b"的结果是“ab”,连接含义
public static void main(String[] args){ System.out.println("5+5="+5+5);//输出5+5=55 }
2.2 赋值运算符
赋值运算符包括: | |
---|---|
= | 等于号 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 取模等 |
-
赋值运算符,就是将符号右边的值,赋给左边的变量。
案列:
public static void main(String[] args){ int i = 5; i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i System.out.println(i); //输出结果是10 }
2.3 比较运算符
比较运算符包括: | |
---|---|
== | 比较符号两边数据是否相等,相等结果是true。 |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true。 |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true。 |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果大于结果是false。 |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是false。 |
!= | 不等于符号 ,如果符号两边的数据不相等,结果是true。 |
-
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值
true
或者false
。
案列:略;
2.4 逻辑运算符
逻辑运算符包括: | |
---|---|
&& 短路与 | 1. 两边都是true,结果是true <br />2. 一边是false,结果是false <br />短路特点:符号左边是false,右边不再运算 |
|| 短路或 | 1. 两边都是false,结果是false <br />2. 一边是true,结果是true <br />短路特点: 符号左边是true,右边不再运算 |
! 取反 | 1. ! true 结果是false<br />2. ! false结果是true |
-
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值
true
或者false
public static void main(String[] args) { System.out.println(true && true);//true System.out.println(true && false);//false System.out.println(false && true);//false,右边不计算 System.out.println(false || false);//falase System.out.println(false || true);//true System.out.println(true || false);//true,右边不计算 System.out.println(!false);//true }
2.5 三元运算符
-
三元运算符格式:
数据类型 变量名 = 布尔类型表达式?结果1:结果2;
-
三元运算符计算方式:
-
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
-
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
-
public static void main(String[] args) { int i = (1==2 ? 100 : 200); System.out.println(i);//200 int j = (3<=4 ? 500 : 600); System.out.println(j);//500 }
运算符的优先级:
自增运算符 逻辑非 > 算数运算符 > 比较运算符 > 逻辑&&|| > 三元运算符 > 赋值运算符
第三章 方法入门
3.1 概述
我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。
-
方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
3.2 方法的定义
定义格式:
修饰符 返回值类型 方法名(参数列表){
代码块...
return;
}
定义格式解释:
-
修饰符: 目前固定写法
public static
。 -
返回值类型: 目前固定写法
void
,其他返回值类型在后面的课程讲解。 -
方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。
-
参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。
-
return:方法结束。因为返回值类型是void,方法大括号内的return可以不写。