Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.if语句
1>.if语句的第一种格式
if(条件表达式){ 语句体; } ........//其它语句
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class JudegmentLetter{
public static void main(String[] args){
//从键盘读取一个字符,判断这个字符是否为英文字母,a~z以及A-Z.
Scanner Input = new Scanner(System.in);
System.out.print("请输入一个字符:>>>");
String str = Input.next();
char firstLetter = str.charAt(0); //从键盘上去读第一个字符 //判断这个字符是否为英文字母
if(('A' <= firstLetter && firstLetter <= 'Z')||('a' <= firstLetter && firstLetter <= 'z')){
System.out.println("输入了英文字母:"+firstLetter);
} }
}
2>.if语句的第二种格式
if(条件表达式){
语句体1;
}else{
语句体2;
}
........//其它语句
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class OddEven{
public static void main(String[] args){
Scanner Input = new Scanner(System.in);
System.out.print("请输入一个整数:>>>>");
int num = Input.nextInt(); //判断奇数还是偶数
if( num % 2 == 0){
System.out.println( num + "是偶数!" );
}else{
System.out.println( num + "是奇数!" );
}
}
}
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class UserLogin{
public static void main(String[] args){
/*
从键盘输入用户名和密码,判断是否为合法用户
假设合法的用户名是:yinzhengjie
假设合法的密 码是:123
*/
Scanner Input = new Scanner(System.in);
System.out.print("请输入用户名:>>>");
String username = Input.next(); //从键盘上获取用户名
System.out.print("请输入密 码:>>>");
String password = Input.next(); //从键盘上获取密 码 //判断用户是否为合法用户
if("yinzhengjie".equals(username) && "123".equals(password)){
System.out.println("登录成功!");
}else{
System.out.println("登录失败,用户名或密码不正确!");
}
}
}
用户登录脚本,难点是在于字符串比较的方式!
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class BuildTriangle{
public static void main(String[] args){
/*
判断输入的三个数字能够构成三角形
*/ Scanner Input = new Scanner(System.in);
System.out.print("Please enter the length:>>>");
int length = Input.nextInt();
System.out.print("Please input the width:>>>");
int width = Input.nextInt();
System.out.print("Please enter high:>>>");
int high = Input.nextInt(); if( length + width > high && length + high > width && width + high > length){
System.out.println("三边" + length + "," + width + "," + high + "能构成三角形");
}else{
System.out.println("三边" + length + "," + width + "," + high + "不能构成三角形");
} }
}
判断输入的三个数字能够构成三角形
3>.if语句的第三种格式
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else if(条件表达式3){
语句体3;
}
.......
else{
语句体n;
}
.......//其它语句
接下来,我们一起看一个案例,判断成绩对应的等级,代码如下:
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class ExamResults{
public static void main(String[] args){
/*
从键盘输入一个成绩,判断成绩对应的等级。
*/
Scanner Input = new Scanner(System.in);
System.out.print("请输入一个成绩:>>>");
int score = Input.nextInt(); //先对用户输入的成绩进行合理性验证,把不合理的抛去
if( score < 0 || score > 100 ){
System.out.println("你输入的成绩不合理,应该在0~100之间");
return; //返回,结束当前方法main方法的执行。
} //判断成绩对应的等级,如果程序能跑到这,隐性的说明成绩在0~100之间。
if( score >= 90 && score <= 100 ){
System.out.println("优秀!");
}else if( score >= 80 ){
System.out.println("良好!");
}else if( score >= 70 ){
System.out.println("一般!");
}else if( score >= 60 ){
System.out.println("得加油了!");
}else if( score >= 0 ){
System.out.println("不及格!");
} }
}
二.switch语句
1>.语法格式
switch(表达式或变量){
case 取值1:
语句体1;
break;
case 取值2:
语句体2;
break;
…
default:
语句体n+;
break;
}
2>.流程图
3>.案例展示
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class WeekJudge{
public static void main(String[] args){
/*
从键盘输入一个1~7之间的数字,输出这个数字对应星期几。
*/ Scanner Input = new Scanner(System.in); System.out.print("请输入一个1~7之间的数字");
int num = Input.nextInt(); String weekday ; //这里声明一个变量是用来保存数字对应的星期几 /**
//用if语句实现:
if( num == 1 ){
weekday = "星期一";
}else if ( num == 2 ){
weekday = "星期二";
}else if ( num == 3 ){
weekday = "星期三";
}else if ( num == 4 ){
weekday = "星期四";
}else if ( num == 5 ){
weekday = "星期五";
}else if ( num == 6 ){
weekday = "星期六";
}else if ( num == 7 ){
weekday = "星期日";
}else {
weekday = "你输入的数字不合法";
}
*/ //用switch语句实现:
switch( num ){
case :
weekday = "星期一";
break;
case :
weekday = "星期二";
break;
case :
weekday = "星期三";
break;
case :
weekday = "星期四";
break;
case :
weekday = "星期五";
break;
case :
weekday = "星期六";
break;
case :
weekday = "星期日";
break;
default:
weekday = "你输入的数字不合法";
}
System.out.println( weekday); }
}
4>.case的穿透
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class Quarter{
public static void main(String[] args){
/*
从键盘输入月份数字,显示是第几个季度
*/
Scanner s = new Scanner(System.in);
System.out.print("请输入月份:");
int month = s.nextInt(); switch(month){
case :{}
case :{}
case :{
System.out.println(month + "属于第一季度");
break;
}
case :{}
case :{}
case :{
System.out.println(month + "属于第二季度");
break;
}
case :{}
case :{}
case :{
System.out.println(month + "属于第三季度");
break;
}
case :{}
case :{}
case :{
System.out.println(month + "属于第四季度");
break;
}
default :{
System.out.println("输入的月份有误");
break;
}
} }
}
5>.switch语句注意事项
a>.switch语句表达式的类型有:byte,short,int,char,String(1.7之后才支持)和枚举类型;
b>.case之间与default没有顺序:case相当于入口点,没有匹配的case将执行default,default也不是必须的;
c>.结束switch语句的情况:遇到break或执行到switch语句结束;
d>.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾;
e>.case 后面必须跟的是常量表达且各个case常量值不能重复。
三.小试牛刀
1>.计算当前的时间
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class CurrentTime{
public static void main(String[] args){
/*
使用System.currentTimeMillis() 计算当前时间;System.currentTimeMillis() 可以
返回当前时间与协调世界时 1970 年 1 月1 日物业之间的时间。
*/ long sumMillis = System.currentTimeMillis(); //把1970.1.1午夜的毫秒数保存到一个变量中 long sumSeconds = sumMillis/1000; //总的秒数 long currentSecond = sumSeconds%60; //当前的秒数 long sumMinutes = sumSeconds / 60; //总的分钟数 long currentMinute = sumMinutes % 60; //当前的分钟数 long sumHours = sumMinutes / 60; //总的小时数 long currentHour = sumHours % 24; //当前的小时数 long beijingHour = (currentHour + 8) % 24; //计算北京的时间,注意,UTC时间和北京时间有时差为8小时。 System.out.println(beijingHour + ":" + currentMinute + ":" + currentSecond); }
}
2>.甲计算两个点的距离
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ import java.util.Scanner; public class PointDistance{
public static void main(String[] args){
/*
从键盘上输入两个点的坐标,计算这两个点的距离,Math.pow(a,b)返回a的b次方
*/
Scanner Input = new Scanner(System.in);
System.out.print("请输入第一个点的坐标:>>>");
int x1 = Input.nextInt();
int y1 = Input.nextInt();
System.out.print("请输入第二个点的坐标:>>>");
int x2 = Input.nextInt();
int y2 = Input.nextInt(); int temp = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2); double distance = Math.pow( temp,0.5 ); System.out.println("这两个点的距离为:" + distance ); }
}
3>.
Java基础-程序流程控制第一弹(分支结构/选择结构)的更多相关文章
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Java 基础 程序流程控制 (下)
Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...
- Java 基础 程序流程控制 (上)
Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...
- 【java从入门到精通】day08-java流程控制-用户交互Scanner--顺序结构--选择结构
1.java流程控制 Scanner对象: Java提供了一个工具类,可以获取用户的输入 java.until.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语 ...
- Java基础总结--流程控制
Java流程控制* 顺序结构--最常见的执行情况,语句按照出现的先后次序依次执行.* 判断结构--对条件进行判断,执行相应的语句.有三种常见的形式< if(判断条件){语句;}--为真执行语句, ...
- Java基础之流程控制
一.顺序结构 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. if-else-if 语句 语法: if(条件){ 当条件为true时,执行大括号内的代码 }el ...
- Java基础-6流程控制
一).选择控制: 选择控制分为两种:if...else...和switch 单分支结构:这是最简单的一种选择结构,它只是简单的判断某个条件是否成立,如果成立就执行一段代码,语句形式为: if(条件表达 ...
- java之程序流程控制
顺序结构:代码由上至下依次执行: 分支结构: if () { } else{ } if () { } else if () { } else { } switch(常量){ case 常量: 语句; ...
- Java程序流程控制之if-else if-else
java基础之流程控制(一) 流程控制 Flow Control : 流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句. 本讲内容包括分支语句 ...
随机推荐
- HTML基础学习总结
一.HTML的一些基本描述 全称:Hyper Text Markup Language 定义:超文本标记语言,是标记语言而不是编程语言,使用标记标签来描述网页,所以也被称为网页 格式:标签对里面放纯文 ...
- android学习-1
所有的android应用都是由屏幕构成的一个集合,每个屏幕则由一个活动和一个布局组成. 活动--用户可以完成的一个确定的事. 布局--对屏幕外观的描述.(布局写为一个XML文件,回告诉android如 ...
- 《JavaScript》数组Array
构造函数 var arr1 = new Array();// [] 空数组 var arr2 = new Array(3);//定义长度,0是空数组 var arr3 = new Array(1,2, ...
- HDU 2123 An easy problem
http://acm.hdu.edu.cn/showproblem.php?pid=2123 Problem Description In this problem you need to make ...
- [转帖] dd 命令图解
dd命令-->dd是disk dump的缩写,指定大小的块拷贝一个文件,同时进行指定的转换,起到一个初始化磁盘的作用 https://blog.csdn.net/jerry_1126/arti ...
- node 加密音频文件 和 解密音频文件
fs.readFile('./downsuccess/'+name+'', {flag: 'r+', encoding: ''}, function (err, data) { c ...
- document.execCommand & contenteditable
document.execCommand & contenteditable https://developer.mozilla.org/zh-CN/docs/Web/API/Document ...
- Spring点滴四:Spring Bean生命周期
Spring Bean 生命周期示意图: 了解Spring的生命周期非常重要,我们可以利用Spring机制来定制Bean的实例化过程. -------------------------------- ...
- 【BZOJ1079】【SCOI2008】着色方案
Time Limit: 10 Sec Memory Limit: 162 MB Description 有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci ...
- 【专题】字符串专题小结(AC自动机 + 后缀自动机)
AC自动机相关: $fail$树: $fail$树上以最长$border$关系形成父子关系,我们定一个节点对应的串为根到该节点的路径. 对于任意一个非根节点$x$,定$y = fa_{x}$,那$y$ ...