Java 控制语句:分支与循环
第一章:分支结构
1.1条件语句
1、if 语句
2、switch case 语句
如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
1.2打印每月含有的天数
你的代码需要从标准输入流(控制台)中读入一个 String 的数组,保证数组的第一个元素是年份,第二个元素是月份,计算出结果并打印到标准输出流(控制台)中。
1.3命中率评级
请从标准输入流(控制台)中获取一个自然数 n 表示学生投篮 100 次中命中的次数,请通过 System.out.println 语句输出命中率对应的评级。
第二章:循环结构
2.1求最大公约数
给出两个整数 a 和 b,请计算 a 和 b 的最大公约数,通过 System.out.println 语句输出。
2.2for 循环
请从标准输入流(控制台)中获取一个正整数 n,并输出区间 [1,n] 内所有数的和。你可以使用不同的循环语句(for 或者 while)来实现这个题目。
第三章:常用类
本章我们来介绍下一下 Java 常用类,包含如下:
- String
- Math
- Scanner
- Date
- System
- Random
3.1字符串
常用的 String 方法
1、char charAt(int index)
2、boolean equals(Object obj)
3、boolean startsWith(String prefix)
4、boolean endsWith(String suffix)
5、int indexOf(String str)
此方法返回指定子字符串 str 第一次出现的索引。若 str 没有出现过,则返回值为 -1。
3.2截取下标为5的字符
任意输入一个长度大于 6 的字符串,然后截取下标为 5 的字符,将其输出。
3.3判断字符串是否相等
李四收到一项任务,要求他编写一道程序,用来判断输入的两个字符串是否相等,如果相等则返回 true,如果不相等则返回 false,请你帮助他完成这项任务。
3.4字符串(二)
1、int lastIndexOf(String str)
2、String substring(int beginIndex, int endIndex)
3、String concat(String str)
4、String replace(char oldChar, char newChar)
5、String toUpperCase()
6、String toLowerCase()
7、String[] split(String regex)
8、String trim()
从原始字符串中省略前导和尾随空格后返回子字符串。
9、int length()
3.5字符串中的字母大小写转换
请编写代码,使用 String 类中的相关方法和 Character 类中的相关方法将字符串中所有的大写字母转换成小写字母,所有的小写字母转换成大写字母。
3.6其他方法
-
boolean equalsIgnoreCase(String string):它的工作原理与 equals 方法相同,但在比较字符串时不考虑大小写。它进行不区分大小写的比较。
-
int compareTo(String string):此方法根据字符串中每个字符的 Unicode 值比较两个字符串。
-
int compareToIgnoreCase(String string):与 CompareTo 方法相同,但它在比较过程中忽略大小写。
-
boolean startsWith(String prefix, int offset):它检查子字符串(从指定的偏移索引开始)是否具有指定的前缀。
-
int hashCode():它返回字符串的哈希码。
-
int indexOf(int ch):返回指定字符 ch 在字符串中第一次出现的索引。
-
int indexOf(int ch, int fromIndex):与 indexOf 方法相同,但它从指定的 fromIndex 开始在字符串中搜索。
-
int lastIndexOf(int ch):它返回字符串中最后一次出现的字符 ch。
-
int lastIndexOf(int ch, int fromIndex):与 lastIndexOf(int ch) 方法相同,它从 fromIndex 开始搜索。
-
String substring(int beginIndex):它返回字符串的子字符串。子字符串以指定索引处的字符开头。
-
boolean contains(CharSequence s):它检查字符串是否包含指定的字符值序列。如果是,则返回 true 否则返回 false。它抛出 NullPointerException of 's' is null。
-
String toUpperCase(Locale locale):使用指定语言环境定义的规则将字符串转换为大写字符串。
-
public String intern():该方法在内存池中搜索指定的字符串,如果找到则返回它的引用,否则它将内存空间分配给指定的字符串并为其分配引用。
-
public boolean isEmpty():如果给定字符串的长度为 0,则此方法返回 true。如果指定的 Java 字符串的长度不为零,则返回 false。
-
String[] split(String regex, int limit):它拆分字符串并返回与给定正则表达式匹配的子字符串数组。limit 是这里的结果阈值。
-
String toLowerCase(Locale locale):它使用给定语言环境定义的规则将字符串转换为小写字符串。
-
public static String format():这个方法返回一个格式化的 String。
-
static String copyValueOf(char[] data):它返回一个包含指定字符数组字符的字符串。
-
String copyValueOf(char[] data, int offset, int count):与上面的方法相同,但有两个额外的参数——子数组的初始偏移量和子数组的长度。
-
void getChars(int srcBegin, int srcEnd, char[] dest, int destBegin):将 src 数组的字符复制到 dest 数组。只有指定的范围被复制(srcBegin 到 srcEnd)到 dest 子数组(从 destBegin 开始)。
-
boolean contentEquals(StringBuffer sb):它将字符串与指定的字符串缓冲区进行比较。
-
boolean regionMatches(int srcoffset, String dest, int destoffset, int len):它将输入的子字符串与指定字符串的子字符串进行比较。
-
boolean regionMatches(boolean ignoreCase, int srcoffset, String dest, int destoffset, int len): regionMatches 方法的另一种变体,带有额外的布尔参数来指定比较是区分大小写还是不区分大小写。
-
byte[] getBytes(String charsetName):它使用指定的字符集编码将字符串转换为字节序列,并返回结果字节数组。
-
byte[] getBytes():此方法类似于上述方法,只是使用默认字符集编码将字符串转换为字节序列。
-
int codePointAt(int index):它类似于 charAt 方法,但它返回指定索引的 Unicode 代码点值而不是字符本身。
-
public static String join():此方法使用指定的分隔符连接给定的字符串并返回连接的 Java 字符串。
-
String replaceAll(String regex, String replacement):它将所有出现的符合正则表达式正则表达式的子字符串替换为替换字符串。
-
String replaceFirst(String regex, String replacement):它用指定的替换字符串替换第一个符合给定正则表达式 “regex” 的子字符串。
-
boolean matches(String regex):它检查字符串是否与指定的正则表达式 正则表达式匹配 。
-
static String valueOf():此方法返回传递参数的字符串表示形式,例如 int、long、float、double、char 和 char 数组。
-
char[] toCharArray():将字符串转换为字符数组。
3.7字符串字符排序
在类 Solution 中,含有名为 handle 的方法,要求传入任意非空的字符串,需要你对其中的字符按字典顺序排序,最终返回一个新的字符串。
3.8拼接字符串并改为大写
本题无需任何输入,你需要运用 Java 中字符串的知识,将已经定义好的两个字符串 str1 和 str2 拼接在一起,并将拼接好的字符串全部转为大写,输出最后的结果。
3.9Math 类
1、静态常量
2、求最大值、最小值和绝对值
3、求整运算
方法 | 描述 |
---|---|
Math.ceil() | 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。 |
Math.floor() | 返回小于等于(<=)给定参数的最大整数 。 |
Math.rint() | 返回与参数最接近的整数,返回类型为double。 |
Math.round() | 它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整, |
上述代码的结果为:
大于或等于 99.01 的最小整数:100.0
小于或等于 99.01 的最大整数:99.0
将 99.01 加上 0.5 之后最接近的整数:100
最接近 99.01 的整数:99.0
4、三角函数运算
方法 | 描述 |
---|---|
Math.sin() | 它用于返回给定双精度值的三角正弦值。 |
Math.cos() | 它用于返回给定双精度值的三角余弦值。 |
Math.tan() | 它用于返回给定双精度值的三角正切值。 |
Math.asin() | 它用于返回给定双精度值的三角反正弦值 |
Math.acos() | 它用于返回给定双精度值的三角反余弦值。 |
Math.atan() | 它用于返回给定双精度值的三角反正切值。 |
Math.toRadians() | 它用于将指定的度角转换为以弧度为单位测量的等效角度。 |
5、指数运算 | |
方法 | 描述 |
--- | --- |
Math.exp() | |
Math.pow() | 返回第一个参数的第二个参数次方。 |
Math.sqrt() | 求参数的算术平方根。 |
Math.cbrt() | 返回任意数字的立方根. |
Math.log() | 返回参数的自然数底数的对数值。 |
3.10求直角坐标系内两点间距离
请从标准输入流(控制台)中获取 4 个正整数 x1,y1,x2,y2 表示两个点的坐标 (x1, y1),(x2, y2), 要求计算出这两个点之间的距离(保留两位小数),并且你需要使用 System.out.printf 语句输出该距离。
3.11圆型周长
给出圆形的半径 r,请计算圆型的周长并将计算结果保留两位有效数字通过 System.out.printf 语句输出。
3.12Scanner 类
1、next 方法
// 输出结果为:
next方式接收:
lintcode com
输入的数据为:lintcode
2、nextLine 方法
// 输出结果为:
next方式接收:
lintcode com
输入的数据为:lintcode com
3、next() 与 nextLine() 区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- 4、next() 不能得到带有空格的字符串。
nextLine(): - 1、以 Enter 为结束符,也就是说 nextLine() 方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
1.4、hasNextLine - 我们可以使用 hasNextLine() 方法去不断地从控制台读取数据。
5、其他方法
方法 | 描述 |
---|---|
next() | 查找并返回来自次扫描器的下一个完整标记。 |
nextBigDecimal() | 将输入信息的下一个标记扫描为一个 BigDecimal。 |
nextBigInteger() | 将输入信息的下一个标记扫描为一个 BigInteger。 |
nextBoolean() | 扫描解释为一个布尔值的输入标记并返回该值。 |
nextByte() | 将输入信息的下一个标记扫描为一个 byte。 |
nextDoule() | 将输入信息的下一个标记扫描为一个 double。 |
nextFloat() | 将输入信息的下一个标记扫描为一个 float。 |
nextInt() | 将输入信息的下一个标记扫描为一个 int。 |
nextLine() | 此扫描器执行当前行,并返回跳过的输入信息。 |
nextLong() | 将输入信息的下一个标记扫描为一个 long。 |
nextShort() | 将输入信息的下一个标记扫描为一个 short。 |
3.13字符的ASCII码
本题将通过控制台输入获取一个字符,并赋值于 character,请通过 System.out.println 语句输出 character 的 ASCII 码。
3.14System 类
1、currentTimeMillis 方法
2、getProperty 和 getProperties 方法
3、arrayCopy 方法
arrayCopy() 用来实现将源数组部分元素复制到目标数组的指定位置。
使用方法:System.arrayCopy(Object srcArray,int srcPos,Object destArray ,int destPos,int length)。
字段解释:
- Object srcArray 原数组(要拷贝的数组)。
- int srcPos 要复制的原数组的起始位置(数组从 0 位置开始)。
- Object destArray 目标数组。
- int destPos 目标数组的起始位置。
- int length 原数组的长度。
下面的代码,将数组 arr2 中的数据,放到了数组 arr1 的尾部,替换了 1,2,3:
4、其他方法
方法 | 描述 |
---|---|
clearProperty() | 移除指定键指示的系统属性。 |
console() | 返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。 |
exit() | 终止当前正在运行的 Java 虚拟机。 |
gc() | 运行垃圾回收器。 |
getenv() | 返回一个不能修改的当前系统环境的字符串映射视图。 |
getSecurityManager() | 获取系统安全接口。 |
identityHashCode() | 返回给定对象的哈希码,该代码与默认的方法 hashCode() |
inheritedChannel() | 返回从创建此 Java 虚拟机的实体中继承的信道。 |
load() | 从作为动态库的本地文件系统中以指定的文件名加载代码文件。 |
3.15复制指定元素
你需要将数组 arr 中的前五位元素复制到一个新的数组中,并将新数组打印到标准输出流(控制台)中。
3.16随机生成数字
你的代码需要从标准输入流(控制台)读入一个正整数 n,并将正整数 n 作为随机种子,根据这个 int 类型的变量 n 的值来获取 50 个随机数字,范围是 [1,n]。将获取到的 50 个随机数打印到标准输出流(控制台)中。
3.17日期格式转换
给定一个字符串日期,日期的格式为 yyyy-MM-dd 请你将它转换为 yyyy年MM月dd日 的格式。
第四章:正则
4.1简单的手机号码验证
我们现在做一个简单的正则表达式的练习,我们知道手机号码的首位数字是 1,第二位数字在 3 ~ 9 之间,由于做的简单匹配,其余数字不做要求。isMatch() 会传入一个手机号码,请写一个简单的手机号匹配并将匹配结果返回。
4.2简单校验一下邮箱格式
请用正则表达式(当然你不用也是可以的)对邮箱格式进行简单的校验,并将校验结果返回。
- 邮箱首位是除数字以外的字母或下划线
- 邮箱必须含有 @ 和 .com 字符
- 邮箱可以存在多级域名
- 邮箱名称部分也存在多级
4.3简单的字符串匹配替换
给出一段字符串,在该字符串中存在着奇怪的字符,不方便阅读。现在要求你将其中的奇怪字符替换为空格,你只需在 Solution 类中写 replaceString 方法,将替换后的字符串返回即可。
__EOF__

本文链接:https://www.cnblogs.com/3456939606zwp/p/17874069.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!