java(3) if结构
一、基本if结构
1、流程图
1)输入输出
2)判断和分支
3) 流程线
1.1 简单的if条件判断
if(表达式){
//表达式为true,执行{}中的代码
}
示例1:如果张三的Java成绩大于98分,那么老师奖励他一个MP4。
public class Practice1 {
public static void main(String[] args){
//从控制台输入张三的成绩
Scanner input = new Scanner(System.in);
System.out.print("请输入张三的JAVA成绩:");
int score = input.nextInt();
if( score >98){
System.out.println("老师说:不错,奖励一个MP4!");
}
}
}
if结构
运行结果,如图:
1)实现条件成立的运行结果
2)条件不成立的运行结果
1.2 简单的if条件判断
if(表达式){
//表达式为true,执行这里
}else{
//表达式为false,这行这里
}
示例2:如果张三的Java成绩大于98分,那么老师奖励他一个MP4;否则老师罚他抄试卷。
public class Practice2 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入张三的JAVA成绩:");
int score = input.nextInt();
if(score >98){
System.out.println("老师说:不错,奖励一个MP4!");
}else{
System.out.println("老师说:罚抄试卷");
}
}
}
if-else结构
运行结果,如图:
1)实现条件成立的运行结果
2)实现条件不成立的运行结果
说明:如果if或else后面,有且仅有一行代码,{ }可以省略,但不建议省略
二、逻辑运算符
a. && 逻辑与(按shift+7)——且(并且、同时)
多个条件中,1个为假,if ( )中全部为假,多个条件同时为真,if()中则为真
b. || (按shift+回车键上面的|)——或(或者)多个条件中,只要1个为真,if()全部为真
c. !(英文状态下)——取反 例如:不等于 为 !=
1)判断字符串是否相等
A、区分大小写:密码
字符串变量.equals(字符串的值或字符串变量)
B、不区分大小写:验证码
字符串变量.equalsIgnoreCase(字符串的值或字符串变量)
2)如何分解个位、十位、百位、千位上的数字?【P47】
Int 个位 = 数字 % 10 //分解获得个位数
Int 十位 = 数字 /10 % 10 //分解获得十位数
Int 百位 = 数字 /100 % 10 //分解获得百位数
Int 千位 = 数字 /1000 % 10 //分解获得千位数
三、多重if结构
if(条件1){
//代码块
}else if(条件2){
//代码块
}else if(条件n){
//代码块
} else{
//代码块
}
示例3:小明同学参加了Java课程的学习,她的爸妈承认诺:
1)如果考试成绩等于100分,父亲给她买一辆车
2)如果考试成绩>=90分,母亲给她买一台笔记本电脑
3)如果考试成绩>=60分,母亲给她买一台手机
4)如果考试成绩<60分,扣掉一个星期的生活费
public class Practice3 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入分数:");
int score= input.nextInt();
if(score== 100){
System.out.println("父亲给她买辆车");
}else if(score>= 90){
System.out.println("母亲给她买一台笔记本电脑");
}else if(score>=60){
System.out.println("母亲给她买一台手机");
}else{
System.out.println("扣掉一个星期的生活费");
}
}
}
多重if选择结构
运行结果,如图(依次按顺序来):
说明:else if可以有多个,对数字范围有顺序要求
在If中输入字符串——if(变量名.equals(“字符串”)){ }
四、嵌套if结构
if(条件1){
//代码块
i f (条件1-1){
}
说明:该if结构可以为if、if...else、多重if等结构
} else{
可以为if、if...else、多重if等结构
}
示例4:学校举行运动会,百米赛跑成绩在10秒内的学生有资格进决赛,根据性别分男子组和女子组。
public class Practice4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score = input.nextDouble();
System.out.print("请输入性别");
String gender = input.next();
if(score<=10){
if(gender.equals("男")){
System.out.println("进入男子组决赛");
}else if(gender.equals("女")){
System.out.println("进入女子组决赛");
}
}else{
System.out.println("淘汰");
}
}
}
嵌套if结构
运行结果,如图:
1. 2.
3. 4.
5. 6.
说明:1.只有当满足外层if选择结构的条件时,才会判断内层if的条件
2.else总是与它前面最近的那个缺少else的if配对
注意:if结构的书写规范:
--> 为了使if结构更清晰,应该把每个if或else包含的代码块用大括号括起来。
--> 相匹配的一对if和else应该左对齐
--> 内层的if结构相对于外层的if结构要有一定的缩进
java(3) if结构的更多相关文章
- [Java基础]循环结构3
[Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...
- [java基础]循环结构2
[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...
- [java基础]循环结构1
[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...
- [java基础]分支结构(2)
[java基础]分支结构2 switch case /** 文件路径:G:\JavaByHands\if-else\ 文件名称:switchcase.java 编写时间:2016/6/6 作 者:郑晨 ...
- paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象) 1 锁的缺点 2 CAS(Compare ...
- Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 在曾经的博客里面,我们介绍了在java领域中大部分的知识点,从最基础的java最基本的语法 ...
- Java Web项目结构
Java Web项目结构(一般) 1.Java src 2.JRE System Library 3.Java EE 6 Libraries 4.Web App Libraries 5.WebRoot ...
- java实现堆结构
一.前言 之前用java实现堆结构,一直用的优先队列,但是在实际的面试中,可能会要求用数组实现,所以还是用java老老实实的实现一遍堆结构吧. 二.概念 堆,有两种形式,一种是大根堆,另一种是小根堆. ...
- JVM基础系列第6讲:Java 虚拟机内存结构
看到这里,我相信大家对于一个 Java 源文件是如何变成字节码文件,以及字节码文件的含义已经非常清楚了.那么接下来就是让 Java 虚拟机运行字节码文件,从而得出我们最终想要的结果了.在这个过程中,J ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
随机推荐
- JQuery事件与动画总结
1.加载DOM 1.1.window事件 window.onload=function(){}.... 时机:其他资源都加载完毕后,再执行 $(function(){}) ……:只是等待标签完毕,即可 ...
- fuse on TDH4.8
一.安装依赖包 yum install autoconf.noarch yum install automake yum install libtool* yum install m4 yum ins ...
- 内存管理之slab分配器
基本思想 与传统的内存管理模式相比, slab 缓存分配器提供了很多优点.首先,内核通常依赖于对小对象的分配,它们会在系统生命周期内进行无数次分配.slab 缓存分配器通过对类似大小的对象进行缓存而提 ...
- Attribute注解
class Program { static void Main(string[] args) { //Attribute注解,Attribute是附加到方法.属性.类等上面的特殊的标签,在类Type ...
- SOA与基于CDIF的API的联动
几千年来,巴别塔的故事一直是人类面对的一个核心的困境.为了交流和沟通我们人类创造出语言,但沟通与交流仍然存在障碍……相同语言之间的沟通依语境的不同,尚且存在巨大的鸿沟,不同语言之间更是让人坐困愁城. ...
- mysql数据库面试总结
数据库优化 建表优化 1)数据库范式 l 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列. 如电话列可进行拆分---家庭电话.公司电话 l 第二范式(2NF):首先是 1NF,另外包 ...
- JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎
上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建.运行与配置>,从上篇博客的内容我们不难看出SpringBoot的便捷.本篇博客我们继续在上篇博客的基础上来看一下Spri ...
- Github开源:Sheng.RabbitMQ.CommandExecuter (RabbitMQ 的命令模式实现)
[Github]:https://github.com/iccb1013/Sheng.RabbitMQ.CommandExecuter Sheng.RabbitMQ.CommandExecuter 是 ...
- 利刃 MVVMLight 9:Messenger
MVVM的目标之一就是为了解耦View和ViewModel.View负责视图展示,ViewModel负责业务逻辑处理,尽量保证 View.xaml.cs中的简洁,不包含复杂的业务逻辑代码. 但是在实际 ...
- OpenStack Newton版本Ceph集成部署记录
2017年2月,OpenStack Ocata版本正式release,就此记录上一版本 Newton 结合Ceph Jewel版的部署实践.宿主机操作系统为CentOS 7.2 . 初级版: 192. ...