#Java-对象补充及字符串详讲

0.类和对象深入解释

在Java中,类(Class)和对象(Object 是两个核心概念,它们共同构成了面向对象编程(OOP)的基础。

类(Class)

  • 定义:类是一个模板或蓝图,它描述了具有相同属性和行为的一组对象的共同特征。在Java中,类通过关键字class来定义。

  • 组成:类通常由成员变量(也称为属性或字段)和方法(也称为函数或行为)组成。成员变量表示对象的状态,而方法则定义了对象的行为。

  • 特性:类具有封装性,可以将数据和操作数据的方法结合在一起,形成一个不可分割的单位。此外,类还支持继承和多态等面向对象特性。


对象(Object)

  • 定义:对象是类的实例化,是类的具体表示。每个对象都是类的一个实例,它拥有类定义的属性和方法。

  • 创建:在Java中,对象是通过使用new关键字和类的构造函数来创建的。例如,MyClass obj = new MyClass();这行代码创建了一个MyClass类的对象obj。

  • 状态和行为:对象的状态由它的成员变量(属性)表示,而对象的行为则由它的方法定义。通过调用对象的方法,可以改变对象的状态或执行某些操作。

  • 唯一性:每个对象在内存中都有一个唯一的地址,这使得每个对象都是独一无二的。即使两个对象属于同一个类,它们的状态也可能不同。

关系:

  • 类是对象的模板:类是创建对象的蓝图或原型。通过定义类,我们指定了对象将拥有的属性和方法。
  • 对象是类的实例:对象是类的具体实现。当我们创建一个对象时,我们实际上是在创建一个类的实例,该实例将拥有类定义的属性和方法。

示例:

// 定义一个类
class Person {
   
    // 成员变量(属性)
    String name;
    int age;
    // 方法(行为)
    void speak() {
   
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }
}

public class Main {
   
    public static void main(String[] args) {
   
        // 创建对象
        Person person1 = new Person();
        Person person2 = new Person();
        // 设置对象的状态
        person1.name = "Alice";
        person1.age = 30;
        person2.name = "Bob";
        person2.age = 25;
        // 调用对象的方法
        person1.speak(); // 输出: Hello, my name is Alice and I am 30 years old.
        person2.speak(); // 输出: Hello, my name is Bob and I am 25 years old.
    }
}

在这个示例中,Person是一个类,它有两个属性(name和age)和一个方法(speak)。Main类中的main方法创建了两个Person类的对象(person1和person2),并设置了它们的状态,然后调用了它们的方法。

1.成员变量和局部变量的区别

局部变量:在方法中的变量
成员变量:类中方法外的变量
例:

public class student {
   
	String name;//成员变量
	public void learn {
   
		int i = 0;//局部变量
		System.out.println(i);
	}
}

区别:
在这里插入图片描述

2. System.out.printf( )的使用

我们在前面经常使用System.out.println(),自带换行,并且可进行字符串之间,字符串和变量的连接。
下面我们介绍剩下的两种:

  1. System.out.print()
  2. System.out.printf()
  • System.out.print()
    不进行换行,其他功能和System.out.println()一样
  • System.out.printf()
    用于对内容的格式化输出:
    //整型
    int num = 100;
    System.out.printf("%d",num);
    //字符串
    String name = "lshh";
    System.out.printf("%s",name);
    //字符型
    char ch = 'a';
    System.out.prinf("%c",ch);
    
    首先用%s/d/f/c...进行占位,在“”后用英文逗号隔开,跟上实际的变量
    prinf也支持多个变量,以及字符和变量混合
    //多个变量根据类型写上占位符,在后边用逗号跟上变量即可
    System.out.printf("%d %s %c", a, b, c);
    //和字符一起
    System.out.printf("在%s我的年龄是:%d", year, age);
    
    // 使用 %x 格式化整数为十六进制
    int hexValue = 255;
     System.out.printf("The integer value in hexadecimal is: %x%n", hexValue);
    
     // 使用 %o 格式化整数为八进制
     int octalValue = 255;
     System.out.printf("The integer value in octal is: %o%n", octalValue);
    
     // 使用 %e 格式化浮点数为科学计数法
     System.out.printf("The double value in scientific notation is: %e%n", doubleValue);
    
     // 使用 %% 输出百分号字符
     System.out.printf("This is a percent 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值