第三天学习笔记:
java内容:
java默认命名规则:
-
对于类,每一个单词开头大写.(大驼峰命名法)
-
对于方法和变量,第一个单词开头小写,第二个单词开始开头字母大写(小驼峰命名法)
数组:
可以通过Arrays.CopyOf()来给数组扩容,例如arr=Arrays.CopyOf(arr,arr.length+3)就能多扩容三个位置
数组复制时推荐使用System.arraycopy()
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。
JVM内存空间
方法区: 类相关的信息
栈: 局部变量 / 临时变量
堆: 引用的真正数据
类加载: 为了把字节码(.class)文件中的类相关的信息读取到JVM中
使用到的工具:类加载器
猜字母小游戏:
猜字母游戏,其游戏规则为:程序随机产生5个按照随机顺序排列的字符作为猜测的结果,由玩家来猜测此字符串。玩家可以猜测多次,每猜测一次,则由系统提示结果。如果猜测的完全正确,则游戏结束,计算玩家的游戏得分并输出;如果没有猜对,则提示猜测的结果,如猜对了几个字符,以及猜对了几个字符的位置等信息,并提示玩家游戏继续。
package cn.work;
import java.util.*;
public class GuessCharacter {
public static String activate() {
boolean[] live = new boolean[26];
String str = new String();
char ch;
int j=0;
for (int i=0; i<5; i++) {
j=(int)(Math.random()*26);
while (live[j]==true) {
j=(int)(Math.random()*26);
}
live[j]=true;
ch = (char)(j+'A');
str=str+ch;
}
return str;
}
public static int[]gra (String str1 ,String str2){
int[] num = new int[2];
int x=0,y=0;
char[] ch2=str2.toCharArray();
for (char c:ch2) {
int m=str1.indexOf(c);
if (m!=-1) {
if (c==ch2[m]) {
x++;
y++;
}
else
x++;
}
}
num[0]=x;
num[1]=y;
return num;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("游戏开始");
String str1=activate();
System.out.print