java学习笔记(三)

博主记录了第三天的学习笔记,主要内容包括Java命名规则、JVM内存空间、猜字母游戏的实现,以及多种算法问题的解决思路,如买卖股票的最佳时机、进制转换、容器盛水问题、最小的k个数和判断链表中是否有环。涉及动态规划、贪心算法和双指针等编程技巧。
摘要由CSDN通过智能技术生成

第三天学习笔记:

java内容:

java默认命名规则:
  1. 对于类,每一个单词开头大写.(大驼峰命名法)
  2. 对于方法和变量,第一个单词开头小写,第二个单词开始开头字母大写(小驼峰命名法)
    数组:
    可以通过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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值