12(eclipse设置,断点调试,String)

1 Eclipse相关设置

(1)去除注释

(2)更改工作区编码

(3)改变字体大小

(4)复位

windows------------------prespective---------------------reset  prespective

(5)快捷键

alt +  shift + s很重要。

ctrl  +  alt   +  下建:向下赋值一行

2 jar文件的使用

使用时将jar文件粘贴至自己的项目下,并且重新buildpath。

3 导入项目到工作空间

4  断点调试

5  ==和equals()

都可以用来比较,返回值都是boolean类型,

区别:(1)==比较两端是否为同一个对象

(2)equals比较内容是否相同

6 常用类之Scanner

7 常用类之String

(1)构造方法

关于构造方法,提一下,可以运用String构造方法将字符数组转换成字符串。

(2)面试题

是不是对上述的输出很意外,equals输出的结果还是可以接受的,但是==号是不是意外了许多,其实我自己也判断失误了,这才是自己重新开始查漏补缺的真正目的。这里不得不提出一个新的概念,之前在介绍内存的时候介绍了栈,堆,方法区。这里再次回顾一下,栈只存储局部变量和方法(其实是方法以栈针的方式压入栈中),堆用来存储new出来的对象和数组,方法区存储编译的class文件,重点来了,方法区中其实是2块内存,一块存储class文件,另一块叫做常量池,在Java语言中,一切都是动态的。常量池其实也就是一个内存空间,不同于使用new关键字创建的对象所在的堆空间。

在class文件中,“常量池”是最复杂也最值得关注的内容。

Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用

所以,在编译这个java文件时,常量池已经有了一个“abc”,当有了之后s2发现常量池中有“abc”,所以就直接存储它的地址,故他们是同一个对象。

alt+shift+m表示抽取方法

2个对象,现在常量池创建一个对象,因为new,所以在堆内存也创建了一个。

有了前面的解释下面这个就不用解释了。

java中常量优化机制

String之间的“+”号意义:

接下来的面试题就涉及到上述语句

当执行s1+“c”时,先创建StringBuilder或者StringBuffer对象,在通过append方法串联,再通过toString方法转换为String对象。

其余String方法参考jdk1.6

8 子串在父串中出现的个数

package com.haidai.debug;

import java.util.Scanner;

public class Demo_2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		String smallStr = "heima";
		int count = 0;
		int k = 0;
		while(str.indexOf(smallStr, k) >= 0) {
			count++;
			k += smallStr.length();
		}
		System.out.println(count);
	}
}

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值