java基础javeSE程序逻辑控制语法
作者:可口也可樂、 时间:2022-09-21 23:41:47
顺序结构
按照代码书写的顺序一行一行执行
分支结构
if 语句
基本语法形式:
if(布尔表达式){
//条件满足时执行代码
}
if(布尔表达式){
//条件满足时执行代码
}else{
//条件不满足时执行代码
}
//多分支
if(布尔表达式){
//条件满足时执行代码
}else if(布尔表达式){
//条件满足时执行代码
}else{
//条件都不满足时执行代码
}
注意:条件表达式必须是布尔值
示例:
int a = 10;
if(a){
System.out.println(a);
}//err
//对于while等循环语句也一样
悬垂 else
示例:
int x = 10;
int y = 10;
if (x == 10)
if (y == 10)
System.out.println("aaa");
else
System.out.println("bbb");
注:if / else语句中可以不加大括号,但只能写一条语句;此时else和最接近的 if 匹配
switch 语句
基本语法:
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
switch(表达式) 中表达式接收的类型包括:
整数(只包括byte、short、int)
字符(char)
字符串(String)
枚举类型(区别C语言)
循环结构
基本上与C语言语法一致
注意:
while 循环
while
(表达式) 中的表达式必须是布尔值break
:让最靠近包裹它的整个循环提前结束
continue :跳过本次循环,立即进入下次循环
for 循环
for(表达式1;表达式2;表达式3) 中的表达式2是循环的判断条件,要使用布尔值
do while 循环
while 中的循环条件只能是布尔值
输入输出方式
输出到控制台
基本语法:
System.out.println(msg);// 输出一个字符串,自带换行
System.out.print(msg);// 输出一个字符串,不带换行
System.out.printf(format,msg);// 格式化输出,括号内内容类似于 C 语言的 printf
格式化输出表:
从键盘输入
读取字符/字符串/整数/浮点数/布尔值
首先需要导入 util 包 import java.util.Scanner;然后再构造一个 Scanner 对象并与”标准输入流“ System.in 关联:
Scanner 对象名 = new Scanner(System.in);
示例:
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();//读入一个整数
double b = in.nextDouble();//读入一个浮点数
boolean c = in.nextBoolean();//读入一个布尔值
String s = in.next();//读入一个字符串
//上述读入字符串是按空白符当作分隔符的,故只能读入第一个空格之前的字符
//如果想要读取该行的所有字符(包含空格)则:
String s = in.nextLine();
//如果这行代码上面还有其他读入的语句,可能这行代码就不会执行
//因为上一行的回车可能被它读入,直接这行结束
//解决方案:将其放在读入代码的第一个或者在它前面加一个 in.nextLine(); 来读取掉之前的回车
}
}
输入多组数据
示例:
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int a = in.nextInt();
// 内容
}
结束:输入 Ctrl + D
或者Ctrl + Z
结束
猜数字游戏
随机数生成:
需要导入 util 包 import java.util.Random;
示例:
import java.util.Random;
public class TestDemo {
public static void main(String[] args) {
Random random = new random();// 默认随机种子是系统时间
int rand = random.nextInt(bound:100) + 1;
// random.nextInt(bound:100) 是生成[0,100)间的随机整数
}
}
最终代码:
public class TestDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int rand = random.nextInt(100) + 1;
while (true){
System.out.print("请输入你所猜测的数字:");
int num = scanner.nextInt();
if(num == rand){
System.out.println("恭喜你,猜对了!");
break;
}else if(num < rand){
System.out.println("很遗憾,你猜的数字小了!");
}else{
System.out.println("很遗憾,你猜的数字大了!");
}
}
}
}
来源:https://blog.csdn.net/CS_z_jun/article/details/120088597
标签:javaSE,逻辑控制
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
flutter实现发送验证码功能
2023-07-05 19:03:12
![](https://img.aspxhome.com/file/2023/3/90173_0s.jpg)
c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)
2022-02-27 06:53:11
Spring Data JPA映射自定义实体类操作
2022-10-17 10:08:55
![](https://img.aspxhome.com/file/2023/2/72322_0s.png)
springboot vue 跨域问题的解决
2023-01-26 00:53:57
最常用的1000个Java类(附代码示例)
2023-03-25 20:29:07
Java图形用户界面设计(Swing)的介绍
2022-08-23 03:29:37
![](https://img.aspxhome.com/file/2023/4/75654_0s.jpg)
Lombok基本注解之@SneakyThrows的作用
2021-12-24 15:30:47
![](https://img.aspxhome.com/file/2023/0/77340_0s.png)
Mybatis中的resultType和resultMap查询操作实例详解
2022-02-24 17:05:42
![](https://img.aspxhome.com/file/2023/3/76233_0s.png)
IDEA快速搭建spring boot项目教程(Spring initializr)
2023-08-17 21:11:16
![](https://img.aspxhome.com/file/2023/0/58060_0s.png)
java中的session对象及其常用方法小结
2023-11-25 02:31:33
java面向对象之人机猜拳小游戏
2021-12-20 18:12:34
![](https://img.aspxhome.com/file/2023/9/67189_0s.png)
C#实现日期格式转换的公共方法类实例
2023-05-16 10:06:54
Java中的functor实现
2023-11-26 08:30:50
JDBC连接mysql乱码异常问题处理总结
2023-11-06 14:57:27
![](https://img.aspxhome.com/file/2023/8/67068_0s.png)
如何设置Spring Boot测试时的日志级别
2023-11-10 14:11:20
java的三种随机数生成方式
2022-03-06 13:43:57
深入分析JAVA流程控制语句
2023-11-20 10:48:32
Java中的Map集合简单汇总解析
2023-08-22 19:12:07
java取两个字符串的最大交集
2021-07-30 17:23:08
基于java集合中的一些易混淆的知识点(详解)
2023-08-29 03:06:26