String类及Date、SimpleDateFormat、Calendar的基本用法

一、String类的基本用法

1.1. String的注意事项

注意:1. String表示字符串类型,属于 引用数据类型,不属于基本数据类型。

            2. 在java中随便使用 双引号括起来 的都是String对象。

           例如:“abc”,“def”,“hello world!”,这是3个String对象

1.2 String类的不变性

1.字符串是常量,在创建之后不能更改

其实就是说一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。字符串本身不能改变,但str变量中记录的地址值是可以改变的。

2.源码分析,String类底层采用的是字符数组:
private final char value[]
private 修饰说明value只能在String类内部使用,而且又没有提供get方法,所以外部无法获取value数组,就无法改变数组中元素的值。
final修饰说明value是常量,一旦创建,就不能被改变,value一旦被初始化成某个数组,将永远指向这个数组,不可能再指向其它的数组了。

1.3 String类特点:

1. 一切都是对象,字符串事物 "" 也是对象。

2.类是描述事物,String类,描述字符串对象的类。

3.所有的 "" 都是String类的对象。

4.字符串是一个常量,一旦创建,不能改变。

 例题:

public class StringDemo {
			public static void main(String[] args) {
				//引用变量str执行内存变化
				//定义好的字符串对象,不变
				String str = "abc";
				System.out.println(str);
				str = "edf";
				System.out.println(str);
				}
				}

1.4 String类创建方式和比较

创建对象的数量比较
String s3 = “abc”;
在内存中只有一个对象。这个对象在字符串常量池中
String s4 = new String(“abc”);
在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中
 

 例题:

public class StringDemo2 {
	public static void main(String[] args) {
		//字符串定义方式2个, 直接=  使用String类的构造方法
		String str1 = new String("abc");
		String str2 = "abc";
		System.out.println(str1);
		System.out.println(str2);
		System.out.println(str1==str2);//引用数据类型,比较对象的地址 false
				System.out.println(str1.equals(str2));//true
			}
		}

 1.5 String类构造方法(常见构造方法) 

  public String():-------空构造
  public String(byte[] bytes):-------把字节数组转成字符串
  public String(byte[] bytes,int index,int length):-------把字节数组的一部分转成字符串
  public String(String original):-------把字符串常量值转成字符串

例题:

class StringTest{
    public static void main(String[] args) {
    	//最常用的方式
        String s1 = "我爱你中国";
        System.out.println(s1);//我爱你中国

        String s2 = new String("我爱你中国");
        System.out.println(s2);//我爱你中国

        char[] c = {'我' , '爱', '你', '中', '国'};
        String s3 = new String(c);
        System.out.println(s3);//我爱你中国
        String s4 = new String(c, 2, 3);
        System.out.println(s4);//你中国

        byte[] b = {65, 66 ,67, 68};
        String s5 = new String(b);
      
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Date类是Java中用于表示日期和时间的类。它提供了一些方法来获取和设置日期和时间的信息,比如年、月、日、时、分、秒等。可以使用Date类来创建一个具体的日期和时间对象,并对其进行操作和格式化。 SimpleDateFormat类是Java中的一个日期格式化类。它可以将日期对象按照指定的格式转换为字符串,并且也可以将字符串按照指定的格式解析为日期对象。使用SimpleDateFormat类,可以方便地对日期和时间进行格式化和解析操作。 在使用SimpleDateFormat类时,需要先创建一个SimpleDateFormat对象,并指定日期格式的模式。日期格式的模式可以包含一些特定的字符,比如"yyyy"表示年份,"MM"表示月份,"dd"表示日等。然后可以调用SimpleDateFormat的format()方法将日期对象格式化为字符串,或者调用parse()方法将字符串解析为日期对象。 例如,可以使用SimpleDateFormat类将一个Date对象转换为指定格式的字符串: ``` SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); String formattedDate = sdf.format(date); ``` 也可以使用SimpleDateFormat类将一个字符串解析为指定格式的Date对象: ``` SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateString = "2022-01-01"; Date parsedDate = sdf.parse(dateString); ``` 这样可以方便地进行日期和时间的格式化和解析操作。 总结起来,Date类和SimpleDateFormat类是Java中用于处理日期和时间的类,Date类用于表示日期和时间对象,而SimpleDateFormat类用于对日期和时间进行格式化和解析操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java中时间类DateCalendar的使用](https://download.csdn.net/download/u011282129/6028183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [第5关:Date类和SimpleDateFormat类的用法--常用类](https://blog.csdn.net/m0_46719152/article/details/110006901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值