运算符: 对字面量或者变量进行操作的符号。
表达式: 用运算符把字面量或者变量连接起来符合java语法的式子就可以称其为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
算术运算符
基本概念
package com.itheima;
public class OperatorDemo {
public static void main(String[] args) {
// 定义两个int类型的变量,然后使用运算符
int a=6;
int b=4;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(6.4/4);
System.out.println(a%b);
//整数相除只能得到整数,要想得到小数必须由浮点数的参与
}
}
注意事项:
- /和%的区别:两个数据做除法,/取结果的商,%取结果的余数
- 整数的操作只能得到整数,要想得到小数,必须由浮点数的参与运算。
- 这涉及到变量类型的在运算中的变化情况
案例需求
- 需求:定义一个三位数,将其拆分为个位,是为,百位后,输出在控制台。
package com.itheima;
public class OperatorDemo02 {
public static void main(String[] args) {
// 定义一个三位数
int a = 123;
System.out.println(a / 100 % 10);
System.out.println((a / 10) % 10);
System.out.println(a % 10);//个位计算
}
}
+操作的三种情况
数字相加
隐式转换:
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。
转换方式:
强制转换:
- 把一个表述数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
- 格式:数据类型 变量名=(目标数据类型)(数值或者变量)
package com.itheima;
public class OperatorDemo03 {
public static void main(String[] args) {
int a = 10;
double b = 13.14;
// 强制类型转换会丢失数据精度,不建议强转
int s=(int)(a+b);
System.out.println(s);
System.out.println(a + b);
// 数字在参与计算时涉及到的隐式转换问题
// a在与b的运算中值已经变成double类型的变量了
short i = 10;
int j = 20;
int c = i + j;
short ss=(short)(i+j);//强制类型转换,不强转会报错
System.out.println(c);
System.out.println(ss);
}
}
字符相加
- 拿字符在计算机底层对应的数值来进行计算的
- ‘A’ 65 A-Z连续的
- ‘a’ 97 a-z连续的
- ‘0’ 48 0-9连续的
- ASCII表如下:
字符串相加
- 当‘+’操作中出现字符串时,这个“+”是字符串连接符而不是算术运算符
- 当连续进行“+”操作时,从左到右逐个进行
案例:
package com.itheima;
public class OperatorDemo05 {
public static void main(String[] args) {
// 当‘+’操作中出现字符串时,这个“+”是==字符串连接符==而不是算术运算符
System.out.println("HelloWorld" + "ni hao");
System.out.println("Helloworld" + 666);
System.out.println(666 + "HelloWorld");
// 当连续进行“+”操作时,从==左到右逐个进行
System.out.println("itheima" + 6 + 66);
System.out.println(1 + 99 + "itheima");
}
}
赋值运算符
- 赋值运算符类型
-赋值运算符案例:
package com.itheima;
public class OperatorDemo06 {
public static void main(String[] args) {
int a=18;
System.out.println("a:"+a);
// +=:把左边和右边的数值相加,最后把结果赋值给左边
a+=20;
System.out.println(a);
// 注意:扩展的赋值运算符底层包含了强制类型转换
short s=1;
s+=2;
// s=s+2;会报错,需要进行强制类型转换
System.out.println(s);
}
}
注意:扩展的赋值运算符隐含了强制类型转换
流程控制语句
概述
顺序结构
- 顺序结构时程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行
Debug
- Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序的执行过程来调试程序。
- 如何加断点
- 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可
- 如何运行加了断点的程序
在代码区域右键Debug执行 - 看哪里
看Debugger窗口,看Console窗口 - 点哪里
点(Step Over F8)开始,点(Stop)结束 - 如何删除断点
选择要删除的断点,点击鼠标左键即可