【Java基础精华】 Java语言是面向对象的编程语言,具有丰富的API和强大的功能。本文档主要探讨了Java的基础和精华部分,特别关注了Java SE 1.1版本的相关内容。 ### 1. Java API 1.1.1 - Lang包 `java.lang`包是Java程序中最基础的包,包含了所有Java程序都自动导入的类,如`String`和`StringBuffer`。 #### 1.1.1.1 String类和StringBuffer类 - **String类**:不可变对象,一旦创建就不能更改其内容。它用于存储固定长度的字符串,如常量。例如: ```java String x = "a" + 4 + "c"; ``` - **StringBuffer类**:可变对象,允许在字符串内容修改时动态增长。它提供了一种高效的方式来构建和修改字符串,特别是当需要频繁地添加或删除字符时。例如: ```java String x = new StringBuffer().append("a").append(4).append("c").toString(); ``` ### 2. 字符串操作与比较 在Java中,字符串是对象,因此比较字符串时使用`==`操作符实际上是比较对象的引用。例如: ```java String s1 = "hello"; String s2 = "hello"; // s1 == s2 返回 true,因为它们指向相同的字符串池中的对象 String s3 = new String("hello"); String s4 = new String("hello"); // s3 != s4 返回 true,因为它们是两个不同的对象实例 ``` ### 3. 逐行读取键盘输入 以下代码展示了如何逐行读取用户输入,直到输入"bye"为止: ```java public class ReadLine { public static void main(String[] args) { String strInfo = null; int pos = 0; byte[] buf = new byte[1024]; int ch = 0; System.out.println("Please input a string:"); while (true) { try { ch = System.in.read(); } catch (Exception e) {} switch (ch) { case '\r': break; case '\n': strInfo = new String(buf, 0, pos); if (strInfo.equals("bye")) { return; } else { System.out.println(strInfo); pos = 0; break; } default: buf[pos++] = (byte) ch; } } } } ``` ### 4. String类的常用方法 - **构造方法**:`String(byte[] bytes, int offset, int length)`用于从字节数组构建字符串。 - **equalsIgnoreCase()**:忽略大小写比较字符串。 - **indexOf(int ch)**:查找字符在字符串中的第一次出现位置。 - **substring(int beginIndex)**:截取从`beginIndex`开始到末尾的子字符串。 - **substring(int beginIndex, int endIndex)**:截取从`beginIndex`到`endIndex-1`的子字符串。 ### 5. 基本数据类型包装类 Java的包装类(如`Integer`,`Double`等)用于将基本数据类型转换为对象,以便在需要对象的场合使用。例如,`Integer.parseInt()`方法用于将字符串转换为整型。 ```java public class TestInteger { public static void main(String[] args) { int w = new Integer(args[0]).intValue(); // 将字符串参数转换为整型 int h = Integer.parseInt(args[1]); for (int i = 0; i < h; i++) { StringBuffer sb = new StringBuffer(); for (int j = 0; j < w; j++) { sb.append('*'); } System.out.println(sb.toString()); } } } ``` 在这个例子中,`TestInteger`类展示了如何从命令行参数中获取整型值,并用星号(*)打印出一个矩形。 理解并熟练掌握这些Java基础概念和API是成为Java开发者的基石,它们构成了Java程序设计的基础,并为更复杂的编程任务提供了坚实的基础。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 机械手自动排列控制PLC与触摸屏程序设计
- uDDS源程序publisher
- 中国风格, 节日 主题, PPT模板
- 生菜生长记录数据集.zip
- 微环谐振腔的光学频率梳matlab仿真 微腔光频梳仿真 包括求解LLE方程(Lugiato-Lefever equation)实现微环中的光频梳,同时考虑了色散,克尔非线性,外部泵浦等因素,具有可延展
- 企业宣传PPT模板, 企业宣传PPT模板
- jetbra插件工具,方便开发者快速开发
- agv 1223.fbx
- 全国职业院校技能大赛网络建设与运维规程
- 混合动力汽车动态规划算法理论油耗计算与视频教学,使用matlab编写快速计算程序,整个工程结构模块化,可以快速改为串联,并联,混联等 控制量可以快速扩展为档位,转矩,转速等 状态量一般为SOC,目