JavaSE的逻辑控制你了解吗
作者:Living_Amethyst 发布时间:2023-01-07 01:32:22
标签:Java,SE,逻辑控制
1. Java中程序的逻辑控制语句
1.1顺序结构
顺序结构比较简单,按照代码书写的顺序一行一行执行
1.2分支结构
1.2.1 switch语句
这里补充一道笔试题:Java中不能做switch参数的数据类型有哪些?
long类型
float类型
double类型
boolean类型
switch语句执行流程:
1. 先计算表达式的值
2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
3. 当表达式的值没有与所列项匹配时,执行default
switch 不能表达复杂的条件
// 例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe
// 这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示.
if (num > 10 && num < 20) {
System.out.println("hehe");
}
1.3循环结构
while循环
for循环
do while 循环
2.输入输出
2.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)
格式化字符串
转换符 | 类型 | 举例 | |
d | 十进制整数 | ("%d", 100) | 100 |
x | 十六进制整数 | ("%x", 100) | 64 |
o | 八进制整数 | ("%o", 100) | 144 |
f | 定点浮点数 | ("%f", 100f) | 100.000000 |
e | 指数浮点数 | ("%e", 100f) | 1.000000e+02 |
g | 通用浮点数 | ("%g", 100f) | 100.000 |
a | 十六进制浮点数 | ("%a", 100) | 0x1.9p6 |
s | 字符串 | ("%s", 100) | 100 |
c | 字符 | ("%c", ‘1’) | 1 |
b | 布尔值 | ("%b", 100) | true |
h | 散列码 | ("%h", 100) | 64 |
% | 百分号 | ("%.2f%%", 2/7f) | 0.29% |
2.2 从键盘输入
2.2.1第一种方法(不常用)
char i = (char) System.in.read();
System.out.println("your char is:"+i);
当遇到这样的情况,只需要按一下 alt+回车即可
2.2.2使用 Scanner 读取字符串/整数/浮点数
Scanner scanner = new Scanner(System.in);
//输入整型数
int n = scanner.nextInt();
System.out.println(n);
//输入浮点数
float a = scanner.nextFloat();
System.out.println(a);
//输入字符串
String str= scanner.nextLine();
System.out.println(str);
一些解释:
当我们运行代码,发现了一些问题
在读取字符串时
2.2.3实现循环输入
//循环输入
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()){
int n=scanner.nextInt();
System.out.println(n);
注:如果想要看源代码
就可以看到了
3.猜数字游戏
import java.util.Random;
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//生成随机数
//Random random = new Random();
Random random = new Random(1234);//括号内放一个数字,每次生产随机数都是根据这个数生成的
int randNum = random.nextInt(100);//在括号内输入100表示随机数的范围是[0,100)
int randNum2 = random.nextInt(100)+1;//表示[1,100]或[1,101)
while(true)
{
System.out.println("请输入你要猜的数字: ");
int num= scanner.nextInt();
if(num<randNum){
System.out.println("猜小了!");
}else if(num==randNum){
System.out.println("猜对了!");
break;
}else{
System.out.println("猜大了!");
}
}
}
}
分析:
生成随机数
运行程序
成功!
来源:https://blog.csdn.net/Living_Amethyst/article/details/123440417


猜你喜欢
- 我贴c#的代码: namespace IWebs.Webs{ using System; using System.Web.Services
- cookies的创建:在客户端创建一个username的cookies,其值为oneday,有效期为1天.方法1:Response.Cook
- 1 synchronized场景回顾目标:synchronized回顾(锁分类–>多线程)概念synchroniz
- * 与过滤器在讲Spring boot之前,我们先了解一下过滤器和 * 。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的
- 若 Spring 检测到 bean 实现了 Aware 接口,则会为其注入相应的依赖。所以通过让bean 实现 Aware 接口,则能在 b
- 想要php版的朋友可以到这里下载测试 https://www.jb51.net/codes/83179.htmlimport java.io
- 在实际业务中,当后台数据发生变化,客户端能够实时的收到通知,而不是由用户主动的进行页面刷新才能查看,这将是一个非常人性化的设计。有没有那么一
- 目录前沿快速开始引入依赖定义接口配置类开始调用json序列化接口层面指定header:指定Encoder跟Decoder使用 * 注解详解@
- 一、RFC882文档简单说明RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮
- 使用ExecutorService来停止线程服务之前的文章中我们提到了ExecutorService可以使用shutdown和shutdow
- 1、SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链。现在对这
- PS:本文包含了大部分strings函数的说明,并附带举例说明。本来想自己整理一下的,发现已经有前辈整理过了,就转了过来。修改了原文一些源码
- 模块调用之后,记录模块的相关日志,看似简单,其实暗藏玄机。1.简述模块日志的实现方式大致有三种:AOP + 自定义注解实现输出指定格式日志
- SpringCloud简介Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微
- 这篇文章主要介绍了Java switch使用及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 在谈 Volatile 之前,我们先回顾下 Java 内存模型 的三要素:原子性、可见性、有序性,也就是大家常提到的并发编程三要素。并发编程
- java.util.concurrent.ExecutionException错误信息,这里给出解决方案,大家根据具体要求更改。SEVERE
- 在一些购物商城中经常会遇到这类效果,效果图如下:先看效果图步骤一:完成对主界面main.xml的创建:<?xml version=&q
- storm操作zookeeper的主要函数都定义在命名空间backtype.storm.cluster中(即cluster.clj文件中)。
- 1、继承Threadpublic class T4 {public static void main(String[] args) {Sys