java代码块
eclipse的使用
eclipse 的使用步骤:
1. 要求你选择一个工作目录 。 工作目录: 以后的所有代码都会存储到工作目录的文件夹中, 2. 以后写代码是以工程作为单位。如果需要写代码首先必须 要先新建一个 工程。
创建一个工程的步骤:
package Explorer ----> 右击 ------> new -------->other ------>java Project
工程目录的介绍:
.settings : 该文件夹存储的是eclipse自动生成的配置文件,千万不要碰。
bin : 用于存储class文件。以后所有的class文件都会存储到bin目录中。
src : 用于存储java源文件。
修改字体:
windows ----------- perference ----------> 输入text ----------> text editor -------- colors and fonts
新建一个java文件的步骤:
src ----------右击 ----------------> new ------------>class -----------编写好类名
运行一个java文件的方式:
方式一: 右击---------》 run as --------------- 》 java Application
方式二: 绿色箭头-------》run as --------------- 》 java Application
方式三: ctrl+ f11
使用eclipse的好处:
1. 不需要我们手动的编译,只要你保存java文件,那么就会自动编译。
2. 可以精准的报错,会自动修复。
快捷键的使用:
alt + / 内部补全
ctrl + 1 自动修复
ctrl + shift + f 代码格式化
alt + 上下方向键 代码移动
ctrl + shift + x 转大写
ctrl + shift + y 转小写
ctrl+ shift + / 添加多行注释
ctrl + shift + \ 取消多行注释
ctrl + / 添加取消单行注释。
ctrl + d 删除当前行代码
设置自定义快捷键:
window ----------- > preference -----------keys ------------>getter | const
object类
找对象的方式:
方式一: 自定义类,通过自定义类创建对象。
方式二:sun定义好了很多的类,我们只需要认识这些类即可通过这些类创建对象为我们所用。
Object 类:
Object类是所有类的终极父类。
Object类常用的方法:
toString() 返回的字符串是用于描述该对象的
equals(Object obj) 判断两个对象是否为同一个对象, 默认比较 的是内存地址。
hashCode() 返回一个对象的哈希码值。哈希码 值可以看做一个对象的内存地址。
java规范: 一般我们在重写equals方法的时候,我们都会重写hashCode方法.
查看源代码的方式:
方式一: 按住ctrl+ 鼠标单击
方式二: 按下f3
Object类练习一
//需求:如果用户名和密码相等就判定为同一个用户
package day01;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person user1 = new Person("admin1", "123");
System.out.println(user1);
Person user2 = new Person("admin1","123" );
System.out.println(user2);
System.out.println("是同一个对象吗?"+user1.equals(user2));
System.out.println("user1的哈希码值:"+user1.hashCode());
System.out.println("user2的哈希码值:"+user2.hashCode());
}
}
class Person{
String userName;
String password;
public Person(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "用户名:"+userName+" 密码:"+password;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
Person user = (Person)obj;
return this.userName.equals(user.userName)&&this.password.equals(user.password);
}
}
Object类练习二
//如果两个人的身份证号码一致,则为同一个人,且哈希值改为身份证值
package day01;
class People {
int id;
String name;
public People(int id, String name) {
super();
this.id = id;
this.name = name;
}
/*
为什么要重写toString方法? 因为直接输出一个user
对象的时候输出的是该对象的toString方法返回 的字符串,该字符串是Object的toString方法返回的不能
满足我目前的需求,所以则进行了重写。
*/
@Override
public String toString() {
// TODO Auto-generated method stub
return "身份证号:" + id + " 姓名:" + "name";
}
//如果一个人的身份证编号一致,那么则为同一个人。
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
People people = (People) obj;
return this.id == people.id;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return this.id;
}
}
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
People p1 = new People(123, "狗娃");
System.out.println(p1);
People p2 = new People(123, "狗蛋");
System.out.println(p2);
System.out.println("相等吗? " + p1.equals(p2));
System.out.println("狗娃的哈希值:" + p1.hashCode());
System.out.println("狗蛋的哈希值: " + p2.hashCode());
}
}
Sting类
String类练习一
/*
String 类
*/
public class Demo1 {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
String str4 = new String("hello");
System.out.println("str1==str2?"+(str1==str2)); //true
System.out.println("str2==str3?"+(str2==str3)); //false
System.out.println("str3==str4?"+(str3==str4)); // false
System.out.println("str2.equals(str3)?"+(str2.equals(str3))); // true
System.out.println("str3.equals(str4)?"+(str3.equals(str4))); //true
/*
String类已经重写了Object的equals方法,比较的是两个字符串的内容是否一致,如果一致
则返回true,否则返回false
*/
}
}
String类的构造方法:
String()
String(byte[] bytes) 使用一个byte数组构建一个字符串 . byte数组存储的是字符对应的码值。
String(byte[] bytes, int offset, int length) 使用一个byte字节数组构建一个字符串对象,指定开始使用的位置索引值与使用的字符个数。
String(char[] value) 使用字符数组构建 一个字符串
String(char[] value, int offset, int count) 使用一个char字符数组构建一个字符串对象,并且指定开始使用的位置索引值与使用的字符个数。
String(“字符串”)
总结: 使用字节数组与字符数组是可以构建一个字符串对象的。
String类练习二
/*
获取方法
int length() 获取字符串的长度
char charAt(int index) 获取特定位置的字符 (角标越界)
int indexOf(String str) 获取特定字符的位置(overload)
int lastIndexOf(int ch) 获取最后一个字符的位置
*/
public class Demo3 {
public static void main(String[] args) {
String str = "中国人abc美国人abc";
System.out.println("获取字符的个数:"+ str.length());
System.out.println("指定索引值查找字符:"+ str.charAt(2));
System.out.println("查找指定字符串第一次出现的索引值:"+ str.indexOf("abc"));
System.out.println("查找指定字符串最后一次出现的索引值:"+ str.lastIndexOf("abc"));
}
}
String类练习三
package cn.itcast.string;
import java.util.Arrays;
/*
3.3判断方法
boolean endsWith(String str) 是否以指定字符结束
boolean isEmpty()是否长度为0 如:“” null V1.6
boolean contains(CharSequences) 是否包含指定序列 应用:搜索
boolean equals(Object anObject) 是否相等
boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等
转换的方法;
char[] toCharArray() 将字符串转换为字符数组
getBytes(); 把字符串转换字节数组
*/
public class Demo4 {
public static void main(String[] args) {
/*
String str = "Demo1.java";
System.out.println("是否以指定的字符结束:"+ str.endsWith("java"));
str = "";
System.out.println("判断指定的字符是否为空内容:"+ str.isEmpty());
str = "hello java";
System.out.println("判断字符串是否包含指定的字符:"+ str.contains("hel "));
//str = null;
System.out.println("判断的内容是否一致:"+ "HELLO JAVA".equals(str));
System.out.println("忽略大小写比较的内容是否一致:"+ "HELLO JAVA".equalsIgnoreCase(str));
*/
String str = "Demo1";
char[] arr = str.toCharArray(); //把字符串转换一个字符数组
System.out.println("字符数组的元素:"+ Arrays.toString(arr));
byte[] buf = str.getBytes();
System.out.println("字节数组 的元素:"+ Arrays.toString(buf));
}
}
String类练习四
import java.util.Arrays;
/*
3.5其他方法
String replace(char oldChar, char newChar) 替换
String[] split(String regex) 切割
String substring(int beginIndex)
String substring(int beginIndex, int endIndex)截取字串
String toUpperCase() 转大写
String toLowerCase() 转小写
String trim() 去除空格
*/
public class Demo5 {
public static void main(String[] args) {
String str = "hello world";
System.out.println("替换的方法:"+ str.replace("world","大家"));
str = "你们-大家-下午好";
String[] datas = str.split("-"); // 指定分隔符进行切割。
System.out.println("字符串数组 的内容:"+ Arrays.toString(datas));
str = "hello java";
System.out.println("指定开始的索引值截取字符串:"+ str.substring(6));
System.out.println("指定开始与结束的索引值截取字符串:"+ str.substring(6, 8)); // 注意 : 截取的位置是从startIndex开始,末尾是endIndex-1(包头不包尾)
str = "大家好";
System.out.println("转大写:"+ str.toUpperCase());
str = "aBC";
System.out.println("转小写:"+ str.toLowerCase());
str = " 大家今晚 要考试 ";
System.out.println("清除首尾的空格:"+str.trim());
}
}
String练习五
/*练习1: 自己实现一个trim方法。
练习2: 获取上传文件名。
练习3:将字符串对象中存储的字符反序。
*/
package day01;
public class Demo3 {
public static void main(String[] args) {
/*
* // TODO Auto-generated method stub String str =
* " 我 爱 你 中 国 ";
* System.out.println("结果:"+str.replace(" ", ""));
* String path = "E:\\新java视频\\day13\\视频";
*
* System.out.println("文件是:"+getFileName(path));
*/
String str = "吃葡萄不吐葡萄皮";
System.out.println("结果是:" + reverse(str));
}
// 剔除首尾空格;
/*
* public static String myTrim(String str) {
* //定义两个变量记录开始于结束的索引值
* int startIndex = 0;
*
* int endIndex = str.length()-1;
*
* //确定开始的索引值
*
* while (str.charAt(startIndex)==' ') {
* startIndex++; }
*
* while(str.charAt(endIndex)==' ') {
* endIndex--; }
*
* //指定索引值截取子串
* String result = str.substring(startIndex, endIndex+1);
*
* return result;
*
*
* }
*/
// 获取文件名;
/*
* public static String getFileName(String path) {
* int index = path.lastIndexOf("\\");
* String fileName = path.substring(index + 1);
* return fileName;
* }
*/
// 反转字符串内容;
public static String reverse(String str) {
//把字符串转成了字符数组
char[] buf = str.toCharArray();
//定义两个变量记录要 交换位置的元素索引值
int startIndex = 0;
int endIndex = buf.length - 1;
while (startIndex < endIndex) {
//交换位置
char temp = buf[startIndex];
buf[startIndex] = buf[endIndex];
buf[endIndex] = temp;
//
startIndex++;
endIndex--;
}
return new String(buf); // 使用字符数组构建了字符串
}
}
用于平时自己复习回顾,如有错误,欢迎指正