eclipse
下载和安装:进入eclipse官网进行下载并安装;
安装时尽量选择空的文件夹,当做eclipse的工作空间;
打开eclipse显示如下界面:
点击file–>选择new–>选择other–>选择java Project–>右键src–>选择package–>然后右键–>选择class–>输入类名;
eclipse常用的快捷:
注释:
单行注释: ctrl+/
取消单行注释: ctrl+/
多行注释:ctrl+shift+/
取消多行注释:ctrl+shift+
导包的相关的快捷键:
ctrl+shift+o :快速导包(导入不是java.lang包类)
提示代码:
alt+/
调用方法(jdk提供的一些核心类的方法)
Scanner
nextXXX() ;
调用方法自动补全返回值的快捷键:
对象名.方法名(); ---->鼠标光标在后面 ctrl+1/ctrl+2—>l
写标准类:(总结)
setXXX()/getXXX()公共的访问方法:
alt+shift+s—>r
无参构造/有参构造方法…
无参构造:
alt+shift+s—>c
有参构造
alt+shift+s—>o
创建项目
Java项目
点击File---->new(新建)---->如果没有找到JavaProject---->选择other---->新建javaProject
---->进入创建项目视图---->输入项目名称(建议英文) ----->点击"finish"
eclipse中的java项目的项目结构
项目名称
内置的java运行环境的第三方jar包
src
—>创建包名
— >Java源文件
删除项目
一般情况:都是从开发工具中先删除掉,不要选中delete…disk (不要从硬盘上删除)
导入项目:
点击File----->选择Import---->General---->选择第二项---->从工作空间中导入项目
---->选择目录---->导入即可
导出项目:
选中项目----->右键----->选择FileSystem---->存储到指定的位置!
常用类
Object类:
public int hashCode() (了解):
返回该对象的哈希码值,不是实际的地址值,但是和地址值相关(可以理解为地址值),通过底层的哈希表得出来的(哈希算法);
public final Class getClass() :
返回当前对象的运行时类(字节码文件)
public String getName():
返回当前字节码文件对象所表示的字符串表现形式(具体哪个类或者接口…)
public String toString():
返回该对象的字符串表示,返回一个“以文本方式表示”此对象的字符串.建议所有子类都重写此方法;
public boolean equals(Object obj):
指示其他某个对象是否与此对象“相等”。
Scanner类:
Scanner类中提供一个判断功能:
public boolean hasNextXXX() :
判断是否录入的是该XXX类型的数据
public XXX nextXXX() :
接收指定的类型
String类:
String中常用的构造方法:
public String():
空参构造;
public String(byte[] bytes) :
将一个字节数组构成成一个字符串对象;
public String(byte[] bytes, int offset,int length):
将字节数组的一部分内容转换成字符串,参数:offset:指定索引,参数length:指定长度
public String(char[] value) :
将字符串数组构成字符串内容;
public String(char[] value,int offset,int length):
将字符数组的一部分构成成字符串;
public String(String original):
将一个字符串常量构造成一个字符串对象;
String类中获取功能的方法:
public int length() :
返回此字符串的长度;
public char charAt (int index) :
返回指定索引处的字符值;
public int indexOf (String str) :
返回指定子字符串第一次出现在该字符串内的索引;
public int indexOf (int ch) :
返回指定字符第一次出现在该字符串内的索引;
public static String valueOf(基本数据类型int 变量名a):
将一个int类型转换成字符串;
valueOf(Object obj):
可以将任意的java数据类型转换字符串内容;
public String substring (int beginIndex) :
返回一个子字符串,从指定索引开始默认截取字符串末尾;
public String substring (int beginIndex, int endIndex) :
返回一个子字符串,从指定位置开始截取到,指定位置结束。含beginIndex,不含endIndex;
public String concat (String str) :
拼接功能;
String类中字符串的转换功能:
public byte[] getBytes():
将字符串转换成字节数组;
public char[] toCharArray():
将字符串转换成字符数组 (当前转换功能开发中使用居多);
valueOf(Obejct obj):
将其他数据转成字符串;
public String toUpperCase():
将指定的字符串转换成大写;
public String toLowerCase():
将指定的字符串转换成小写;
String类的其他功能:
public String replace(char oldChar,char newChar):
将字符串中的指定的字符替换成新的字符
public String replace(String oldStr,String newStr):
替换指定字符串
public String trim():
去除字符串的两端空格;
public int compareTo(String anotherString):
按字典顺序比较两个字符串;
StringBuffer类:
StringBuffer:
线程安全的可变字符序列!
StringBuilder类:
单线程程序中,会使用StringBuilder替代StringBuffer,执行效率高! (线程不安全的)
StringBuffer:
线程安全的:线程安全------> 同步 ------> 执行效率低
StringBuilder:
线程不安全----->不同步----->执行效率高
StringBuffer的构造方法:
public StringBuffer() :
创建一个字符串缓冲区(足够大,无限制的添加字符串内容),没有任何字符串,初始容量为16个字符
public StringBuffer(int capacity):
直接指定具体的字符串缓冲区的容量大小
public StringBuffer(String str):
构造一个带内容的字符串缓冲区,容量为16+当前str的长度 (常用)
获取功能:
public int length() :由于字符串缓冲区StringBuffer存储都是字符串内容,获取字符缓冲区中的长度,就是获取字符串长度! (实际值)
public int capacity():理论值(超过一定容量,系统会自动分配)
StringBuffer的添加功能:
public StringBuffer append(String str) :(开发中使用居多)
在字符串缓冲区中追加内容 ,返回StringBuffer本身(在字符串缓冲区中的末尾追加)
public StringBuffer insert(int offset,String str):
在指定的位置索引处,插入一个指定的字符串 (在指定的位置插入数据)
StringBuffer的删除功能
public StringBuffer deleteCharAt(int index):
删除指定索引处的字符,返回缓冲区本身
public StringBuffer delete(int start, int end):
删除从指定位置开始到指定位置结束的字符(包前不包后),返回缓冲区本身
StringBuffer的反转功能:
public StringBuffer reverse() :
将此字符串缓冲区中的字符串内容反转
StringBuffer的替换功能:
public StringBuffer replace(int start,int end, String str):
从指定位置开始到指定位置结束替使用当前str替换内容,返回自己本身
截取功能:
public String substring(int start,int end):
从指定位置截取到指定位置结束(包前不包后)返回的一个新的字符串
public String substring(int start)
Integer类:
1)快速计算出: 100对应的二进制数据,八进制数据,十六进制数据
通过Integer类的静态功能:
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
2)int类型的范围
Integer类存在一些成员变量(字段)
public static final int MIN_VALUE:最小值
public static final int MAX_VALUE:最大值
JDK提供的核心类:Integer 是int类型的包装类类型
为了方便基本类型和引用类型 类型转换,引出 关于基本数据类型的包装类类型
实际开发中
已知一个String类型数据 ,— 基本类型的包装类类型 ----> 基本类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer构造函数
Integer(int value) :
将int类型构造成Integer类型
Integer(String s) :
将字符串构造成Integer类型
String的静态功能:valueOf(int i) /Integer的静态功能toString(int i)
String类型转int类型:
1)拼接:
举例:String s=""+1;
2)String类型的 valueOf(int i):
举例:String s2 = String.valueOf(i) ;
3)Integer类型的方法:
String s3 = Integer.toString(i) ;
int类型转String类型:
1)Integer的构造函数
举例:Integer integer = new Integer(str)
2)Integer中的静态intValue:
举例:int num = integer.intValue() ;
3)Integer的静态功能:(此方法在别的数据类型中也可以用)
举例:int num2 = Integer.parseInt(str) ;
面试题:
1)StringBuffer和StringBuilder的区别?
共同点:都是可变的字符序列
前者:是一个线程安全的类, 同步的,线程角度来说,执行效率低
后者:是一个线程不安全的类,不同步的,线程角度来说,执行效率高
在单线程程序中,StringBuilder用来替代StringBuffer
2)StringBuffer和数组都属于容器,有什么区别?
StringBuffer:构造的是一个字符串缓冲区,里面存储的内容都字符串内容,可变的字符序列,它的长度可以变化的!
数组:存储元素必须是同一种数据类型
数组的长度是固定的,不支持可变的!
String:特点 一旦被赋值,其值不能改变!不支持可变的!
3)StringBuffer和String类型作为形式参数有什么区别?
String是一种特殊的引用类型,它作为形式参数和基本数据类型作为形式参数是一样的!(经常会出现在面试题中!)
StringBuffer它作为形式参数,和引用类型一样,形式参数的改变直接影响实际参数