??前面的话??
本篇文章带大家认识Java程序逻辑控制结构,再复杂的程序都是离不开逻辑控制。 本文章除了Java程序的输入,分支结构与循环结构与C语言差不多,只是Java中判断表达式的值必须是boolean 类型。不过Java中没有goto ,目前仅仅作为保留字。 参考博主历史博文(非常详细):C语言中的选择与轮回,选择结构与循环结构
📒博客主页:未见花闻的博客主页 🎉欢迎关注🔎点赞👍收藏??留言📝 📌本文由未见花闻原创,CSDN首发! 📆首发时间:🌴2021年10月20日🌴 ??坚持和努力一定能换来诗与远方! 💭参考书籍:📚《Java核心技术卷1》,📚《Java核心技术卷2》,📚《Java编程思想》 💬参考在线编程网站:🌐牛客网🌐力扣 🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢! 博主的码云gitee,平常博主写的程序代码都在里面。
🍀 🌹 🌻 🌺 🍁
🍀1.Java程序的输入
在Java当中,我们是使用Scanner来进行数据的自定义输入。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.nextLine();
System.out.println(str);
System.out.println("请输入一个整数:");
int a = sc.nextInt();
System.out.println(a);
System.out.println("请输入一个小数:");
double b = sc.nextDouble();
System.out.println(b);
}
请输入一个字符串:
weijianhuawen
weijianhuawen
请输入一个整数:
2
2
请输入一个小数:
3.14
3.14
Process finished with exit code 0
如果需要做多组输入的oj题
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String str = sc.nextLine();
System.out.println(str);
}
}
在编译器中运行,如需正常退出程序,需输入ctrl+D 。
🍀2.Java程序的分支结构
🌺2.1if…else
🌹分支结构首先想到的就是if 语句了,第一种用法就是单独的if 判断语句。
语法结构
if (布尔表达式)
{
语句;
}
public static void main(String[] args) {
int n = 99;
if (n == 99) {
System.out.println(99);
}
}
🌹第二种用法就是单if…else分支结构。
语法结构
if (布尔表达式)
{
语句1;
}
else
{
语句2;
}
public static void main(String[] args) {
int n = 99;
if (n == 99) {
System.out.println(99);
}else {
System.out.println(88);
}
}
🌹第三种用法就是多if…else if…else…分支结构。
语法结构
if (布尔表达式1)
{
语句1;
}
else if (布尔表达式2)
{
语句2;
}
...
else
{
语句n;
}
public static void main(String[] args) {
int n = 99;
if (n == 99) {
System.out.println(99);
}else if (n == 98) {
System.out.println(98);
}else if (n == 97) {
System.out.println(97);
} else {
System.out.println(88);
}
}
🌹例题 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
public static void main1(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int age= scan.nextInt();
if (age <= 18) {
System.out.println("少年!");
}else if (age <= 28) {
System.out.println("青年!");
}else if (age <= 55){
System.out.println("中年!");
}else {
System.out.println("老年!");
}
}
}
当然Java当中也支持嵌套分支语句,不过要注意使用嵌套结构需要注意if 与else 的配对关系。else 总是与它上面的最近的未配对的if 配对。所以在写分支与循环语句时,不论几句都应该加上花括号。
🌺2.2switch
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
注意事项1 break 不要遗漏, 否则会失去 “多分支选择” 的效果。 注意事项2 switch 中的值只能是 整数|枚举|字符|字符串。 注意事项3 switch 不能表达复杂的条件,如分支循环结构中使用的复合判断语句。 注意事项4 switch 虽然支持嵌套, 但是很丑。
public static void main(String[] args) {
int day = 3;
switch (day) {
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;
}
🌹例题 Java中switch语句表达式不支持哪些数据类型? long,double,float,boolean及其包装类。
🍀3.Java程序的循环结构
🌺3.1while循环
while(循环条件){
循环语句;
}
循环条件为 true, 则执行循环语句; 否则结束循环. 🌹例题 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
public static void main7(String[] args) {
int n = 100;
double sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
sum += 1.0 / i;
}else {
sum -= 1.0 / i;
}
}
System.out.println(sum);
}
🌺3.2for循环
for(表达式1;表达式2;表达式3){
循环体;
}
表达式1: 用于初始化循环变量. 表达式2: 循环条件. 表达式3: 更新循环变量.
🌹执行顺序: 表达式1 -> 表达式2 -> 循环体语句 -> 表达式3.
🌹例题 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
public static void main8(String[] args) {
int n = 100;
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (i % 10 == 9) {
cnt++;
}
if (i / 10 == 9) {
cnt++;
}
}
System.out.println(cnt);
}
当然,循环也支持嵌套。
🌺3.3do…while循环
do{
循环语句;
}while(布尔表达式);
int num = 12;
do {
System.out.println(num);
num++;
} while (num <= 10);
循环至少执行一次,使用的场景有限,所以不是经常使用。
🌺3.4break与continue
名称 | break | continue |
---|
作用 | 使流程跳到循环体之外,接着执行循环体下面的语句。 | 结束本次循环,即跳过循环体中下面尚未执行的语句,如果是for循环,转到循环体结束点之前,接着执行for语句中的“表达式3”,然后进行下一次是否执行循环的判定。 | 注意 | break语句只能用于循环语句和switch语句之中,而不能单独使用。 | continue语句只能用于循环语句之中,而不能单独使用。 |
continue 语句只结束本次循环,而非终止整个循环。break 语句结束整个循环,不再判断执行循环的条件是否成立。
🌹留给读者的一道题:
🍁使用Java语言实现简单的猜数字游戏。🍁
觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!
|