java学习笔记(5)控制语句、键盘输⼊控制语句:
java控制可以分为7种:
*控制选择结构语句:
*if if else
*switch
*控制循环结构语句:
*for
*while
*do while
*改变控制语句顺序:
*break
*continue
if控制语句:
/*
关于java语⾔当中的if语句,属于选择结构,if语句⼜被称为分⽀语句/条件控制语句;
1、if语句的运发结构:包含4中编写⽅式
第⼀种:
if(布尔表达式){java语句;...};
第⼆种:
if(布尔表达式){
java语句;...
}else{
java语句;...
}
第三种:
if(布尔表达式){
java语句;...
}else if(布尔表达式){
java switch case stringjava语句;...
}...
第四种:
if(布尔表达式){
java语句;...
}else if(布尔表达式){
java语句;...
}else{
java语句;...
}
重点:只要有⼀个if分⽀执⾏,整个if语句结束;
注意:所有控制语句都是可以互相嵌套的。
注意:嵌套使⽤的时候,代码格式要保证完美。
注意:if语句中,只有⼀条java语句的话,⼤括号可以省略;
if(true/false){java语句;}
if(true/false) java语句;//但是不推荐使⽤,这种代码风格不好。不容易看清。
*/
public class ifTest01{
public static void main(String[] args){
// 需求,所在位置的5公⾥范围内有肯德基的话,去KFC吃午饭。
// 公⾥数
double distance = 6.0;//单位KM
// 判断语句
if(distance<=5){
System.out.println("⾛着去KFC吃午饭");
}else if(distance<=7.0&&distance>5){
System.out.println("跑着去KFC吃午饭");
}else{
System.out.println("在附近吃别的");
}
}
}
接收⽤户键盘输⼊:
/*
System.out.println() 负责向控制台输出,【从内存到控制台,输出的过程,这是从内存中出来了】接收⽤户键盘输⼊,从"键盘"到"内存"。【输⼊的过程,到内存汇总去】
*/
public class ifTest01{
public static void main(String[] args){
// 创建键盘扫描器对象
java.util.Scanner s = new java.util.Scanner(System.in);
// 第⼆部:调⽤Scanner对象的next()⽅法开始接收⽤户键盘输⼊
// 程序执⾏到这⾥,会停下来,等待⽤户输⼊
// 当⽤户输⼊的时候,并且最终敲回车键的时候,键⼊的信息会⾃动赋值给userInputContent // 程序执⾏到这⾥,⽤户输⼊的信息已经到内存中了
// 接收⽂本【以字符串的形式接收】
// String userInputContent = s.next();
// 将内存中的数据输出到控制台
// System.out.println("您输⼊了:"+userInputContent);
// 接收数字【以整数型的形式接收】
int num = s.nextInt();
System.out.println("您输⼊的数字是:"+num);
}
}
/*
if控制语句练习:
需求:假设系统给定⼀个⼈的年龄(这个年龄需要从键盘输⼊),
根据年龄来判断这个⼈处于⽣命的哪个阶段。年龄必须在[0-150]
[0-5]幼⼉
[6-10]少⼉
[11-18]青少年
[19-35]青年
[36-55]中年
[56-150]⽼年
*/
public class ifTest01{
public static void main(String[] args){
// 1、接收键盘输⼊:年龄【输⼊的时候必须输⼊数字】
// 创建键盘扫描器对象
java.util.Scanner s = new java.util.Scanner(System.in);
// 提⽰信息
System.out.println("请输⼊您的年龄");
int age = s.nextInt();//停下来等待⽤户输⼊,回车后赋值给age,然后往下执⾏
System.out.println("age="+age);
// 2、根据需求进⾏业务逻辑判断
String str = "⽼年";
if( age < 0 || age > 150 ){
str = "您提供的年龄不合法,年龄需要在[0-150]";
}else if(age <= 5){
str = "幼⼉";
}else if(age <= 10){
str = "少⼉";
}else if(age <= 18){
str = "青少年";
}else if(age <= 35){
str = "青年";
}else if(age <= 55){
str = "中年";
}else if(age <= 105){
str = "⽼年";
}
System.out.println("您处于⽣命周期的"+str+"阶段");
}
}
/*
if控制语句练习:需求
判断当前的天⽓:
当外边下⾬的时候:
带⾬伞:
男⽣:带⼀把⼤⿊伞
⼥⽣:带⼀把⼩⿊伞
当外边晴天的时候:
判断天⽓的温度:
当温度在30度以上:
男⽣:戴墨镜
⼥⽣:搽防晒霜
提⽰:
1、⼀定要⽤到嵌套
2、天⽓状况、性别、温度都需要从键盘输⼊
天⽓状况:1表⽰下⾬、0表⽰晴天
性别:1表⽰男、0表⽰⼥
温度直接⽤数字表⽰即可
*/
public class ifTest01{
public static void main(String[] args){
java.util.Scanner s= new java.util.Scanner(System.in);
System.out.println("欢迎使⽤本系统,您通过本系统可以完成⼀些简单的判断"); System.out.println("说明1:1表⽰男、0表⽰⼥");
System.out.println("说明2:1表⽰下⾬、0表⽰晴天");
System.out.println("说明3:⽤数字表⽰温度");
// 接收性别
System.out.println("请输⼊性别:");
int sex = s.nextInt();
// 接收天⽓状况
System.out.print("请输⼊当前天⽓:");
int weather = s.nextInt();
// 判断天⽓状况
if(weather == 1){
// 下⾬天
System.out.println("下⾬天");
if(sex == 1){
System.out.println("带⼀把⼤⿊伞");
}else if(sex == 0){
System.out.println("带⼀把⼩花伞");
}else{
System.out.println("请输⼊正确的性别");
}
}else if(weather == 0){
//晴天
System.out.println("晴天");
/
/ 接收温度
System.out.println("请输⼊温度:");
int tem = s.nextInt();
if(tem > 30){
if(sex == 1){
System.out.println("带墨镜");
}else if(sex == 0){
System.out.println("查防嗮爽");
}else{
System.out.println("请输⼊正确的性别");
}
}else{
System.out.println("今天天⽓良好,可以⾃由出⾏");
}
}else{
System.out.println("您输⼊的天⽓有误,需要输⼊1或者0");
};
}
}
switch语句
/*
关于switch语句:
1、switch语句也属于选择结构,也属于分⽀语句
2、switch语句的语法结构
⼀个完整的switch语句应该这样编写:
switch(int或String类型的字⾯值或变量){
case int或String类型的字⾯值或变量:
java语句;
...
break;
case int或String类型的字⾯值或变量:
java语句;
...
break;
default :
java语句;
...
};
3、switch语句执⾏原理:
switch后⾯⼩括号当中的"数据"和case后⾯的"数据",进⾏⼀⼀匹配,匹配成功的分⽀执⾏。
按照从上到下的顺序依次匹配。
4、匹配成功的分⽀执⾏,分⽀当中最后有break语句,整个switch语句终⽌。
5、匹配成功的分⽀执⾏,分⽀当中最后没有break语句的话,直接进⼊下⼀个分⽀执⾏(不进⾏匹配)。
这种现象被称为case穿透现象。【提供break;语句可以避免穿透】
6、所有分⽀如果都没有匹配成功,如果有default语句的话,会执⾏default分⽀当中的语句。
7、switch后⾯和case后⾯只能是int或String类型的数据,不能探测其它类型!
*当然,byte、short、char也可以直接写到switch和case后⾯,因为他们可以进⾏⾃动类型转换。
byte、short、char可以⾃动转换为int类型。
*JDK6版本的话,switch和case后⾯只能探测int类型。
*JDK7以后版本包括JDK7版本,引⼊新特性,switch和case后⾯可以探测int或String类型的数据。
8、case可以合并:
int i = 10;
switch(i){
case 1: case 2: case 3: case 10:
java语句;
.
..
break;
default:
java语句;
}
*/
public class Switch01{
public static void main(String[] agrs){
/*类型错误
long a = 100L;
int b = a;
*/
// 和上⾯的报错原因相同
// long x = 100L;
// switch(x){}
// 解决编译错误
long x = 100L;
switch((int)x){};
byte b = 10;
switch(b){};
short s = 20;
switch(s){};
char c = 'A';
switch(c){};
char cc = 97;
switch(cc){};
// switch(true){}; 编译错误不兼容的类型⽆法转换为int
String username = "张三";
switch(username){};
/*
较完整的switch语句
*/
// 接收⽤户的输⼊:
/
/ 输⼊1:星期⼀
// 输⼊2:星期⼆
// ...
// 输⼊7:星期⽇
java.util.Scanner o = new java.util.Scanner(System.in);
System.out.print("请输⼊数字1-7:");
int num = o.nextInt();
switch(num){
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("您输⼊的啥都不是");
}
System.out.println("======================");
/
/case穿透
switch(num){
case 1:
System.out.println("星期⼀");
// break; 输⼊1、2都会穿透到3的分⽀
case 2:
System.out.println("星期⼆");
// break; 输⼊1、2都会穿透到3的分⽀
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("您输⼊的啥都不是");
};
System.out.println("======================");
//case合并
switch(num){
case 1: case 2: case 3: case 4: case 5:
System.out.println("⼯作⽇");
break;
case 6: case 7:
System.out.println("休息⽇");
break;
default:
System.out.println("您输⼊的啥都不是");
};
}
}
/*
switch确实可以探测String类型,这是java7的新特性。
*/
public class Switch01{
public static void main(String[] agrs){
java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输⼊汉字的星期⼏:");
String str = s.next();
switch(str){
case "星期⼀":
System.out.println(1);
break;
case "星期⼆":
System.out.println(2);
break;
case "星期三":
System.out.println(3);
break;
case "星期四":
System.out.println(4);
break;
case "星期五":
System.out.println(5);
break;
case "星期六":
System.out.println(6);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论