根据给定的文件信息,我们可以总结出以下几个关键的知识点: ### 1. Java字符串操作 在`copyUntilG()`、`copyUntilG1()`、`copyUntilG3()`以及`copyUntilG4()`方法中,主要涉及了字符串的处理。 #### `charAt()` 方法 `charAt()` 是一个用于获取字符串中指定位置字符的方法。例如: ```java char c = "Hello".charAt(0); // c 的值为 'H' ``` 示例中的`copyUntilG()`和`copyUntilG1()`中使用了`charAt()`来遍历字符串并检查每个字符是否等于特定的字符(这里是`'g'`)。 #### 字符串长度 可以通过`length()`方法获取字符串的长度。例如,在`copyUntilG1()`方法中,使用了这个方法来确定循环的边界。 #### `break` 语句 `break`语句可以用来提前结束循环。如在`copyUntilG1()`中,一旦检测到字符`'g'`,就立即退出循环,避免不必要的计算。 #### `do-while` 循环 `do-while`循环至少会执行一次,然后检查条件是否满足继续执行。在`copyUntilG3()`中,通过`do-while`循环处理字符串,并利用异常处理来处理索引超出范围的情况。 #### `StringBuffer` 类 `StringBuffer` 类可以用来创建可修改的字符串对象。与`StringBuilder`类似,但在多线程环境下更安全。例如,在`copyUntilG4()`中,使用`StringBuffer`来构建新的字符串直到遇到特定字符为止。 ### 2. 数学函数应用 `getRootByApproximatios()` 方法中展示了如何使用数学函数解决问题。 #### `Math` 类 `Math` 类提供了多种基本数学运算的方法,如`log10()`和`sin()`等。 - `log10()`:计算以10为底的对数。 - `sin()`:计算正弦值。 #### 二分查找算法 该方法实现了二分查找算法来逼近方程`10 * log10(x) = sin(x)`的根。初始时,设定左端点`leftValue`为0,右端点`rightValue`为`2π`,然后不断缩小搜索范围直至找到精度内的解。 ### 3. 循环结构 在多个方法中都使用到了循环结构,包括`while`循环和`for`循环。 - `while`循环:根据条件进行重复执行,如`copyUntilG()`中的循环。 - `for`循环:适用于已知循环次数的情况,如`copyUntilG1()`中对字符串长度进行迭代。 ### 4. 异常处理 `copyUntilG3()` 方法中隐含地涉及到异常处理机制。当字符串的索引超出范围时,会抛出`StringIndexOutOfBoundsException`异常。虽然示例代码中没有显示异常处理代码,但实际应用中应该考虑加入适当的异常捕获和处理逻辑。 ### 总结 本示例代码涵盖了Java编程中的一些基础知识点,包括字符串操作、循环控制结构、数学函数的应用以及异常处理等内容。通过这些示例,可以更好地理解和掌握Java语言的基础语法和常见编程技巧。
public class Ch3Excises {
/**
* @param args
*/
public static void main(String[] args) {
//copyUntilG();
//copyUntilG1();
//copyUntilG3();
//copyUntilG4();
getRootByApproximatios();
}
public static void copyUntilG()
{//1、循环三要素:初始化、结束条件,为下一次循环做准备
//2, 仅换行不打印
//3,字符的比较
//4, charAt()
String copyFromMe="copy this strin until you encounter the letter 'G'.";
int index=0;
while(copyFromMe.charAt(index)!='g')
{
System.out.print(copyFromMe.charAt(index++));
}
System.out.println();
}
public static void copyUntilG1()
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助