第四周总结 & 实验报告(二)
第四周课程总结
一、String类
1.实例化
(1)直接赋值
public class Xxxx{
public static void main(String args[]){
String a = "abcd"; //实例化String对象 System.out.println(a); //输出
} }
(2)使用new关键词
public class Xxxx{
public static void main(String args[]){
String a = new String("abcd"); //实例化String对象
System.out.println(a); //输出
}
}
2.String 对象的内容比较
(1)使用“==”比较
进行数值的比较,即是用来进行地址值的比较
(2)使用equals()方法比较
进行内容的比较
使用方法:
例如:str1.equals(str2);
3.两种实例化方式的区别
(1)直接赋值
String xxx = "字符串";
只会开辟一块堆内存空间,并且会自动保存在对象池之中一共下次使用;
(2)构造方法
String xxx = new String ("字符串");
会开辟两块堆内存空间,其中有一块空间将成为垃圾,并且不会自动入池,但是用户可以使用intern()方法手工入池;
4.字符串内容不可改变
可以使用StringBuffer类完成(第十三章)
5.常用方法
(1)字符串与字符数组的转换
String str1 = "hello";
char c[] = str1.toCharArray();
(2)取出指定位置字符
String str1 = "hello";
System.out.println("str1.charAt(下标)"); //取出第 下标+1 个字符
(3)字符串与byte数组的转换
String str1 = “hello”;
byte b[] = str1.getBytes(); //将字符串变为byte数组
System.out.println(new String(b)); //将全部byte数组变为字符串
System.out.println(new String(b,1,3)); //将部分byte数组变为字符串 执行结果:hello
ell
(4)取得一个字符串的长度
String str1 = "hello";
System.out.println(str1.length());
(5)查找一个指定的字符串是否存在
String str1 = "abcdefgh";
System.out.println(str1.indexOf("c")); //查找到返回位置
System.out.println(str1.indexOf("c",3)); //查找到返回位置,从第四个开始查找
System.out.println(str1.indexOf("x")); //没有找到返回-1
(6)去掉左右空格
String str1 = " hello ";
System.out.println(str1.trim());
(7)字符串截取
String str1 = "hello world";
System.out.println(str1.substring(6));
System.out.println(str1.substring(0,5));
(8)按照指定的字符串拆分字符串
String str1 = “hello world”;
String s[] = str1.split(" ");
for(int i;i<s.length;i++){
System.out.println(s[i]);
}
(9)字符串的大小写转换
System.out.println("hello".toUpperCase());
System.out.println("HELLO".toLowerCase());
(10)判断是否以指定的字符串开头或结尾
String str1 = "HELLO";
String str2 = "HELLO**";
if(str1.startsWith("**")){
Sytem.out.println("(**HELLO)以**开头");
}
if(str1.endsWith("**")){
Sytem.out.println("(HELLO**)以**结尾");
}
(11)不区分大小写进行字符串比较
String str1 = "HELLO";
String str2 = "hello";
System.out.println("\"HELLO\"equals\"hello\""+str1.equals(str2));
System.out.println("\"HELLO\"equalsIgnoreCaseCase\"hello\""+str1.equalsIgnoreCase(str2));
(12)将一个指定的字符串,替换成其它的字符串
String str = "hello";
String newStr = str.replaceAll("l","x");
System.out.println(newStr);
二、对象数组
Person per[] = new Person[数字];
per[0] = new Person("内容"); //实例化元素
..........
实验报告(二)
实验二 Java简单类与对象
一、 实验目的
(1) 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
(2) 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
(3) 理解static修饰付对类、类成员变量及类方法的影响。
二、 实验内容
1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值
(2) 使用get…()和set…()的形式完成属性的访问及修改
(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
2. 银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
一、Rectangle类
1.实验源码
package rectangle; class Rectangle {
private double width;
private double height;
private String color;
public Rectangle(double width,double height,String color) {
this.setWidth(width);
this.setHeight(height);
this.setColor(color);
}
public void tell() {
System.out.println("面积:"+getArea()+"\n"+"周长:"+getLength());
System.out.println("颜色:"+getColor());
} public String getColor() {
return color;
}
public void setColor(String x) {
color=x;
}
public double getWidth() {
return width;
}
public void setWidth(double n) {
width=n;
}
public double getHeight() {
return height;
}
public void setHeight(double a) {
height=a;
} public double getArea(){
double area=getWidth()*getHeight();
return area; }
public double getLength(){
double length=2*getWidth()+2*getHeight();
return length;
}
} package rectangle; public class Rectangle2 {
public static void main(String[] args) {
Rectangle tra=new Rectangle(10,30,"red");
tra.tell();
} }
2.实验结果
二、Account类
1.实验源码
package account; class Account {
private String mark;
private String name;
private long day;
private long password;
private double balance;
public Account(String mark,String name,long day,long password,double balance) {
this.setMark(mark);
this.setName(name);
this.setDay(day);
this.setPassword(password);
this.setBalance(balance);
}
public Account(String mark,long password,double balance) {
this.setMark(mark);
this.setPassword(password);
this.setBalance(balance);
} public void tell() {
System.out.println("标识:"+getMark()+"\n"+"姓名:"+getName()+"\n"+"开户日期:"+getDay()+"\n"+"初始密码:"+getPassword()+"\n"+"余额:"+getBalance());
}
public void tell2() {
System.out.println("标识:"+getMark()+"\n"+"姓名:"+getName()+"\n"+"开户日期:"+getDay()+"\n"+"密码:"+getPassword()+"\n"+"余额:"+getBalance());
}
public String getMark() {
return mark;
}
public void setMark(String m) {
mark=m;
}
public String getName() {
return name;
}
public void setName(String n) {
name=n;
}
public long getDay() {
return day;
}
public void setDay(long d) {
day=d;
}
public long getPassword() {
return password;
}
public void setPassword(long p) {
password=p;
}
public double getBalance() {
return balance;
}
public void setBalance(double b) {
balance=b;
}
}
package account; import java.util.*;
import java.util.Scanner;
public class Account1 { public static void main(String[] args) {
double b=0.0d;
Account acc=new Account("xh123456789",123456,0);
acc.tell();
Scanner sc = new Scanner(System.in);
Scanner out = new Scanner(System.in);
System.out.print("请输入开户姓名:");
String n =null;
n=sc.nextLine(); System.out.print("请设置密码:");
long p = out.nextLong();
System.out.print("请输入日期:");
long d = out.nextLong();
System.out.println("\n");
Account acc1=new Account("xh123456789",n,d,p,b);
acc1.tell2();
System.out.println("\n");
int z=7;
System.out.println("存款:1"+"\t"+"取款:2"+"\t"+"查询余额:3"+"\n"+"修改密码:4"+"\t"+"查询标识:5"+"\t"+"查询姓名:6");
while(z!=0) { z = out.nextInt();
if(z==1) {
System.out.print("存入的金额:");
double a = out.nextDouble();
b=b+a;
System.out.print("存入:"+a);
}
if(z==2) {
System.out.print("取出的金额:");
double r = out.nextDouble();
b=b-r;
System.out.print("取出:"+r);
}
if(z==3) {System.out.print("余额:"+b);}
if(z==4) {
System.out.print("请修改密码:");
p = out.nextLong();
acc1=new Account("xh123456789",n,d,p,b);
acc1.tell2();
}
if(z==5) { System.out.println("标识:"+"xh123456789");
}
if(z==6) {
System.out.println("姓名:"+n); }
} }
}
2.实验结果
三、总结
输入需要加 import java.util.*;
对于内容的输入的语句不太熟练,字符串的输入和数字的又不一样
输入的基本语句:
数据类型 a = out.next数据类型(首字母大写)();
方法的调用也不熟练
第二题写的怪怪的。。。。
最新文章
- 【初学者指南】在ASP.NET MVC 5中创建GridView
- 修改tomcat的端口
- 【BZOJ3224】Tyvj 1728 普通平衡树 Splay
- php注册审核显示
- 为什么要用Message Queue
- Java之iterator迭代器和iterable接口
- 用函数式的 Swift 实现图片转字符画的功能
- vi和vim编辑器
- MySQL PROFILE 跟踪语句各阶段性能开销
- Vue过渡状态
- Linux系统命令 3
- [Laravel] 16 - DB: Eloquent
- 用bayes公式进行机器学习的经典案例
- 制作jQuery文字提示插件
- delphi实现两个目录路径的链接
- Linux下socket通信和多线程
- C++使用初始化列表提高效率(转):
- pygame系列_箭刺Elephant游戏_源码下载
- sass初学入门笔记(一)
- ajax 请求数据的两种方法