------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
Import -导入:类名称变长,写起来很麻烦。为了简化,使用了一个关键字:import,可以使用这个关键字导入指定包中的类。记住:实际开发时,到的哪个类就导入哪个类,不建议使用*.
import packa.*;//这个仅仅是导入了packa当前目录下的所有的类。不包含子包。
import packa.abc.*;//导入了packa包中的子包abc下的当前的所有类。
如果导入的两个包中存在着相同名称的类。这时如果用到该类,必须在代码中指定包名。
常见的软件包:
java.lang : language java的核心包,Object System StringThrowable jdk1.2版本后,该包中的类自动被导入。
java.awt :定义的都是用于java图形界面开发的对象。
javax.swing:提供所有的windows桌面应用程序包括的控件,比如:Frame , Dialog, Table, List等等,就是java的图形界面库。
java.net :用于java网络编程方面的对象都在该包中。
java.io : input output用于操作设备上数据的对象都在该包中。比如:读取硬盘数据,往硬盘写入数据。
java.util : java的工具包,时间对象,集合框架。
java.applet: application+let客户端java小程序。server+let --> servlet 服务端java小程序。
jar:java的压缩包,主要用于存储类文件,或者配置文件等。
命令格式:jar–cf 包名.jar 包目录
解压缩:jar–xvf 包名.jar
将jar包目录列表重定向到一个文件中:jar–tf 包名.jar>c:\1.txt
1,String和StringBuider//Stringbuilder前身是StringBuffer
String是一个特殊的对象,一旦被初始化,就不会被改变。()指的是abc不是变量 s1.
String s1=”abc”; s1是一个类类型变量,“abc”是一个对象。
String s2=new String(“abc”);
s1和s2的区别:
s1在字符串常量池中创建了一个abc字符串
s2在堆中创建了两个对象一个是默认对象一个是字符串对象。
==和equals的区别?==比较的是地址,equals比较的是内容。
1.获取
1.1 获取字符串长度
int length();
1.2 根据位置获取字符
char charAt(int index);
1.3 根据字符获取在字符中的位置
int indexof(int ch) 返回的是ch在字符串中第一个出现的位置
int indexof(int ch,intFromIndex)从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexof(String str); 返回的是str在字符串中第一个出现的位置
int indexof(String str,intFromIndex)从fromIndex指定位置开始,获取str在字符串中出现的位置
反响索引一个字符出现的位置。
int lastindexof(int ch) 返回的是ch在字符串中第一个出现的位置
int lastindexof(int ch,intFromIndex)从fromIndex指定位置开始,获取ch在字符串中出现的位置
int lastindexof(String str); 返回的是str在字符串中第一个出现的位置
int lastindexof(String str,int FromIndex)从fromIndex指定位置开始,获取str在字符串中出现的位置
1.4获取字符串中的一部分字符串,也叫子串。
String subString(int beginindex,intendindex) ;
String subString(int beginindex)
2.判断
2.1两个字符串是否相同
equals(Object obj)
equalsIgnoreCase(String str)
2.2字符串中是否包含某个字符串
contains(String str)
2.3两个字符串是否以指定字符串开头或结尾
boolean Startswith(String);
boolean endswith(String);
2.4字符串是否为空
boolean isEmpty();
3.字符串转换
3.1将字符串变成字符串数组
String[] split(String regex);
3.2将字符串变成字符数组
char[] toCharArray();
3.1将字符串变成字节数组
byte[] getBytes();
3.4将字符串数组变成字符串
构造函数 String(char[])
String(char[],offset,count)将字符数组中的一部分转成字符串。
静态函数 static String copyValueof(char[])
static String copyValueof(char[],offset,count)将字符数组中的一部分转成字符串。
3.5将字符串的字母大小写转换
String toUppercase();大写
String toUppercase();小写
3.6将字符串的内容替换
String repalce(char oldch,char newch);
String repalce(String s1,String s2);
3.7将字符串两端空格去掉
String trim();
3.8将字符串进行连接
String concat(String);
4.比较
compareTo();小返回负数等返回0大返回正数
StringBuffer类
是个字符串缓冲区对象,用于存储数据的容器
特点:1.长度是可变的
2.可以存储不同类型数据
3.最终要转换成字符串使用
4.可以对字符串进行修改
功能
1.添加
append(data)将指定数据添加到已有数据的结尾处
insert(位置,字符串)将数据插入到指定位置
2.删除
delete(start,end) 删除缓冲区中的数据,包含start不包含end
deleteCharAt(ine index)删除指定位置元素
StringBuffer.delete(0,sb.length());
3.查找
char charAt(index);
int indexof(string)
int lastindexof(String);
4.修改
StringBuffer replace(start,end.String)
void setCharAt(index,char)
setlength()设置长度
5.反转
StringBuffer reverse();
6.将缓冲区中的指定数据存储到字符数组中
void getChars(int srcBegin,intsrcEnd,char[] dst,int dstbegin)
StringBuilder线程不同步的,StringBuffer是同步的。
建议使用StringBuilder效率快。
基本数据类型对象包装类。
byte Byte 引用数据类型
short short
int Integer
long Long
boolean Boolean
float Float
double Double
charCharacter
基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串:基本数据类型+""
基本数据类型.toString(基本数据类型值): Integer.toString(34);//将34整数变成"34";
字符串转成基本数据类型。
xxx a =Xxx.parseXxx(String);
int a =Integer.parseInt("123");
double b =Double.parseDouble("12.23");
boolean b =Boolean.parseBoolean("true");
Integer i = newInteger("123");
int num =i.intValue();
十进制转成其他进制。
toBinaryString();
toHexString();
toOctalString();
其他进制转成十进制。
parseInt(string,radix); parseInt(“110”,2)= 6
2,获取日期Date
获取当前时间
Date date=new DAte();
将模式封装到SimpleDateformat对象中自定义风格
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy年MM月dd日 hh:mm:ss”);
调用format方法让模式格式化指定FAte对象
String time=sdt.format(date);
Calendar类及其子类GregorianCalendar
Calendar c=Calendar.getInstance();
c.get(Calendar.Year);//获取年
c.get(Calendar.Month);//获取月
c.get(Calendar.DayofMonth);//获取日
c.get(Calendar.DayofWeek);//获取星期
package com.itheima;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Text9 {
/**
*9、 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计
* 算这一天是星期几,并且计算出是一年中的第几天。
*
* @author zety-li
*
* 思考: 1,建立一个可以接受键盘录入的对象。
* 2,获取录入数据传递到date日期中或者获取date对象。
* 3,因为用到日期 所以先想到Date
* 4,因为用到日期格式所以想到DateFormat,
* */
public static void main(String[] args) {
getSysin();
}
public static void getSysin(){
Scanner s = new Scanner(System.in);//Scanner 键盘录入
System.out.println("请输入一个“yyyy-MM-dd”格式的日期:");
String stu =s.next();//取出录入的值
s.close();//关闭资源
String[] strs = stu.split("-");
//用正则表达式取出需要的数据 ,存储到数组中。
int[] arr = new int[3];
for(int i = 0;i<strs.length;i++){
arr[i] = Integer.parseInt(strs[i]);
}
getDate(arr[0],arr[1]-1,arr[2]);//传递
}
public static void getDate(int year,int month,int date){
GregorianCalendar gc = new GregorianCalendar();//这是Calendar子类对象
gc.set(year, month, date);
Date d = gc.getTime();//获取了Date对象
SimpleDateFormat sdf = new SimpleDateFormat("E,D");//日期格式对象
String s = sdf.format(d);
System.out.println(s);
}
}
3,随机数的生成:java.util.random
package pract;
import java.util.HashSet;
import java.util.Random;
/*
*编写一个程序,获取10个1至20的随机数,要求随机数不能重复。
*
*思路:
* 1.定义一个集合,用于存储随机数
* 2.产生随机数,并存储进集合中。
* 3.对集合的长度进行判断。
*步骤:
* 1.由于随机数不能重复,所以使用Set集合。为了保证值的唯一,所以使用HashSet集合.
* 2.通过Set集合的add方法,将生成的随机数存储进HashSet集合。
* 3.通过Set集合的size方法对集合的长度进行判断,如果产生的随机数达到10个,那么将退出循环。
* */
public class ExamTest14 {
public static void main(String[] args) {
// 存储Integer的Set集合
HashSet<Integer> set = new HashSet<Integer>();
// 判断集合的长度,如果符合了一定的长度,那么循环结束
while (set.size() < 10) {
// 产生1~20之间的随机数
Random m = new Random();
int i = m.nextInt(20) + 1;
// 添加进Set集合中
set.add(i);
}
// 打印下集合的元素
System.out.println(set);
}
}
4,java.util.Arrays操作数组的类提供的对对象的操作
java.util.Collections中提供了对集合的操作