第四周总结 & 实验报告(二)
第四周课程总结
一、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数据类型(首字母大写)();
方法的调用也不熟练
第二题写的怪怪的。。。。
第四周总结 & 实验报告(二)的更多相关文章
- 第四周总结&实验报告二
第四周总结&实验报告二 课程总结 这周我们学习了string类,以及很多string类的很多操作方法,同时string也是一个对象,在用到它时我们首字母需要大写,这周我们还加深了对函数构造的理 ...
- 20145221 《Java程序设计》实验报告二:Java面向对象程序设计
20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- 20145203盖泽双:Java实验报告二
Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...
- java实验报告二
一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验步骤 (一)单元 ...
- 20145118 《Java程序设计》 实验报告二
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...
- 20135337朱荟潼Java实验报告二
20135337朱荟潼 实验二 Java面向对象程序设计 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- wyx20162314实验报告二
北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162310 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年3月26号 实验密级: 非 ...
随机推荐
- MySql 面试开发技术点汇总
表结构设计 1.为什么一定要设一个主键? 答:因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键.所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显 ...
- Jmeter读取CSV文件,请求参数乱码
Jmeter读取CSV文件,请求参数乱码 1.修改本地配置文件,jmeter.properties,修改以下配置项 sampleresult.default.encoding=UTF-8 重启Jmet ...
- 使用vue-cli脚手架快速构建项目
1.创建一个文件夹,vscode打开 2.ctr + shift+` 打开指令窗口 3.npm i vue-cli -g 安装vue-cli 4.vue -V 测试安装版本 检查是否安装成功 5. ...
- python format格式化函数用法
python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前 ...
- NoSQL与其常见的产品
一. 什么是NoSQL NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",它是一种非关系型数据库. 二. 为什么要有NoSQL 在现代的计算系统上每 ...
- Laravel配置全局公共函数的方法步骤
前言 在laravel项目开发中,经常使用到公共函数,那如何在laravel配置全局公共函数呢??下面话不多说了,来一起看看详细的介绍吧 方法如下 在Laravel项目中我们常常需要定义一些全局的公共 ...
- PAT Basic 1067 试密码 (20 分)
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格. ...
- 解决Eclipse中新建jsp文件ISO8859-1 编码问题
看了许多的贴说是在eclipse --> window --> Preferences --> General --> Content Types --> text--& ...
- ArrayList为什么是线程不安全的
首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象.变量等),不会产生不确定的结果. 既然说ArrayList是线程不安全的,那么在多线程中操作一个ArrayList对象,则会出现不确 ...
- ZROI 19.08.04模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "这应该是正睿OI历史上第一次差评破百的比赛." "这说明来正睿集训的人越来越多了." &qu ...