if的使用
if单分支结构
- 语法格式:
if(表达式){
//如果表达式为true将执行的语句
} - 代码示例
import java.util.Scanner;
public class Ddemo01 { //if单分支选着结构
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数据");
String str=scanner.nextLine();
//equals:用来判断字符串是否相等
if (str.equals("javaStudy")){
System.out.println("学习编程使我快乐");
}
System.out.println("加油!");
scanner.close();
}
}
if双分支结构
- 语法结构:
if(表达式){
如果表达式为true将执行的语句
}
else{
如果表达式为false将执行的语句
}
代码示例:
import java.util.Scanner;
public class Ddemo02 {//if双分支结构
public static void main(String[] args) {
//判断价钱,如果大于4块,表示买的是香蕉;小于4块,表示买的是橘子
Scanner scanner=new Scanner(System.in);//从键盘输入数据
double price=scanner.nextDouble();
if (price>4){
System.out.println("购买的是香蕉");
}
else{
System.out.println("购买的是橘子");
}
}
}
if多分支选择结构
- 语法结构
if(表达式1){
表达式 1的值为true执行代码
}
else if(表达式2){
表达式 2的值为true执行代码
}
else if(表达式3){
表达式 3的值为true执行代码
}
else{
如果以上的表达式都不为true,那么就执行这个语句
}
- 代码示例
import java.util.Scanner;
public class Ddemo03 {//if多分支结构
/*成绩为100分,等级为A+;成绩大于等于90分,等级为A;成绩大于等于80分,等级为B+
成绩大于等于70分,等级为B,成绩大于等于60分,等级为C+,成绩小于60分,加油!相信你,你可以的!加油!
等级大于100分,表示成绩出错。
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);//可以从键盘输入数据
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if (score==100){
System.out.println("等级为A+");
}else if(score>=90&&score<100){//利用到逻辑与,同时满足才能为真
System.out.println("等级为A");
}else if(score>=80&&score<90){
System.out.println("等级为B+");
}else if(score>=70&&score<80){
System.out.println("等级为B");
}else if(score>=60&&score<70){
System.out.println("等级为C+");
}else if(score>=0&&score<60){
System.out.println("加油!相信你,你可以的!加油!");
}
else{
System.out.println("成绩出错");
}
scanner.close();//关闭IO流
}
}
/*总结:
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
*/
嵌套if结构
在嵌套if语句里,可以嵌套if单分支结构,也可以嵌套if双分支,亦或嵌套if多分支结构
- 语法结构
if(表达式){
if(表达式){ }
}
- 代码示例;
import java.util.Scanner;
public class Ddemo04 {//if嵌套语句
/*成绩为100分,等级为A+;成绩大于等于90分,等级为A;成绩大于等于80分,等级为B+
成绩大于等于70分,等级为B,成绩大于等于60分,等级为C+,成绩小于60分,加油!相信你,你可以的!加油!
等级大于100分,表示成绩出错。
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int score=scanner.nextInt();
System.out.println("输入成绩:");
if(score<=100){
if(score<100){
if(score>=90){
System.out.println("等级为A");
}else if(score>=80){
System.out.println("等级为B+");
}else if(score>=70){
System.out.println("等级为B");
}else if(score>=60){
System.out.println("等级为C+");
}else{
System.out.println("加油!相信你,你可以的!加油!");
}
}else{
System.out.println("等级为A+");
}
}
else{
System.out.println("成绩出错");
}
scanner.close();
}
}
- 代码示例2
import java.util.Scanner;
public class Ddemo05 {//if的嵌套语句
/*在1-100之间寻找一个数字*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你要寻找的数字");
int mummber=scanner.nextInt();
if(mummber<=100){
if(mummber>=50){
System.out.println("这个数在50到100之间");
}
else {
System.out.println("这个数在0到50之间");
}
}
}
}