Java—逻辑控制与输入输出

Java—逻辑控制与输入输出Java 逻辑控制与输入输出 重点总结 java 输入

大家好,欢迎来到IT知识分享网。

各位看官:如果您觉得这篇文章对您有帮助的话
欢迎您分享给更多人哦
感谢大家的点赞收藏评论,感谢您的支持

c74aa267346f4a60b3edbe51bce6243b.png!!!

一.顺序结构:

我每天起床,躺在床上玩手机,然后吃中午饭,睡觉,打游戏,吃饭,打游戏,睡觉(这个就是顺序结构,顺序结构比较简单,按照代码书写的顺序一行一行执行。


二:分支结构:

1.if语句

语法一:

if
(
布尔表达式
) {          里面只能是布尔表达式
//
语句
}
语法二

if
(
布尔表达式
1
){
//
语句
1
}
else if
(
布尔表达式
2
){
//
语句
2
}
else
{
//
语句
3
}

一个小问题:

int
x
=
20
;
if
(
x
==
10
);   这个分号多余了,导致了接下来的打印没有条件控制
{
System
.
out
.
println
(
“hehe”
);
}
//
运行结果
hehe

此处多写了一个分号, 导致分号成为了 if 语句的语句体, { } 中的代码已经成为了和一个 if 无关的代码块

小练习:

判断一个年份是否为闰年
 public static void main(String[] args) { int year = 2000; if (year % 4 == 0&&year % 100 != 0||year % 400 == 0) { System.out.println("是闰年"); }else{ System.out.println("不是闰年"); } }

2.switch语句

switch
(
表达式
){
case
常量值
1
:{
语句
1
;
break
;
}
case
常量值
2
:{
语句
2
;
break
;
}
default
:{
内容都不满足时执行语句
;
break
;
}
}

注意事项1:
  • 多个case后的常量值不可以重复
  • switch的括号内只能是以下类型的表达式:
  • 基本类型:bytecharshortint,注意不能是long,float,double类型
  • 引用类型:String常量串、枚举类型
  • break不要漏掉
String类型我讲述一下:

public static void main(String[] args) { String s = "abc"; switch (s){ case "a" : System.out.println("a"); break; case "abc": System.out.println("就是abc"); break; case "bc": System.out.println("bc"); break; default: System.out.println("没有相同的"); break; }

就是把String类型的变量放进switch的括号内

注意事项二:

switch 不能表达复杂的条件

//
例如
:
如果
num
的值在
10

20
之间
,
就打印
hehe
//
这样的代码使用
if
很容易表达
,
但是使用
switch
就无法表示
.
if
(
num
>
10
&&
num
<
20
) {
System
.
out
.
println
(
“hehe”
);
}
注意事项3:
switch
虽然支持嵌套
,
但是很丑并且看着难受,一般不推荐
~:
int x = 1; int y = 1; switch(x) { case 1: switch(y) { case 1: System.out.println("hehe"); break; } break; case 2: System.out.println("haha"); break; }

Java—逻辑控制与输入输出

综上, 我们发现, switch 的使用条件挺多的

三:循环结构

1:while循环

基本语法格式
:
循环条件只能是boolean类型,
true,
则执行循环语句
;
否则结束循环
.
代码示例
1: 计算
1! + 2! + 3! + 4! + 5! 的值
int
num
=
1
;
int
sum
=
0
;
//
外层循环负责求阶乘的和
while
(
num
<=
5
) {
int
factorResult
=
1
;
int
tmp
=
1
;
//
里层循环负责完成求阶乘的细节
.
while
(
tmp
<=
num
) {
factorResult
*=
tmp
;
tmp
++
;
}
sum
+=
factorResult
;
num
++
;
}
System
.
out
.
println
(
“sum = ”
+
sum
);

这里我们发现, 当一个代码中带有多重循环的时候, 代码的复杂程度就大大提高了. 而比较复杂的代码就更容易出错.
后面我们会采用更简单的办法来解决这个问题

2:break和continue

break:break 的功能是让循环提前结束.

int num = 100; while (num <= 200) { if (num % 3 == 0) { System.out.println("找到了 3 的倍数, 为:" + num); break; } num++; } // 执行结果 找到了 3 的倍数, 为:102

我们找到了,
 break
就会让循环结束
.

continue:continue
的功能是跳过这次循环
,
立即进入下次循环
代码示例
:
找到
100 – 200
中所有
3
的倍数
int num = 100; while (num <= 200) { if (num % 3 != 0) { num++; // 这里的 ++ 不要忘记! 否则会死循环. continue; } System.out.println("找到了 3 的倍数, 为:" + num); num++; }
执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句.

3:for循环

两种遍历数组的方式:
第一种:我们学C的时候普遍用的(java的数组定义和C不太一样,后面的博客我会具体讲解)
int
[]
array
=
new
int
[]{

10
,
20
,
30
,
40
,
50
};
for
(
int
i
=
0
;
i
< 5
;
i
++
){
System
.
out
.
println
(
array
[
i
]);
}

第二种:java提供的 使用 for-each 遍历数组
int
[]
array
=
{

1
,
2
,
3
};
for
(
int
x
:
array
) {         这里for(元素的类型:数组名)
System
.
out
.
println
(
x
);
}
第二种的缺点就是拿不到数组的下标

4:do while循环

特点:先执行一次

先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

例子:打印1~10
int
num
=
1
;
do
{
System
.
out
.
println
(
num
);
num
++
;
}
while
(
num
<=
10
)
【注意事项】
1. do while
循环最后的分号不要忘记
2.
一般
do while
很少用到
,
更推荐使用
for

while.

四:输入输出

1. 输出:

System
.
out
.
println
(
msg
);
// 输出一个字符串
,
带换行
System
.
out
.
print
(
msg
);
// 输出一个字符串
,
不带换行
System
.
out
.
printf
(
format
,
msg
);
//
格式化输出
  • println 输出的内容自带 \n, print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

例如:

System
.
out
.
println
(
“hello world”
);
int
x
=
10
;
System
.
out
.printf
(
“x = %d\n”
,
x
)

2:从键盘输入:

使用
Scanner 类里的方法
读取字符串
/
整数
/
浮点数

import
java
.
util
.
Scanner
;
//
需要导入
util
Scanner sc
=
new
Scanner
(
System
.
in
);
Java中,System.in
是一个预定义的输入流(InputStream),它代表了标准输入流。这个输入流通常对应于键盘输入,但是也可以被重定向,例如从文件或其他输入源读取数据。System.in是Java程序用来从外部(如用户)接收输入的一种方式
sc是Scanner类型的变量,它可以调用Scanner里面的方法
System
.
out
.
println
(

请输入你的姓名:

);
String
name
=
sc
.
nextLine
(); 读取下一行
has.NexLine(检查输入时是否还有下一行)
System
.
out
.
println
(

请输入你的年龄:

);  
int
age
=
sc
.
nextInt
();读取下一个整形
System
.
out
.
println
(

请输入你的工资:

);
float
salary
=
sc
.
nextFloat
();读取下一个浮点数
System
.
out
.
println
(

你的信息如下:”
);
System
.
out
.
println
(

姓名
: “
+
name
+
“\n”
+

年龄:

+
age
+
“\n”
+

工资:

+
salary
);
sc
.
close
();
//
注意
,
要记得调用关闭方法,关闭Scanner对象,释放它所占用的资源
//sc.next()
读取下一个完整的token(一般是单词
//
执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名
: 张三
年龄:
18
工资:
1000
.
0
注意:一般不是读取一行的方法 例如sc.nextInt,会读取用户输入的整数直到遇到空格,换行符,或输入结束,如果用户输入的不是整数,就会抛出异常(和C不一样)

2.1:循环输入

使用
Scanner
循环读取
N
个数字,并求取其平均值(别忘了转换成double类型
Scanner sc = new Scanner(System.in); int sum = 0; int num = 0; while (sc.hasNextInt()) { int tmp = sc.nextInt(); sum += tmp; num++; } System.out.println("sum = " + sum); System.out.println("avg = " +(double) sum / num); sc.close();
注意事项
:
当循环输入多个数据的时候
,
使用
ctrl + z
来结束输入
(Windows
上使用
ctrl + z, Linux / Mac
上使用
ctrl + d).

2.2. 猜数字游戏:

游戏规则
:二分查找的猜
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 “低了”, 如果输入的数字比该随机数大, 提示 “高了” , 如果输入的数字和随机数相等, 则提示 “猜对了
import java.util.Random; import java.util.Scanner;; class Test { public static void main(String[] args) { Random random = new Random(); // 默认随机种子是系统时间 Scanner sc = new Scanner(System.in); int toGuess = random.nextInt(100);//生成随机数1~100(左闭右开) //int toGuess = random.nextInt(20)+10;//生成随机数10~30(左闭右开) // System.out.println("toGuess: " + toGuess); while (true) { System.out.println("请输入要输入的数字: (1-100)"); int num = sc.nextInt(); if (num < toGuess) { System.out.println("低了"); } else if (num > toGuess) { System.out.println("高了"); } else { System.out.println("猜对了"); break; } } sc.close(); } }

Java—逻辑控制与输入输出

上述就是的Java—逻辑控制与输入输出全部内容了,
 欢迎各位大佬评论区留言修正
您的支持就是我最大的力量

​​​bcb51650eac54f748f693cdc5b00f9a6.png2d8b40093abe47c7b347cdd7c906e87f.gif

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120004.html

(0)
上一篇 2025-11-01 16:00
下一篇 2025-11-01 16:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信