Java编程基础:变量交换、随机排序与概率模拟

4星 · 超过85%的资源 需积分: 9 4 下载量 183 浏览量 更新于2024-09-18 收藏 120KB DOC 举报
"这篇资源主要提供了几个常用的Java程序实例,包括如何交换两个变量的值、随机排序以及模拟概率事件。同时,还介绍了Java中的成员变量和局部变量的区别,以及类与类之间的关联关系概念。" 在Java编程中,了解基本概念和实践技巧是至关重要的。以下是对这些内容的详细解释: 1. **交换两个变量的值**:在Java中,传统的交换两个变量a和b的值的方法通常需要一个中间变量。但在提供的示例中,通过算术运算实现交换,避免了中间变量。步骤如下: - 先将a的值赋给a+b,此时a等于a+b。 - 然后将a的当前值减去b,得到b的原始值,赋给b。 - 最后,再次将a的值减去b,得到a的原始值,赋回给a。这样就完成了a和b的交换。 2. **`Math.random()`**:这是Java中的一个内置函数,用于生成0.0(包含)到1.0(不包含)之间的一个随机浮点数。在上述代码中,它被用于生成1到3之间的随机整数,以实现对2,5,8的随机排序。 3. **随机排序算法**:`RandomNum` 类实现了一个简单的算法,用于生成包含2,5,8的随机序列。`getOneRandom()` 方法生成一个1到3的随机数,`judgeNum()` 方法检查是否已经添加过这个数字到数组,并根据数字更新字符串`str`。通过循环直到数组中有三个不同的元素,实现了对这三个数字的任意排序。 4. **模拟概率事件**:在`RandomNum2` 类中,`getOneNum()` 方法根据给定的概率分布生成2,3,5之一的随机数。它通过比较`Math.random()` 生成的随机浮点数与预设的概率阈值来决定返回哪个值。 5. **成员变量和局部变量的区别**:在Java中,成员变量是属于类的,它们在声明时可以不初始化,系统会自动赋予默认值(如0,null等)。而局部变量(方法内部声明的变量)必须在使用前显式初始化,没有默认值。 6. **类与类的关系**:关联关系是面向对象设计中的一个重要概念,表示一个类中的属性或方法可以引用另一个类的实例。在教师类和学生类的例子中,教师类的`work()` 方法可能会包含对学生类的引用,表示教师和学生之间的教学关联。 这些实例和概念对于Java初学者来说非常实用,可以帮助他们理解基础的编程操作和面向对象设计的基本原则。通过实践这些代码,学习者可以更好地掌握Java编程的核心概念。