IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java执行语句 -> 正文阅读

[Java知识库]java执行语句

java执行语句(上)

1.顺序语句:方法中的代码从上往下执行

方法内部代码从上往下运行,总体代码的大致运行方向

2.分支语句:根据不同的条件,指定不同的功能

2.1 if分支

简单的if分支

语法结构:
if(表达式){
…代码块…
}

理解:表达式的结果必须是boolean类型,即true,false
true - 执行代码块
false - 跳出if分支

做实验:
if(false){
System.out.println("…代码块…");
}
System.out.println(“if分支以外的代码”);

案例:如果小明的Java考试成绩大于98分,
麻生希就能获得一辆法拉利作为奖励

public static void main(String[] args){
		
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入成绩:");
		double score = scan.nextDouble();
		
		if(score > 98){
			System.out.println("奖励小明法拉利玩具赛车一辆");
		}
		
	}
if…else…

语法结构:
if(表达式){
…代码块…
}else{
…else代码块…
}

理解:
表达式的结果必须是boolean
true - 执行代码块
false- 执行else代码块

案例:如果小明Java考试成绩大于98分,
老师就奖励他一个劳斯莱斯,否则老师给小明补习

Scanner scan = new Scanner(System.in);
			System.out.println("请输入Java成绩:");
			double score = scan.nextDouble();
			
			if(score > 98){
				System.out.println("奖励小明劳斯莱斯玩具赛车一辆");
			}else{
				System.out.println("老师给小明通宵补课~~~");
			}
if…else if…

语法结构:
if(表达式1){
…代码块1…
}else if(表达式2){
…代码块2…
}else if(表达式n){
…代码块n…
}else{
…else代码块…
}

理解:
表达式的结果必须是boolean
从上往下依次判断表达式,哪个表达式先为true,就执行对应的代码块
所有的表达式都不为true,就执行else代码块
注意:else{}根据需求可写可不写

案例:人类的健康值在
15-20的数值内为偏瘦
20-25的数值内为健康
25-30的数值内为偏胖
(健康值算法为:体重(Kg) / 身高(米)的平方)

import java.util.Scanner;

public class Test{
   public static void main(String[] args){
	//输入体重、身高
       Scanner scan = new Scanner(System.in);
       System.out.println("请输入体重(Kg):");
       double wigth = scan.nextDouble();
       System.out.println("请输入身高(M):");
       double heigth = scan.nextDouble();

       //计算健康值
       double health =  wigth/(heigth*heigth);

       //判断
       if(health > 15 && health<=20){
           	System.out.println("小护士说:\"偏瘦,多喝啤酒、多吃垃圾食品、多熬夜\"");
           }else if(health > 20 && health <= 25){
           	System.out.println("小护士说:\"健康,继续保持\"");
           }else if(health > 25 && health <= 30 ){
           	System.out.println("小护士说:\"偏胖,多做运动。\"");
           }else{
           	System.out.println("小护士说:\"健康值异常,请到医院详细检查\"");
       }
   }
}
嵌套if分支

案例:运动会中百米赛跑跑入16秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。

public static void main(String[] args){
		
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入成绩:");
		double score = scan.nextDouble();
		
		if(score > 0 && score < 16){
			
			System.out.println("请输入性别:");
			String sex = scan.next();//输入字符串
			if(sex.equals("男")){//判断sex和"男"这两个字符串内容是否相等
				System.out.println("恭喜进入到男子组决赛");
			}else if(sex.equals("女")){//判断sex和"女"这两个字符串内容是否相等
				System.out.println("恭喜进入到女子组决赛");
			}else{
				System.out.println("性别异常");
			}
		}else if(score >= 16){
			System.out.println("重在参与");
		}else{
			System.out.println("成绩异常");
		}

注意!:sex.equals(“男”) ,该语句意思是:将字符串sex与字符串”男“对比是否相同,不可使用 sex==“男”,后期的学习中再行解释。

总结if:

语法的区别:

? if(){}:最简单的if
? if…else…:二选一
? if…else if…:多选一
? if可以无限层嵌套
? 应用场景:
? 可以判断单个值
? 可以判断区间
? 可以判断复杂的条件

2.2 switch分支

语法结构:
switch(表达式){
case 值1:
…代码块1…
break;
case 值2:
…代码块2…
break;
case 值n:
…代码块n…
break;
default:
…default代码块…
break;
}

理解:
表达式的结果可以是:byte、short、int、枚举(JDK1.5)、String(JDK1.7)
分别和值1、值2、值n比较,哪个相等,就执行对应的代码块
break:跳出switch分支语句
default代码块类似于else{},是其余其他情况的意思,根据需求可写可不写

案例:小明参加计算机编程大赛
如果获得第一名,1个月马尔代夫旅游
如果获得第二名,奖励苹果Pro笔记本电脑一部
如果获得第三名,奖励移动硬盘一个
否则,通宵补课

import java.util.Scanner;

public class Test{
   public static void main(String[] args){
		
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入比赛名次:");
		String str = scan.next();
		
		switch(str){
			case "第一名":
				System.out.println("1个月马尔代夫旅游");
			break;
			case "第二名":
				System.out.println("奖励苹果Pro笔记本电脑一部");
			break;
			case "第三名":
				System.out.println("奖励移动硬盘一个");
			break;
			default:
				System.out.println("通宵补课");
			break;
		}
		
		
	}
}

深入switch分支:

面试题:
case的值可以相同吗? 不可以
default可以省略吗? 可以
break可以省略吗? 可以
default的位置一定要在最后吗?不一定
case后面值的类型可以不一样吗?可以不一样,但是必须兼容(向上兼容)
表达式值的类型可以是什么?byte、short、int、枚举(JDK1.5)、String(JDK1.7)

switch表达式的类型为什么只有byte、short、int、枚举(JDK1.5)、String(JDK1.7)?
switch表达式的结果在底层只接受int
byte自动转型成int
short自动转型成int
枚举的对象系统会给他赋int值
String是获取的ASCII码

public static void main(String[] args){
		
		switch(97){//a的ASCII码是97
			case 'a':
				System.out.println("97");
			case 10:
				System.out.println("10");
			case 50:
				System.out.println("50");
			break;
			default:
				System.out.println("...default代码块...");
			break;
			
		}
		System.out.println("switch分支以外的代码");
	}

输出如下:

97
10
50
switch分支以外的代码

利用取消break简化代码,增强代码可读性。
需求:输入年和月,输出当月的天数

? 闰年:被4整除且不能被100整除 或者 被400整除的年份

import java.util.Scanner;

public class MyTest08 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入年份:");
		int year = scan.nextInt();
		System.out.println("请输入月份:");
		int month = scan.nextInt();
		int day=0;
		
		switch(month){
			case 1:case 3:case 5:case 7:case 8:case 10:case 12:
				day=31;
			break;
			case 4:case 6:case 9:case 11:
				day=30;
			break;
			case 2:
				if(year%4==0&&year%100!=0 || year%400==0){
					day =29;
				}
				else{
					day=28;
				}
			break;
		}
		System.out.println(year+"年"+month+"月的天数为:"+day);
	}
}
if vs switch

? 语法结构的区别:
? if的表达式:boolean
? switch的表达式:byte、short、int、枚举(JDK1.5)、String(JDK1.7)

应用场景的区别:

? if:判断单个值、区间、复杂的条件
? switch:判断单个值

3.循环语句:条件成立,就重复性的执行某个功能

3.1 for循环

for循环
含义:条件成立就重复执行
好处:减少了代码的冗余(减少重复性的代码)

语法结构:
for(表达式1;表达式2;表达式3){
…代码块…
}

理解:

? 表达式1:初始化变量
? 表达式2:判断条件
? 表达式3:更新变量

执行流程:
1.初始化变量
2.判断条件:判断条件的结果必须是boolean
2.1 true - 执行代码块,并更新变量,重复第2个步骤
2.2 false- 跳出整个循环语句

理解案例1:输出1-9的数字

for(int i = 1;i<=9;i++){
    System.out.println(i);
}

理解案例2:输出0-9的数字

for(int i = 0;i<10;i++){
System.out.println(i);
}
总结 - 理解案例:i可以从1开始也可以从0开始,更新变量可以递增也可以递减

死循环:(应该避免的)

for(;;){
    System.out.println("死循环");
}

伪死循环:(应该避免的)

for(int i = 0;i>=0;i++){//int类型取值范围有限,程序终究会停下
    System.out.println("伪死循环");
}

下期学习:

3.2 while循环
3.3 do-while循环

4.特殊的流程控制语句

4.1 break
4.2 continue
4.3 return
4.4 lable

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:35:34  更:2021-07-23 10:36:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:41:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码