Java语法基础

Java中一些特殊类的使用


Scanner类的使用

1、Scanner类主要用于接收从键盘录入的对象
2、Scanner类在util包下,在使用时需要导入java.util包
3、可以通过 new Scanner(System.in)方法创建Scanner对象
4、Scanner类有很多的成员方法,这里我们主要介绍nextInt()和nextLine两个方法的使用。nextInt()方法用于接收数字,nextLine()方法用于接收字符串

实例 分别从键盘接收一个数字和一个字符串并打印到控制台上,代码如下:

	public static void main(String[] args) {
		//创建键盘录入对象
		@SuppressWarnings("resource")
		Scanner sc=new Scanner(System.in);
		Scanner sc_2=new Scanner(System.in); 
		//接收数字
		System.out.println("请输入一个数字:");
		int num=sc.nextInt();
		//打印数字
		System.out.println("num="+num);
		//接收字符串
		System.out.println("请输入字符串:");
		String str=sc_2.nextLine();
		//打印字符串
		System.out.println("str="+str);
	}

Random类的使用

1、Random类主要用于产生一个在一定范围内的随机数
2、可以通过构造方法new Random()创建一个随机数对象
3、可以通过成员方法nextLine(int num)生成一个范围在0~num-1内的随机数

实例 创建一个随机数并打印到控制台上,代码如下:

	public static void main(String[] args) {
		//创建对象
		Random r=new Random();
		//获取随机数
		int random=r.nextInt(100)+1;
		//打印获取到的随机数到控制台
		System.out.println(random);
	}

String类的使用

1、String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。
2、字符串可以直接赋值进行创建(如 String str = “abc”),也可以根据String类的构造方法创建字符串。几个常用的创建字符串的构造方法有String(String original) 、String(byte[] bytes) 、String(byte[] bytes, int offset, int length) 。

实例 使用2中所述创造字符串的方法创建字符串"hello",代码如下:

	public static void main(String[] args) {
		//创建字符串方法一 直接赋值
		String str="hello";
		System.out.println("------------");
		System.out.println("str="+str);
		//创建字符串方法二 
		//String(String original) 传入一个字符串
		String str1=new String("hello");
		System.out.println("------------");
		System.out.println("str1="+str1);
		//创建字符串方法三
		//String(byte[] bytes) 传入一个字符数组
		char[] ch= {'h','e','l','l','o'};
		String str2=new String(ch);
		System.out.println("------------");
		System.out.println("str2="+str2);
		//创建字符串方法四
		//String(byte[] bytes, int offset, int length) 传入一个字符数组、数组起始位置、截止长度
		String str3=new String(ch,0,ch.length);
		System.out.println("------------");
		System.out.println("str3="+str3);
	}

3、字符串创建以后可以判断所创建的字符串是否符合我们的需求。通常用到的方法有equals(Object anObject) ——判断字符串是否相等、equalsIgnoreCase(String anotherString) ——忽略字母大小写判断字符串是否相等、startsWith(String prefix) ——判断字符串是否以某一字符串开始、endsWith(String suffix) ——判断字符串是否以某一字符串结束。

实例 任取字符串实现3中所述方法,代码如下:

	public static void main(String[] args) {
		String s1="hello";
		String s2="hello";
		String s3="HellO";
		//比较字符串的内容是否相同
		System.out.println("------------");
		System.out.println("s1==s2:"+s1.equals(s2));
		System.out.println("s1==s3:"+s1.equals(s3));
		//比较字符串的内容是否相同,忽略大小写
		System.out.println("------------");
		System.out.println("s1==s2(忽略大小写):"+s1.equalsIgnoreCase(s2));
		System.out.println("s1==s3(忽略大小写):"+s1.equalsIgnoreCase(s3));
		//判断字符串对象是否以指定的str开头
		System.out.println("------------");
		System.out.println("s1是否以he开头:"+s1.startsWith("he"));
		System.out.println("s2是否以he开头:"+s3.startsWith("he"));
		//判断字符串对象是否以指定的str结尾
		System.out.println("------------");
		System.out.println("s1是否以lO结束:"+s1.endsWith("lO"));
		System.out.println("s2是否以lO结束:"+s3.endsWith("lO"));
	}

4、可以通过String对象的一些成员方法获取字符串的一些特性。比较常用的一些方法有length() ——返回该字符串的长度、charAt(int index) ——返回指定索引处字符串、indexOf(String str)——返回某一字符串第一次出现的位置、substring(int beginIndex, int endIndex) ——返回该字符串指定区域的字字符串

实例 任取字符串实现4中所述方法,代码如下:

	public static void main(String[] args) {
		String str="Hello World!";
		//获取字符串长度
		System.out.println("---------------");
		System.out.println("字符串的长度为:"+str.length());
		//获取指定索引处字符
		System.out.println("---------------");
		System.out.println("字符串的第一个字符为:"+str.charAt(0));
		//获取str在字符串对象中第一次出现的索引
		System.out.println("---------------");
		System.out.println("字符o第一次出现的位置是:"+str.indexOf("o"));
		//获取指定位置,指定长度字符串(包含左边,不包含右边)
		System.out.println("---------------");
		System.out.println(str.substring(5, 11));
	}

5、String对象的trim() 、split(String regex) 方法。
(1)trim()方法用于去除字符串两端的空格,字符串中间的空格不能通过该方法去除
(2)split对象用于将字符串按某一指定字符进行分割,分割后会返回一个String类型的数组

实例 任取字符串实现5中所述方法,代码如下:

	public static void main(String[] args) {
		String s1="helloworld";
		String s2=" helloworld ";
		String s3=" hello world ";
		//去除字符串两端空格
		System.out.println("---"+s1+"---");
		System.out.println("---"+s1.trim()+"---");
		System.out.println("---"+s2+"---");
		System.out.println("---"+s2.trim()+"---");
		System.out.println("---"+s3+"---");
		System.out.println("---"+s3.trim()+"---");
		System.out.println("------------------------");
		//按照指定字符串进行分割
		String s4="aa,bb,cc";
		String[] strArray=s4.split(",");
		for (String str : strArray) {
			System.out.println(str);
		}
	}

StringBuilder类的使用

1、StringBuilder类是一个可变的字符序列
2、StringBuilder类对象通过它的构造方法进行创建。常用的构造方法有StringBuilder() ,StringBuilder(String str) ——传入一个字符串(赋初值)

如:StringBuilder sb=new StringBuilder(); StringBuilder sb=new StringBuilder(“Hello World!”);

3、StringBuilder类的append(?)方法、insert(int offset,?)方法和reverse()方法
(1)StringBuilder类的append是一个重载方法,有很多的重载。可以接收String,char,char[],boolean,int,float,double,long,Object,StringBuffer类型的参数。

如:sb.append(123); sb.append(“123”);

(2)StringBuilder类的insert(int offset,?)也是一个重载方法。可以接受的参数类型与append方法相同。

如:sb.insert(1,123); sb.insert(1,“123”);

(3)reverse()方法的作用就是将StringBuilder中的内容反转。

实例 任意添加StringBuilder对象,并对其内容进行反转

	public static void main(String[] args) {
		StringBuilder sb=new StringBuilder();
		//添加字符串
		sb.append("hello");
		sb.append(" world!");
		System.out.println("sb:"+sb);
		System.out.println("---------------------");
		//反转字符串
		sb.reverse();
		System.out.println("sb:"+sb);
	}

4、StringBuilder与String之间的互相转换。StringBuilder–>String主要使用toString()方法。String–>StringBuilder主要是通过StringBuilder的构造方法,在创建StringBuilder对象时传入String对象。

实例 String <–>StringBuilder,代码如下:

	public static void main(String[] args) {
		StringBuilder sb=new StringBuilder();		
		sb.append("hello world!");
		//stringbuilder-->string
		String s=sb.toString();
		System.out.println("s:"+s);
		System.out.println("-----------------");
		//string-->stringBuilder
		StringBuilder sb2=new StringBuilder(s);
		System.out.println("sb2:"+sb2);
	}

ArrayList类的使用

1、ArrayList类是可调整大小的数组的实现List接口(List接口继承Collection接口)。每个ArrayList实例都有一个容量 。 容量是用于存储列表中的元素的数组的大小。 它总是至少与列表大小一样大。 当元素添加到ArrayList时,其容量会自动增长。其中的元素可以重复
2、ArrayList类有两个常用构造方法。ArrayList() 方法和ArrayList(Collection<? extends E> c) 方法。使用ArrayList(Collection<? extends E> c)方法创建ArrayList对象后,对象存储的数据类型唯一。
如:ArrayList arrayList=new ArrayList(); 这个ArrayList对象只能够存储String类型的数据。
3、ArrayList类很方便实现数据的CURD(数据的增删改查)操作。常用的的方法有add(E e)——在列表的末尾添加指定元素、add(int index, E element) ——在列表指定位置添加指定元素、remove(int index) ——删除列表指定索引处的元素且返回该元素、remove(Object o)——如果指定元素存在,则将其删除(只删第一次出现) 、set(int index, E element)——对指定索引处元素之进行修改 、get(int index)——获取指定索引处元素 、indexOf(Object o) ——获取指定元素第一次出现时的索引值、size() ——获取列表中元素的个数、clear() ——清空列表、isEmpty()——判断列表是否为空

实例 实现3中所述方法

	public static void main(String[] args) {
		//创建集合对象
		ArrayList<String> arrayList=new ArrayList<String>();
		//添加元素
		arrayList.add("hello");
		arrayList.add("world");
		arrayList.add("java");
		System.out.println("arrayList:"+arrayList);
		System.out.println("------------------------------");
		//获取元素
		System.out.println("arrayList[0]:"+arrayList.get(0));
		System.out.println("arrayList[1]:"+arrayList.get(1));
		System.out.println("arrayList[2]:"+arrayList.get(2));
		System.out.println("------------------------------");
		//获取列表中元素个数
		System.out.println("arrayList.size:"+arrayList.size());
		System.out.println("------------------------------");
		//修改元素
		arrayList.set(2, "android");
		System.out.println("arrayList:"+arrayList);
		System.out.println("------------------------------");
		//删除元素
		arrayList.add(1,"world");
		arrayList.remove("world");
		System.out.println("arrayList:"+arrayList);
		arrayList.add(1,"world");
		System.out.println("arrayList:"+arrayList);
		arrayList.remove(1);
		System.out.println("arrayList:"+arrayList);
	}

4、ArrayList类的遍历。可以使用for循环,也可以使用Collection接口提供的迭代器iterator()。

实例 分别用for循环和iteration()实现ArrayList类的遍历

	public static void main(String[] args) {
		//创建集合对象
		Collection<String> collection=new ArrayList<String>();
		collection.add("hello");
		collection.add("world");
		collection.add("java");
		//iterator迭代器
		Iterator<String> it=collection.iterator();
		//判断是否有元素
		while (it.hasNext()) {
			System.out.println(it.next());
		}
		System.out.println("---------------------");
		//foreach循环遍历
		for (String str : collection) {
			System.out.println(str);
		}
	}

Date类的使用

1、Date类用于表示特定的瞬间,可以根据需求表示时间
2、Date类常用的构造方法有Date(),Date(long date)。Date()方法会创建一个距离当前时间最近时间的毫秒数的Date对象。也就是当前时间据1970-1-1 00:00:00的毫秒数差。如:new Date();就表示系统时间。Date(long date)方法用于创建一个指定时间的Date对象。传入一个以毫秒为单位的时间参数。如:new Date(0);的时间就是1970-1-1 00:00:00(中时区时间)
3、Date类常用的成员方法有setTime(long time)——设置Date对象初始时间,getTime()——获取1970-1-1 00:00:00时间到设置时间的毫秒差。为了做实验方便,还需用到toLocaleString() 方法(已弃用)

实例 创建一个Date对象,设置其初识时间,最后将结果打印到控制台,代码如下:

	public static void main(String[] args) {
		//当前系统时间
		Date date=new Date();
		//将时间设置为初始时间 1970-1-1 00:00:00
		date.setTime(0);
		//返回的1970-1-1 00:00:00至今的毫秒数
		System.out.println(date.getTime());
		//返回时间标准格式(已过时)
		System.out.println(date.toLocaleString());
	}

4、Date类的格式化和转换。为了实现Date类的格式化和字符串之间的转换,我们需要借助SimpleDateFormat这个类。SimpleDateFormat常用的构造方法有SimpleDateFormat(String pattern) 。其中是指定一个日期格式。如:new SimpleDateFormat(“yyyy-MM-dd”);就是指定日期格式为“yyyy-MM-dd”。
(1)Date类的格式化输出可以利用SimpleDateFormat类的format(Date date)方法。传入一个日期类型参数,将其转换为指定的字符串格式。
(2)将一个字符串解析为Date类型可以利用SimoleDateFormat类的parse(String string)。传入的字符串必须和创建SImpleDateFormat对象时指定的格式一致,并且要抛出ParseException异常,防止解析错误。

实例 创建一个Date对象,先将其转换为指定格式字符串,然后将其重新转换为一个Date对象,代码如下:

	private static void main(String[] args) {
		//指定转换字符串格式
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		//创建Date对象
		Date date=new Date();
		//将Date对象转换为指定格式字符串
		String s=sdf.format(date);
		System.out.println(s);
		
		//将字符串解析为日期格式 解析格式必须和创建对象格式一样
		Date date2 = null;
		try {
			date2 = sdf.parse(s);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(date2);
	}

5、为了更加方便的对时间进行操作。Java里提供了一个抽象类Calendar类。
(1)如同其它抽象类一样,Calendar提供了一种类方法getInstance ,用于获取此类型的一般有用的对象。 Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当前日期和时间进行初始化。
如:Calendar rightNow = Calendar.getInstance();
(2)Calendar类提供了很多静态的成员变量。常用到的有Year,Month,DAY_OF_MONTH,Hour等。
(3)Calendar提供了很多成员方法。常用到的有get(int field) ——获取指定日历字段的值。当获取月份值时,要将最后的结果加1,因为默认1月为0;set(int field, int value)——对指定日历字段设置指定的值;add(int field, int amount) ——根据日期规则对日期字段的值进行加减

实例 获取当前时间年月日,然后对日期进行一定修改后,再次获取日期字段。将结果打印到控制台上,代码如下:

	public static void main(String[] args) {
		//获取系统当前时间
		Calendar calendar=Calendar.getInstance();
		//获取年、月、日
		int year=calendar.get(Calendar.YEAR);
		//1月默认为0 最后结果要加1
		int month=calendar.get(Calendar.MONTH)+1;
		int day=calendar.get(Calendar.DAY_OF_MONTH);
		System.out.println(year+"年"+month+"月"+day+"日");		
		//修改年月日
		calendar.set(Calendar.YEAR, 2050);
		calendar.add(Calendar.MONTH, +1);
		//获取年、月、日
		year=calendar.get(Calendar.YEAR);
		//1月默认为0 最后结果要加1
		month=calendar.get(Calendar.MONTH)+1;
		day=calendar.get(Calendar.DAY_OF_MONTH);
		System.out.println(year+"年"+month+"月"+day+"日");	
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值