java入门学习总结_03
1、键盘录入
2、分支结构
键盘录入
概述
1、键盘录入:在程序运行的过程中,可以让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程中,可以使用这些数据。
2、步骤:
第一步:导包,在类声明的上面,import java.util.Scanner;
第二步:创建键盘录入对象,Scanner sc = new Scanner(System.in);
第三步:调用sc对象的nextInt方法,获取键盘录入的整数
int x = sc.nextInt();(next接着基本类型:如nextDouble()等)
第四步:使用x后续处理
代码示例
//导包 import java.util.Scanner; class Demo_1 { //键盘录入 public static void main(String[] args) { // 创建键盘录入对象 Scanner sca_12 = new Scanner(System.in); //调用对象中的nextInt() 方法 int a = sca_12.nextInt(); int b = sca_12.nextInt(); System.out.println(a*b); } }
练习1
键盘录入两个整数,计算两个整数的和
代码示例
练习2
键盘录入三个整数,输出三个整数的最大值
代码示例
import java.util.Scanner; class Demo_2 { public static void main(String[] args) { //键盘录入三个整数,输出三个整数的最大值 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(); // int abMax = a > b ? a : b; // int max = abMax > c ? abMax : c;三目运算符的一种用法 int max = (a > b ? a : b) > c ? (a > b ? a : b) : c; System.out.println("三个整数的最大值为:"+max); } }
练习3
键盘录入一个整数,判断该数字的奇偶
例如,输出:该数字是25,是一个奇数
代码示例
import java.util.Scanner; class Demo_3 { public static void main(String[] args) { //键盘录入一个整数,判断该数字的奇偶 Scanner sc = new Scanner(System.in); System.out.println("请输入一个数字"); int a = sc.nextInt(); //String str = a % 2 == 1 ? "奇数" : "偶数" ; String str = a % 2 == 0 ? "偶数" : "奇数" ; System.out.println(a+"是"+str); } }
分支结构
流程控制
1、在一个程序中,有很多的代码,代码的执行顺序,就是流程。
2、用于控制代码流程的方式,就是流程控制 就是控制代码的执行顺序
3、流程控制的分类:
顺序结构:代码从上到下,从左到右依次执行(重点)
分支结构:到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。(重点)
循环结构:某段代码相同或者相似,使用相同的逻辑。使用一定的格式,来完成相同代码的反复执行。代码写的少,程序运行次数多。(重点)
分支结构概述
1、到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。
2、实现格式:
if语句:if是如果的意思,满足了这种条件,才能执行相应的代码,实现不同的逻辑
if
if...else
if...else if...else if....else
switch语句:根据某个变量的值,判断符合哪种执行条件
if语句的第一种格式
1、格式:
if (布尔表达式) {
语句体;
}
2、说明:
1、if语句后面跟着的小括号,里面必须是boolean类型的值;if语句后面的小括号中,只要是计算结果为boolean类型,就合法(合法不代表就有意义)
2、语句体,可以是任意操作
3、执行流程:
1、计算布尔表达式的值,要么为true、要么为false
2、如果计算结果为true,执行语句体
3、如果计算结果为false,就不执行语句体
说明只有布尔表达式结果为true才会执行判断语句{ }里面的代码
代码示例
import java.util.Scanner; class Demo_5 { public static void main(String[] args) { //if语句的第一种格式 // if (布尔表达式){ 语句体; } Scanner sc = new Scanner(System.in); int aa = sc.nextInt(); if (aa> 10) { System.out.println(4); int a = 1; a++; System.out.println(a); if(false){ System.out.println("我是里面的if语句"); } } System.out.println("if语句管不到我"); } }
If语句的注意事项
1、if后面跟着的小括号里面,必须是boolean的值
2、if后面跟着的小括号里面,只要计算结果为boolean类型,就算合法
3、在小括号后面不要加分号,一般来说,有左大括号,就没有分号,有分号,就没有左大括号
4、语句体:可以是任意语句。如果语句体只有一句,那么大括号可以省略。但是建议所有情况都加上大括号,不要省略
代码示例
class Demo_6 { public static void main(String[] args) { //if语句的注意事项 if(true/*只能写true 或者false ,表达式的值的结果类型为boolean*/){ System.out.println(1); } boolean b = false; if(b = true){ System.out.println(b); } if(b = false)/*;不能加分号*/{ System.out.println(";"+b); } // System.out.println("---------"); if(b = true) //if语句中如果只有一行代码,可以省略大括号,但是不建议大家省略 System.out.println(b); System.out.println("if你能管到我吗"); } }
if语句的第二种格式
1、格式:
if (条件表达式) {
语句体1;
} else {
语句体2;
}
2、说明:
1、是否有某种情况,可以语句体1和语句体2都不执行?不可能,else就已经包含了if不满足的所有状态
2、是否有某种情况,可以让语句体1和语句体2都执行?不可能,因为只要语句体1执行了,if语句就直接结束了
3、只能执行其中的一句,并且一定会执行其中一句
3、执行流程:
1、计算条件表达式的值,要么是true、要么是false
2、如果条件表达式的值为true,执行语句体1
3、如果条件表达式的值为false,执行语句体2
代码示例
import java.util.Scanner; class Demo_7 { public static void main(String[] args) { //if语句的第二种格式 /*if(布尔表达式){ 语句体1 }else { 语句体2 }*/ System.out.println("请输入你的年龄"); Scanner sc = new Scanner(System.in); int age = sc.nextInt(); //先判断表达式的结果,如果为true执行语句体1 //如果为false执行语句体2 //思考:有没有可能语句体1和语句体2.都执行,或都不执行? if(age >= 18){ //语句体1; System.out.println("可以观看此电影"); }else{ //else 其他的,已经包含了不满足if判断的其他的所有情况 //语句体2; System.out.println("未成年人禁止观看"); } //if ....else至少要执行一个语句体 } }
if语句的第三种格式
1、格式:
if (条件表达式1) {
语句体1;
} else if (条件表达式2) {
语句体2;
} else if (条件表达式3) {
语句体3;
}
...
} else if (条件表达式n) {
语句体n;
} else {
语句体n+1;
}
2、执行流程:
1、计算条件表达式1,如果为true,就执行语句体1,if语句结束
2、如果条件表达式1为false,计算条件表达式2,如果为true,就执行语句体2,if语句结束
3、如果条件表达式2位false,就计算条件表达式3.......
4、如果条件表达式1~条件表达式n全都为false,那么就执行语句体n+1
3、说明:
1、如果条件表达式2计算结果为true,执行语句体2(其实这个条件的完整版本:条件表达式1不满足,并且条件表达式2满足)
2、最后的else语句可以有也可以没有,如果有,就一定有执行的内容,如果没有就可能什么都执行不了
3、语句体1~语句体n+1是否有可能执行两句或者两句以上?不可能,只要其中一条语句执行了,if语句就结束了
4、语句体1~语句体n+1是否有可能一句都不执行?两种情况,如果没有else语句,就可能一个语句体都不执行;如果有else语句,就一定会执行其中的一句。
代码示例
import java.util.Scanner; class Demo_8 { public static void main(String[] args) { //if语句的第三种格式 /*if(布尔表达式1){ 语句体1; }else if(布尔表达式2){ 语句体2; }else if(布尔表达式3){ 语句体3; }else if(布尔表达式4){ 语句体4; }....... else if(布尔表达式n){ 语句体n; }else{ 语句体n+1; }*/ Scanner sc = new Scanner(System.in); System.out.println("选择你心仪的战队"); int a = sc.nextInt(); if(a == 1){ System.out.println("I like RNG"); }else if(a == 2){ System.out.println("I like IG"); }else if(a == 3){ System.out.println("I like FPX"); }else if(a == 4){ System.out.println("I like SKT"); }else if(a == 5){ System.out.println("I like DWG"); }else{//不加else有可能一个语句体都不执行,加上后至少要执行一个语句体 System.out.println("垃圾游戏,我谁都不喜欢"); } } }
switch语句
1、switch:表示英文中的开关,每个条件都像一扇门,开着的,就可以执行,否则就到下一扇门判断。
2、格式:
switch (表达式) {
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
.........
case 常量n:
语句体n;
break;
default:
语句体n+1;
}
3、执行流程:
1、计算表达式的值,分别和各个常量匹配
2、如果和常量1匹配,那么久执行语句体1,break,switch语句就结束了
3、如果和常量1不匹配,那么就判断是否和常量2匹配,如果匹配就执行语句体2,break,switch语句就结束了
4、以此类推,如果常量1~常量n全都没有和表达式的值匹配,那么就执行default中的内容,switch语句结束。
代码示例
import java.util.Scanner; class Demo_9 { public static void main(String[] args) { /* switch (表达式) { case 常量1: 语句体1; break; case 常量2: 语句体2; break; ......... case 常量n: 语句体n; break; default: 语句体n+1; } */ Scanner sc = new Scanner(System.in); System.out.println("请指定一个星期的数字"); 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("星期日"); default ://可以有,也可以没有,和else功能类似 System.out.println("地球上没有你想要星期"); } } }
switch语句的注意事项
1、单词解释:
switch:开关;case:情况;break:破坏、退出;default:默认
2、表达式:
Jdk1.5之前:byte、short、char、int
Jdk1.5:枚举类型
Jdk7:String
3、case后面只能跟常量,不能跟变量
4、每个case的语句体后面,一定要跟上一个break语句,否则就无法结束switch语句,并且发生case穿透。Case穿透的利用:多个情况如果是相同的执行逻辑,那么就可以使用case穿透。
5、Default语句:可以写也可以不写。如果不写,就有可能一个语句都执行不到。建议把default语句加上。
6、Default语句可以写在任意位置,无论写在什么位置,都是最后去匹配,建议把default语句写在最后。
7、Switch语句结束的条件:碰到了break语句;碰到了右大括号
代码示例
import java.util.Scanner; class Demo_10 { public static void main(String[] args) { //switch语句的注意事项 Scanner sc = new Scanner(System.in); //System.out.println("请指定一个星期的数字"); //int week = sc.nextInt(); //char dou = 'c'; String dou = "ones"; switch( dou/*byte ,short ,char ,int ,String ,(枚举enum) */){ //case 1 : //case 'a' : default ://default语句可以放在任意的位置,无论放在那里都是最后去匹配的 System.out.println("地球上没有你想要星期"); //break;//default方法中间,break不要省,否则发生case穿透问题 case "one" : //case后面只能跟常量不能跟变量 System.out.println("星期一"); break;//break不能省,如果省掉就发生case穿透问题 //case 2 : //case 'b' : case "two" : System.out.println("星期二"); break; //case 3 : //case 'c' : case "three" : System.out.println("星期三"); break; //case 4 : //case 'd' : case "four" : System.out.println("星期四"); break; //case 5 : //case 'e' : case "five" : System.out.println("星期五"); break; //case 6 : //case 'f' : case "six" : System.out.println("星期六"); break; //case 7 : //case 'g' : case "seven" : System.out.println("星期日"); } } } // 3,4,5, 春天 ,6,7,8,夏天,9 , 10 ,11 秋天 12 ,1,2 冬天
If语句和switch语句的区别
1、相同点:if语句和switch语句都可以表达分支结构
2、不同点:
1、if语句格式相对灵活,更加强大,switch语句相对弱小。所有的switch语句都可以被if语句替代。
2、if语句更多的是做一些连续性的判断,而switch语句更多的是做一些离散性的匹配
3、if语句每次都需要获取表达式的值,而switch只获取一次表达式的值,所以相对switch的效率高一些。
代码示例
class Demo_12 { public static void main(String[] args) { //if语句和switch语句区别 //if语句连续性的判断 int i = 60; if(i > 1 && i < 100){ // 1< i<100 System.out.println(i); } switch(j*j){//离散型的匹配 case 1: case 2: case 3: } if(j * j > 10){ }else if(j*j < 10){ } } }
练习
键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级
[90, 100],优秀 大于等于90小于等于100
[80,90),良好 大于等于80小于90
[60, 80),及格
[0, 60),不及格
使用两种方式完成:
1、使用if语句完成
2、使用switch语句完成
代码示例
import java.util.Scanner; class Demo_13 { public static void main(String[] args) { /* 键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级 [90, 100],优秀 大于等于90小于等于100 [80,90),良好 大于等于80小于90 [60, 80),及格 [0, 60),不及格 */ Scanner sc = new Scanner(System.in); System.out.println("请输入学生的成绩"); int score = sc.nextInt(); switch(score / 10){ case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : System.out.println("不及格"); break; case 6 : case 7 : System.out.println("及格"); break; case 8 : System.out.println("良好"); break; case 9 : case 10 : System.out.println("优秀"); break; default: System.out.println("你输入的成绩不合法"); } /* if(score >= 90 && score <= 100){ System.out.println("优秀"); }else if(score >= 80 && score < 90){ System.out.println("良好"); }else if(score >=60 && score < 80){ System.out.println("及格"); }else if(score >=0 && score < 60){ System.out.println("不及格"); }else{ System.out.println("你输入的不是成绩吧"); }*/ } }
java入门学习总结_03的更多相关文章
- Java入门学习路线目录索引
原创 Java入门学习路线目录索引 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/One_ ...
- Java入门学习知识点汇总
Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...
- java 入门学习
想要学习java,首先你要明白java是干嘛的,它有什么吸引之处,懂程序的都应该知道,java是很多计算机语言的根本,无论在什么时代,科技如何更新,java都不会落后,现在的我在学习初级java,下面 ...
- java入门学习笔记之1(类的定义,代码的编译执行)
这篇文章讲解Java代码的基本执行过程 我们先抛开各种JAVA IDE,开发工具,只使用文本编辑器,以突出最本质的东西. 在Linux环境下,我们编辑一个文件: vim HelloWorld.java ...
- java入门--学习地址
发现java很多地方都在用,纠结很久该学python还是java. 目前先已python为主,java可以有初步了解能看懂代码就行. --------------------------------- ...
- java入门学习总结_04
1.循环结构 2.方法 循环结构 概述 1.对于某些需要重复执行的,相同或者相似的语句,使用某种格式来完成对代码的简化. 2.实现的语句: for语句[常用] while语句[常用] do...whi ...
- java入门学习(十一)逻辑运算符和位运算符
请关注我的博客:www.taomaipin.com 家里有急事 暂停了几天,抱歉,现在呢开始说说java的运算语句和运算符 如果想利用java的运算语句 那么就离不开java的运算符,前面第九章讲了j ...
- java入门学习(九) 算术运算符
请大家关注我的博客www.taomaipin.com 运算符在java基础中也占有着举足轻重的位置,我们当然要学会它.java 其实和其他计算机语言一样,基本的算术运算符基本一样,让我们看看 有哪些算 ...
- java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...
随机推荐
- Block pool ID needed, but service not yet registered with NN java.lang.Exception: trace 异常解决
以上为报错信息: 原因大概为:dd和nd关联的versionId不同导致, 解决方案,备份之前的current文件夹,让其自己生成新的.
- PAT 甲级 1059 Prime Factors (25 分) ((新学)快速质因数分解,注意1=1)
1059 Prime Factors (25 分) Given any positive integer N, you are supposed to find all of its prime ...
- Tools - Tcpdump
Tcpdump homepage - tcpdump wiki - tcpdump 常用格式 tcpdump -i eth<网卡号> port <端口号> -s0 -w < ...
- self-attention详解
编写你自己的 Keras 层 对于简单.无状态的自定义操作,你也许可以通过 layers.core.Lambda 层来实现.但是对于那些包含了可训练权重的自定义层,你应该自己实现这种层. 这是一个 K ...
- 如何配置docker仓库
创建文件 /etc/docker/daemon.json,写入国内镜像URL地址 { "registry-mirrors": [ "https://rq5uyt7.mir ...
- react做的react-redux购物车
### 1. 创建项目 create - react - app 项目名(shop) ### 2. 进入项目,下载redux,react-redux cnpm install redux ...
- go context源码解析
go 的context贯穿整个goroutine的运行控制的中枢,可以实现执行的生命周期的控制. Context是一个接口,他派生了context.emptyCtx(TODO),cancelCtx,t ...
- 关于PADS的一些概念和实用技巧(二)
关于PADS的一些概念和实用技巧(二) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 1. 关于制作part 首先在logic中绘制CAE封装,在保存元件时 ...
- 关于verilog实例化的介绍
概念 当我们完成一个比较完整的系统的时候,通常需要编写一个Testbench来验证自己的设计的功能能否满足设计要求.在这个系统中通常会有一个top模块来连接那些小的模块,verilog通过实例化的方式 ...
- 2、head 标签学习
5秒自动刷新 <meta http-equiv="refresh" content="5,url:http://www.baidu.com" /> ...