栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaEE-Day05

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaEE-Day05

一、键盘录入数据 (一)概念

在写程序的过程中,想让程序更加灵活,使用Scanner类

jdk提供的这个类,作用 :“一个简单的文本扫描器”

(二)操作步骤 1、导包 import(关键字)

​ java.util.Scanner ; 格式必须class类上面

需要在我当前的代码中使用jdk提供的这个类Scanner

2、创建一个文本扫描器对象 (键盘录入对象)

​ 固定格式:Scanner 对象名(自己起名字) = new Scanner(System.in) ;

3、输入提示

​ System.out.println(“请您输入一个数据:”) ;

​ 表示录入的是int类型数据

​ int 接收的变量名 = 对象名.nextInt() ; //nextInt() ;键盘录入Scanenr的方法

4、接收变量名并输出 (三)练习

键盘录入一个整数,并打印输出

//导包1)
import java.util.Scanner ;

class ScannerDemo{
	
	public static void main(String[] args){
		//2)创建一个文本扫描器对象 (键盘录入对象)
		//固定格式
		//Scanner 对象名(自己起名字)  = new Scanner(System.in) ;
		Scanner sc = new Scanner(System.in) ;
		
		//3)友情提示并录入int类型数据
		System.out.println("请您输入一个数据(int):") ;
		//int 接收的变量名 = 对象名.nextInt() ;
		int a = sc.nextInt() ;
		
		//4)输出下a,看效果
		System.out.println("a的值是:"+a) ;
		
	}
}

键盘录入三个数据,求最大值

//导包
import java.util.Scanner ;
class ScannerTest1{
	
	public static void main(String[] args){
		
		
		//创建键盘录入对象
		//Scanner 对象名(名称而已) = new Scanner(System.in) ;
		Scanner sc = new Scanner(System.in) ;
		
		//提示并录入数据
		System.out.println("请您输入第一个数据:") ;
		int a  = sc.nextInt() ;
		
		System.out.println("请您输入第二个数据:") ;
		int b  = sc.nextInt() ;
		
		System.out.println("请您输入第三个数据:") ;
		int c  = sc.nextInt() ;
			
		//操作:
		//方式1:中间第三方变量的方式(推荐)
		//定义中间变量
		int temp = (a>b)? a: b;
		int max = (temp>c)? temp : c ;
		System.out.println("三个数据中的最大值是:"+max) ;
		
		System.out.println("-----------------------------") ;
		//方式2:三元运算符的嵌套(不推荐)
		
		int max2 = (a>b)?((a>c)?a:c):((b>c)?b:c) ;
		System.out.println("三个数据中的最大值是:"+max2) ;
		
	}
}

键盘录入两个数据,比较两个数据是否相等

//导包
import java.util.Scanner ;
class ScannerTest2{
	
	public static void main(String[] args){
		
		//创建键盘录入数据对象
		Scanner scanner = new Scanner(System.in) ;
		
		
		//提示并录入数据
		System.out.println("请您输入第一个数据:") ;
		int m = scanner.nextInt() ;
		
		System.out.println("请您输入第二个数据:") ;
		int n = scanner.nextInt() ;
		
		
		//比较两个数据是否相等
		
		//boolean flag = (m==n)? true: false ;
		
		//继续优化:==本身就比较
		boolean flag = m==n ;
		System.out.println(flag) ;	
		
	}
	
}
二、流程控制语句 (一)顺序结构语句

顺序结构语句 :代码由上而下依次加载(从刚开始写HelloWorld时候,就是顺序结构语句)

class ShunXuDemo{
	
	//main方法---需要被jvm调用,程序的入口
	public static void main(String[] args){
		
		System.out.println("程序开始了……") ;
		
		System.out.println("HelloWorld") ;
		
		System.out.println("程序结束了……") ;
		int i = 100 ;
		System.out.println("over"+i) ;
	}
}
(二)选择结构语句if

针对if语句来说,注意事项,

  • if后面有左大括号的地方不能有分号;有分号;的地方不能有{ 左大括号

  • 在方法定义中书写—{} 局部代码块,限定局部变量的生命周期

1、if 语句格式1

执行流程:当前条件表达式成立——执行语句;否则不成立——不执行语句

//导包
import java.util.Scanner ;
class IfDemo{
	
	public static void main(String[] args){
		
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in) ;
		
		//提示并录入数据
		System.out.println("请您输入一个数据x的值:") ;
		int x = sc.nextInt() ;
		
		if(x>=10 && x<=20){
			System.out.println("x在10和20之间,x为:"+x) ;
		}
			
		if(x<10){
			System.out.println("x小于10,x为:"+x) ;
		}
		
		System.out.println("over") ;
	}
}
2、if 语句格式2

执行流程:判断表达式是否成立,如果成立——执行语句1;如果不成立——执行语句2

应用场景:针对两种情况进行判断

//导包
import java.util.Scanner ; 
class IfDemo3{
		
		public static void main(String[] args){			
			//创建键盘录入对象
			Scanner sc = new Scanner(System.in) ;	
            //比较录入数据是否大于10
			//提示并录入数据
			System.out.println("请你输入一个数据:") ;
			int num  = sc.nextInt() ;			
			//if格式2
			if(num>=10){
				System.out.println("num大于或者等于10,值是"+num) ;
			}else{
				System.out.println("num小于10,值是"+num) ;
			}			
			System.out.println("Over...") ;			
			System.out.println("----------------------------------------") ;
			
			//比较两个数据中的最大值
			//提示并录入数据
			System.out.println("请你输入第一个数据:") ;
			int a  = sc.nextInt() ;
			
			System.out.println("请你输入第二个数据:") ;
			int b  = sc.nextInt() ;
				
			//定义结果变量
			int max ;
			if(a>b){
				//System.out.println("最大值是"+a) ; //输出语句
				max = a ; //将a赋值max
			}else{
				max = b ; //将b赋值max
			}
			
			System.out.println("两个数据中的最大值是:"+max) ;
			
		}
}
3、if 语句格式3

执行流程:

判断表达式1是否成立,如果成立,则执行语句1;

如果不成立,继续判断表达式2是否成立,如果成立,执行语句2;

如果表达式2不成立,继续判断表达式3是否成立,如果成立,执行语句3
………

如果上面的条件表达式都不成立,则执行else中的语句n…

//导包
import java.util.Scanner ;
class IfDemo2{
	
	public static void main(String[] args){
			
			//创建键盘录入对象
			Scanner sc = new Scanner(System.in) ;
			
			//提示并录入数据
			System.out.println("请您输入学生的成绩:") ;
			int socre = sc.nextInt() ;
			if(socre>100 || socre<0){
				//错误数据提示
				System.out.println("对不起,非法数据!") ;
			}else if(socre>=90 && socre<=100){
				System.out.println("成绩优秀") ;
			}else if(socre>=80 && socre<90){
				System.out.println("成绩较好") ;
			}else if(socre>=70 && socre<80){
				System.out.println("成绩良好") ;
			}else if(socre >=60 && socre<70){
				System.out.println("成绩及格") ;
			}else{
				System.out.println("不及格") ;
			}
	}
}
(三)选择结构语句switch 1、格式
switch(表达式){
			case 值1:
				语句1;
				break ;
			case 值2:
				语句2;
				break ;
			...
			default:
				语句n;
				break ;
			}
2、执行流程

判断表达式的值和case值1进行匹配,

如果匹配成功——执行语句1,break结束

如果case值1不匹配——继续和case后面的值2进行比较,如果匹配——语句2执行,break结束;

//导包
import java.util.Scanner ;
class SwitchDemo{
	public static void main(String[] args){
		
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in) ;
		
		//提示并录入数据
		System.out.println("请您输入一个数据week:") ;
		int week = sc.nextInt() ;
		switch(week){
		case 1:
			System.out.println("星期一") ;
			break ;
		case 2:
			System.out.println("星期二") ;
			break ;
		case 3:
			System.out.println("星期三") ;
			break ;
		case 4:
			System.out.println("星期四") ;
			break ;
		case 5:
			System.out.println("星期五") ;
			break ;
		case 6:
			System.out.println("星期六") ;
			break ;
		case 7:
			System.out.println("星期日") ;
			break ;
		default :
			System.out.println("对不起,非法数据!") ;
			break ;
		}		
	}
}
3、注意事项
  • case语句后面的值只能是常量(在Java语言中,Java是一个强类型语言:结构和格式是非常严谨的)

  • case语句中的break 必须带上,否则会造成一个现象:case 穿透

  • 由于某个case已经匹配了,此时如果没有break,那么就继续往下面中case的语句进行穿透,依次执行,遇见有case中有break的,那么switch结束!

  • switch的结束条件是什么?

    语句break结束或程序默认执行到末尾!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号