String str = “Hello world”;
String str = new String("Hello world");
主要可以通过以上两种方法定义字符串变量。
在Java中,字符串不可单调的称之为变量,而是对象,每当创建了一个字符串对象后,它都会有自己的方法和属性,也就是对象的成员。
在Java中,一定要深入去理解面向对象的思想,时刻谨记“一切皆是对象”。
仅供参考
package com.kidd.test.zhidao;
/**
* Hello world!
*
*/
public class Execute {
public static void main(String[] args) {
CourseTool courseTool = new CourseTool();
Course course = new Course();
course.setName("语文");
course.setCredit(5);
course.setScore(70);
courseTool.addCourse(course);
course = new Course();
course.setName("数学");
course.setCredit(8);
course.setScore(90);
courseTool.addCourse(course);
course = new Course();
course.setName("英语");
course.setCredit(7);
course.setScore(80);
courseTool.addCourse(course);
courseTool.showall();
course.setName("数学11");
course.setScore(100);
if (!courseTool.setScore(course)) {
System.out.println("不存在该课程名:" + course.getName() + "!请重新核对.");
}
courseTool.showall();
course.setName("英语");
course.setScore(100);
courseTool.showall();
}
}
class Course {
private String name;
private float score;
private int credit;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public int getCredit() {
return credit;
}
public void setCredit(int credit) {
this.credit = credit;
}
}
class CourseTool {
private StringBuilder stringBuilder = new StringBuilder();
private float average;
private int num;
public StringBuilder getStringBuilder() {
return stringBuilder;
}
public float getAverage() {
return average;
}
public void addCourse(Course course) {
stringBuilder.append("[" + course.getName() + "|" + course.getCredit() + "|" + course.getScore() + "]");
average = (average * num + course.getScore()) / (num + 1);
num++;
}
public boolean setScore(Course course) {
int start = stringBuilder.indexOf(course.getName());
if (start == -1) {
return false;
}
int end = stringBuilder.indexOf("]", start);
start = stringBuilder.lastIndexOf("|", end) + 1;
Float oldScore = 0f;
if (start != end) {
oldScore = Float.parseFloat(stringBuilder.substring(start, end));
}
stringBuilder.delete(start, end);
stringBuilder.insert(start, course.getScore());
average = (average * num - oldScore + course.getScore()) / num;
return true;
}
public void showall() {
System.out.println("所有的课程信息如下:\r\n" + stringBuilder + "\r\n平均成绩是:" + average);
}
}