Java基础&if语句

运算符

关系运算符(== 、!=、>、>=、<、<=)

注意区别 = 和==,二者截然不同。

逻辑运算符(&、|、!、^ 、&&、||)

& 是并且的意思。需要&两侧同时为true,结果才是true,否则是false

| 是或者的意思。需要|两侧同时为false时,结果才是false,否则是true

^ 异或的意思。需要^两侧运算结果相异时为true,相同时为false

! 只有一个操作数,对操作数的结果取反

&&和||只是多了短路功能,其他与&和|一样。开发中几乎都使用&&和||,不使用&和|

三目运算符(? :)

格式:关系表达式 ? 表达式1 : 表达式2

作用:如果关系表达式的值为true,表达式1的值将作为整个式子的值。如果为false,表达式2的值将作为整个式子的值。

表达式:运算符和常量或变量组成的式子。 例如:a+b         c > d         2 * e + f         x + y > z

一目、二目、三目

一目:运算符只有一个操作数。例如:++、--、!

二目:运算符有2个操作数。例如:+、-、*、/、%、|、&、^、&&、||、>、>=、<、<=、!=、==

三目:运算符有3个操作数。例如:? :

运算符的优先级

原则:

1. 一目运算符的优先级高于二目运算符、二目运算符的优先级高于三目运算符。

2. 同目时,* / 高于 + -, && 高于 ||

3. 可以通过加()的方式改变优先级。

+、-运算符另外作用

+:可以作用于字符串,作用是字符串拼接。注意:+的两侧,至少有一个是字符串。

-:可以用作负号。

表达式和语句

1.表达式:由常量、变量以及运算符组成的式子。

关系表达式:用于比较数据(或表达式)大小的表达式。

逻辑表达式:由逻辑运算符连接的表达式。

2.语句:以分号结尾的表达式。或者以分号结尾的其他代码,例如输出语句

语句是程序的基本组成部分。

流程控制

在程序的执行过程中,各条语句的执行顺序对程序的运行结果有着至关重要的影响。掌握Java流程控制有助于我们编写代码、调试代码以及阅读别人代码。

在Java语言中,流程控制语句有3种:顺序结构、分支结构(也叫选择结构)和循环结构

顺序结构

顺序结构是程序中最简单、最基本的结构,顺序结构没有特定的语法结构,它按照代码的先后顺序,依次执行。程序中大多数的代码都是这样执行的。

下面的代码实现了如下需求:输入2个整数,打印最大的数

public static void main(String[] args) {
//需求:输入2个整数,打印最大的那个整数
//先定义2个整型变量用于存放用户输入的值。变量的初始值为0
int num1 = 0;
int num2 = 0;
//提示用户输入数据
System.out.print("请输入2个整数,用空格分隔:");
//定义一个Scanner,用户接收用户输入的数据。
Scanner sc = new Scanner(System.in);
//提取用户输入的数据
num1 = sc.nextInt();
num2 = sc.nextInt();
//定义一个变量保存最大的数
int max = num1 > num2 ? num1 : num2;
System.out.println("最大的数是:" + max);
}

上面的代码就是顺序结构最直观的体现,代码自上而下,逐条执行。

分支结构(选择结构)

分支结构也叫选择结构,它会根据条件的不同,执行不同的后续语句。

分支结构的使用场景举例:

1. 如果账号已经登录,可以发表评论;如果没有登录,跳转到登录页面进行登录。

2. 如果余额充足可以支付;如果余额不足,进入充值页面充值。

3. 如果是未成年人,游戏2个小时后自动下线。

4. ...

在Java中有2种语句可以实现分支。

1. if语句

2. switch..case..语句

循环结构

循环结构的特点是:特定条件下,代码可以反复执行。

循环结构的使用场景举例:

1. 新闻列表页面要显示20条新闻,这20条新闻是通过循环一条一条放到页面上的。

2. 玩游戏时,网络不好的时候,重新连接服务器也是反复连接多次,而不是连接一次就不连接了。

3. 数据报表页面,对数据进行求和。

4. ...

在Java中有3种语句可以实现循环。

1. for 循环

2. while 循环

3. do..while 循环

不同的循环语句适用于不同的场景。

分支结构-if语句

if语句格式1

格式:

if(关系表达式){
语句体;
}

执行流程:

1. 首先计算关系表达式的值。

2. 如果关系表达式的值为true就执行语句体。

3. 如果关系表达式的值为false就不执行语句体。

4. 继续执行后面的语句。

if语句格式1示例:

1. 需求:输入两个数,代表“斗地主”游戏中的牌的点数,分别用变量a和b接收。如果 a 和 b相等,就输出“你摸了一个对子”。

2. 代码:

public static void main(String[] args) {
/*需求:输入两个数代表“斗地主”游戏中的牌的点数,分别用变量a和b接收。如果 a 和 b
相等,就输出“你摸了一个对子”。*/
int a = 0;
int b = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入2个整数,用空格分隔:");
a = scanner.nextInt();
b = scanner.nextInt();
if(a == b) {
System.out.println("你摸了一个对子");
}
System.out.println("无论if是否成立,后面的代码都会执行");
}

if语句格式1总结

1. if 后面的小括号里放的是一个 结果为true或者false的表达式。----通常是关系表达式或者逻辑表达式。

2. if条件的值为true,执行后面大括号里面的语句。---大括号里可以写一条或多条语句。

3. 无论if是否成立,if语句前面的代码、if语句后面的代码都会执行。

if语句格式2

格式:

if(关系表达式){
语句体1;
}else{
语句体2;
}

执行流程:

1. 首先计算判定条件的值(往往是关系表达式或逻辑表达式)。

2. 如果判定条件的值为true,执行if语句体1,否则执行语句体2。

3. 继续执行后面的语句。

if语句格式2 示例1:

1. 需求:输入2个整数,分别用变量a和b接收数据,输出a和b中的最大值。---不使用三目运算符。

2. 代码:

public static void main(String[] args) {
/*需求:输入2个整数,分别用变量a和b接收数据,输出a和b中的最大值。---不使用三目运
算符。*/
int a = 0;
int b = 0;
int max = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入2个整数,用空格进行分隔:");
a = scanner.nextInt();
b = scanner.nextInt();
if(a > b) {
max = a;
}else {
max = b;
}
System.out.println("最大值是:" + max);
}

if语句格式2 示例2:

1. 需求:输入一个整数,判断输入的数是不是偶数,如果是偶数,输出"您输入的是一个偶数",如果 不是偶数,输出"您输入的是一个奇数"。

2. 代码:

public static void main(String[] args) {
/*需求:输入一个整数,判断输入的数是不是偶数,如果是偶数,输出"您输入的是一个偶
数",如果不是偶数,输出"您输入的是一个奇数"。*/
int num = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
num = scanner.nextInt();
//偶数的判定条件:对2求余,余数是否是0
if(num % 2 == 0) {
System.out.println("您输入的是一个偶数");
}else {
System.out.println("您输入的是一个奇数");
}
}

if语句格式2 示例3:

1. 需求:输入一个代表年份的数字,判断是不是闰年。(闰年的判断条件是:能被400整除,或者能被4整除且不能被100整除)。如果是闰年,输处"xxx年是闰年!",如果不是闰年,输出"xxx年是平年!"。

2. 代码:

public static void main(String[] args) {
/*需求:输入一个代表年份的数字,判断是不是闰年。(闰年的判断条件是:能被400整除,
或者能被4整除且不能被100整除)*/
//如果是闰年,输处"xxx年是闰年!"
//如果不是闰年,输出"xxx年是平年!"
int year = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个代表年份的数字:");
year = scanner.nextInt();
if((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
System.out.println(year + "年是闰年!");
}else {
System.out.println(year + "年是平年!");
}
}

if语句格式2总结

1. if 后面的小括号里放的是一个 结果为true或者false的表达式。----通常是关系表达式或者逻辑表达式。

2. if条件的值为true,执行if后面大括号里面的语句。---大括号里可以写一条或多条语句。

3. if条件的值为false,执行else后面大括号里面的语句。---大括号里可以写一条或多条语句。

4. 无论if是否成立,if语句前面的代码、else语句后面的代码都会执行。

if语句格式3

格式:

if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else if(条件表达式3){
语句体3;
}
...
else{
语句体n+1;
}

执行流程:

1. 首先计算条件表达式1的值。

2. 如果条件表达式1的结果为true,执行语句体1。如果条件表达式1的值为false,就计算条件表达式2的值。

3. 如果条件表达式2的结果为true,执行语句体2。如果条件表达式2的值为false,就计算条件表达式3的值。

4. ...

5. 如果没有任何条件表达式的值为true,则执行语句体n+1。

if语句格式3 示例1:

1. 需求:输入一个整数,判断是正数、负数还是0。如果输入的数大于0,输出"您输入的是一个正 数",如果输入的数小于0,输出"您输入的是一个负数",否则输出"您输入的是0"。

2. 代码:

public static void main(String[] args) {
//需求:输入一个整数,判断是正数、负数还是0。
/*如果输入的数大于0,输出"您输入的是一个正数",如果输入的数小于0,输出"您输入的是
一个负数",否则输出"您输入的是0"。*/
int num = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
num = scanner.nextInt();
if(num > 0) {
System.out.println("您输入的是一个正数");
}else if(num < 0) {
System.out.println("您输入的是一个负数");
}else {
System.out.println("您输入的是0");
}
}

if语句格式3 示例2:

1. 需求:根据考试成绩计算应该给与什么奖励:考试100分,奖励一架航拍遥控飞机;考试90分~99 分,奖励游乐场玩一次;考试80分~89分,奖励玩具赛车一辆;考试70分~79分,奖励玩手机30分 钟;考试70分以下,挨揍一顿。

2. 代码:

public static void main(String[] args) {
//需求:根据考试成绩计算应该给与什么奖励:
//考试100分,奖励一架航拍遥控飞机;考试90分~99分,奖励游乐场玩一次;
/*考试80分~89分,奖励玩具赛车一辆;考试70分~79分,奖励玩手机30分钟;考试70分以
下,挨揍一顿。*/
int score = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入考试成绩:");
score = scanner.nextInt();
if(score == 100) {
System.out.println("考试" + score + "分,奖励一架航拍遥控飞机!");
}else if(score >= 90) {
System.out.println("考试" + score + "分,奖励游乐场玩一次!");
}else if(score >= 80) {
System.out.println("考试" + score + "分,奖励玩具赛车一辆!");
}else if(score >= 70) {
System.out.println("考试" + score + "分,奖励玩手机30分钟!");
}else {
System.out.println("考试" + score + "分,挨揍一顿!");
}
}

if语句格式3总结

1. 首先计算条件表达式1的值。

2. 如果条件表达式1的结果为true,执行语句体1。如果条件表达式1的值为false,就计算条件表达式 2的值。

3. 如果条件表达式2的结果为true,执行语句体2。如果条件表达式2的值为false,就计算条件表达式 3的值。

4. ...

5. 如果没有任何条件表达式的值为true,则执行语句体n+1。

常用

1. if语句是编程中最常用的语句。

2. 无论是哪种if语句格式,判断条件都是条件表达式或者逻辑表达式。

3. 要学会根据情况分析使用哪种if语句格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值