1.编写程序,用数组实现乘法小九九的存储和输出。【提示:采用多个一维数组。】
public class Multipation {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x[][]=new int[9][9];
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
if(i>=j){
int m=i+1;
int n=j+1;
x[i][j]=m*n;
System.out.print(m+"*"+n+"="+x[i][j]);
}
}
System.out.println();
}
}
}
2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。
public class Student {
/**
* @param args
*/
private int ID;
private String name;
private float score;
public void SetRecord(int ID,String name,float score){
this.ID=ID;
this.name=name;
this.score=score;
}
public float getRecord(int ID){
if(ID==this.ID)
return this.score;
else
return -1;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student();
s.SetRecord(0,"alex",100);
float Record(0);
System.out.print(Sco);
}
}
3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。
4.public class Student {
5.
6. /**
7. * @param args
8. */
9. private int ID;
10. private String name;
11. private float score;
12.
13. Student(int ID,String name,float score){
14. this.ID=0;
15. this.name="666";
16. this.score=65;
17. }
18. public void SetRecord(int ID,String name,float score){
19. this.ID=ID;
20. this.name=name;
21. this.score=score;
22. }
23. public float getRecord(int ID){
24. if(ID==this.ID)
25. return this.score;
26. else
27. return -1;
28. }
29.
30. public static void main(String[] args) {
31. // TODO Auto-generated method stub
32. Student s=new Student(0,"sdfs",12);
33. //s.SetRecord(0,"alex",100);
34. float Record(0);
35. System.out.print(Sco);
36. }
37.}
4. 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。
public class StringTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="你好,欢迎来到Java世界";
int length=str.length();
char [] stringArr = CharArray();
//System.out.print(stringArr);
for(int i=0;i<length;i++){
//System.out.print(stringArr[i]);
//System.out.print(stringArr[0]);
if('J'==stringArr[i]){
System.out.print(i);
}
}
}
}
java定义一维数组并赋值1. 自己设计一个坐标类,能提供以下方法如求当前坐标和其他坐标之间的距离等方法,要求所有变量为私有变量,并提供两个构造函数。
public class XYdistance {
private int x;
private int y;
XYdistance(){
setX(0);
setY(0);
}
public void setX(int x) {
this.x = x;
}
public int getX() {
return x;
}
public void setY(int y) {
this.y = y;
}
public int getY() {
return y;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
XYdistance m_1= new XYdistance();
m_1.setX(10);
m_1.setY(10);
XYdistance m_2= new XYdistance();
double distance=(X()-X())*(X()-X())+(Y()-Y())*(Y()-Y());
double result=Math.sqrt(distance);
System.out.println(result);
}
}
编写使用静态变量统计一个类产生的实例对象的个数的程序?
public class Static {
private static int number;
public Static(){
//number=number+1;
++number;
//System.out.println(++number);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Static();
//m_1.Static();
System.out.println(Static.number);
}
}
创建string对象过程的内存分配:
常量池(Constant Pool):指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。JVM虚拟机为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集和,包括直接常量(String,Integer和 Floating point常量)和对其他类型,字段和方法的符号引用。对于String常量,它的值是在常量池中的。而JVM中的常量池在内存当中是以表的形式存在的, 对于String类型,有一张固定长度的CONSTANT_String_info表用来存储文字字符串值,注意:该表只存储文字字符串值,不存储符号引用。
1、String s = "abc";
创建过程分析:在class文件被JVM装载到内存中,JVM会创建一块String Pool(String缓冲池)。当执行String s = “abc”;时,JVM首先在String Pool中查看是否存在字符串对象“abc”(如何查看呢?用equals()方法判断),如果已存在该对象,则不用创建新的字符串对象“abc”,而直接使用String Pool中已存在的对象“abc”,然后将引用s指向该对象;如果不存在该对象,则先在String Pool中创建一个新的字符串对象“abc”,然后将引用s指向String Pool中创建的新对象。
注意:使用“字符串常量”引号创建的字符串对象时,在编译期就已经确定将该对象存储到String Pool中了。因此,String s = “abc”只会在编译期,在String Pool中创建一个对象。
例如:
Java代码
1.String s1 = "abc";
2.String s2 = "abc";
3.System.out.println(s1 == s2);//true
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2);//true
结果说明:JVM创建了两个引用str1和str2,但在String Pool中只创建了一个对象,而且两个引用都指向了同一个对象。
2、String s = new String("abc");
创建过程分析:当执行String s = new String(“abc”);时,JVM首先在String Pool中查看是否存在字符串对象“abc”,如果不存在该对象,则先在String Pool中创建一个新的字符串对象“abc”,然后执行new String(“abc”)构造方法,在Heap里又创建一个新的字符串对象“abc”(new出来的对象都放在Heap里面),并将引用s指向Heap中创建的新对象;如果已存在该对象,则不用创建新的字符串对象“abc”,而直接使用String Pool中已存在的对象“abc”, 然后执行new String(“abc”)构造方法,在Heap里又创建一个新的字符串对象“abc”,并将引用s指向Heap中创建的新对象。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论