Java基础笔记:Day_12 String类、日期类

[cadence]Allegro STEP-3D模型导入、匹配、导出的方法及注意事项 如果 Avaliable里面没有和symbols对应的文件,说明没有对应的3D模型,这时候需要在你的step路径下创建y与 .dra 封装文件相同名称的。选择好 Output file 和 name 之后呢,点击 Export。首先打开Setup - Step Package Mapping。注意:路径中不能有中文名称,有的话你会发现不能导出,也不会报错。在路径下将下载或者自己做的 3D模型文件改名之后,重新打开。可在View -> 3D View。 阅读详情

一、String类

1.字符串的分类:
不可变的字符串String:当对象创建完毕之后,其内容不能改变。一旦内容改变,便是一个新的对象。
可变的字符串StringBuilder/StringBuffer:当对象创建完毕之后,对象的内容可以改变,且当内容改变的时候,对象保持不变。
字符串其底层就是char[]数组,比如:

String str = "ABCD";//等价于↓
char[] str = {'A','B','C','D'}; 

2.字符串的创建问题

String对象的空值:

String str1 = null;//没有初始化,没有分配内存空间
String str2 = "";//初始化完毕,分配内存,无内容

因此我们在判断字符串是否为空的时候,要注意以上问题:具体是内存不空还是内容不空。另外,在使用字符串比较的时候。因此,单单比较内容的时候,我们往往使用equals方法。

另外,对于字符串常规的两种创建方法,如:

//以下两种方法有何区别
String str1 = "ABC";				//法一
String str2 = new String("ABC"); //法二

从对内存的使用来看,对于法一创建出来的“ABCD”,最多创建一个String对象,最少不创建String对象。因为,如果常量池中已经存在了“ABCD”,那么str1直接引用即可,此时不创建String对象,否则现在常量池中创建“ABCD”内存空间,再引用。

对于法二,最多创建两个String对象,至少创建一个String对象。如果常量池中不存在了“ABCD”那就先在其中创建一个,再在堆空间中创建一个对常量池进行引用。如果存在,直接开辟内存后引用。
在这里插入图片描述

那么此时也就会出现下面的现象:

System.out.println(str1 == str2);		//false
System.out.println(str1.equals(str2));  //true

当然,将这个问题引申一步之后:

public class Demo_02 {
	public static void main(String[] args) {
		//注释为编译前
		String str1 = "ABCD";				//String str1 = "ABCD";
		String str2 = "A"+"B"+"C"+"D";		//String str2 = "ABCD";
		String str3 = "AB"+"CD";			//String str3 = "ABCD";
		String str4 = new String("ABCD");	//String str4 = new String("ABCD");
		String str5 = "AB";					//String str5 = "AB";
		String str6 = str5+"CD";			//(new StringBuilder(String.valueOf(str5))).append("CD").toString();
		String str7 = getAB()+"CD";			//(new StringBuilder(String.valueOf(getAB()))).append("CD").toString();
		
		//输出结果
		System.out.println(str1 == str2);//true
		System.out.println(str1 == str3);//true
		System.out.println(str1 == str4);//false
		System.out.println(str1 == str6);//false
		System.out.println(str1 == str7);//false
	}
	
	private static String getAB()
	{
		return "AB";
	}
}

为什么会产生这种状况?对于str1到str3,涉及到了编译的优化问题。在编译的时候,就对其进行了优化,使其成为一个字符串常量。对于str5和str1的关系,是因为在编译时期,我们无法确定其值为多少,我们只检查了语法不存在错误。因此,编译器无法对其进行优化。str7同理,只有在运行时期才知道其值,编译器无法对其进行优化。

总结:
①.单独使用引号创建的字符串都是直接量 ,编译期就已确定存储到常量池中。
②.使用new方法创建的对象会存储都堆内存中,是运行时期才创建的。
③.使用只包含直接量的字符串连接符,比如像“+”,创建的也是直接编译期就能确定,已经确定的存储到常量池中(如上面的str2和str3)
④.使用包含String的直接量的字符都是只有在运行时期才能确定变量的值和方法的返回值,不存在编译优化操作。

3.StringBuilder/StringBuffer

对于二者的解释,根据JDK API 1.6可以查到:
StringBuffer:在这里插入图片描述

StingBuilder:在这里插入图片描述

//字符串的拼接
public class Demo_01 {
	public static void main(String[] args) {
		StringTest();			//205
		StringBufferTest();		//3
		StringBuilderTest();	//1
		
	}
	
	public static void StringTest()
	{
		long begin = System.currentTimeMillis();
		String str = "";
		for(int i = 0 ; i < 5000 ; i++)
		{
			str += i;
		}
		long end = System.currentTimeMillis();
		System.out.println(end - begin);
		
	}
	
	public static void StringBuilderTest()
	{
		long begin = System.currentTimeMillis();
		StringBuilder sb = new StringBuilder("");
		
		for(int i = 0 ; i < 5000 ; i++)
		{
			sb.append(i);
		}
		long end = System.currentTimeMillis();
		System.out.println(end - begin);
		
	}
	
	public static void StringBufferTest()
	{
		long begin = System.currentTimeMillis();
		StringBuffer sb = new StringBuffer("");
		
		for(int i = 0 ; i < 5000 ; i++)
		{
			sb.append(i);
		}
		long end = System.currentTimeMillis();
		System.out.println(end - begin);	
	}
}

StringBuffer和StringBuilder在功能上是一样的,都表示可变的字符串。
唯一的区别就是:StringBuffer中的方法都是用了synchronized修饰符,表示同步,在多线程并发的时候保证线程安全,性能会有所下降。但是StringBuilder中都没有使用synchronized修饰符,不安全,但是性能相对较高。因此,我们一般使用StringBuilder。

对于使用StringBuilder的时候,如果需要创建一初始容量的char[]数组,我们需要注意到以下问题。
在这里插入图片描述
例如:char[] value = new char[30];此时数组只能存储16个字符,一旦超过就需要自动扩容(此时性能将降低)。一般的,我们事先知道需要储存多少内容。

二 、随机数类

1.Random类
十分常用但是也十分简单的一个类,用于产生一个随机数(伪随机)。

int num = new Random().nextInt(150) + 50;//产生一个int型的,[50,150)的随机数。

2.TheadRandom类
Java7新增类,是Random的子类,再多线程并发情况下,可以相对于Random减少线程资源的竞争,保证了线程的安全性。整体来说,它比Random更为强大。

另外,因为构造器是默认访问权限只能在java.util中创建对象,因此提供了一个静态方法ThreadLocalRandom.current()用于返回当前类的对象。

ThreadLocalRandom random=THreadLocalRandom.current();//返回了一个ThreadLocalRandom对象
int num = random.nextInt(50,105)//返回一个int型的[50,105)的随机数。

3.UUID类

UUID在一台机器上生成的数字,它保证对在同一时空的机器都是唯一的。是一个128位长的数字,一般用16进制表示。核心算法思想是通过结合机器网卡、当地时间、一个伪随机数来生成UUID,我们一般用来表示随机的字符串。

String uuid = UUID.randomUUID().toString();
System.out.println(uuid);

三、 日期类

1.Date类
位于java.util.Date包中,表示特定的瞬间精确到毫秒。但是其中大量的方法都已过时(不代表不能用,只是不建议使用)。

2.DateFormat类
DateFormat可以完成日期的格式化操作。包括格式化(Date类型---->String类型)和解析(String类型—>Date类型)。
对于DateFormat的使用,

		Date date = new Date();
		DateFormat df = DateFormat.getDateInstance();//static修饰的,返回类型为DateFormat
		String time =df.format(date);
		System.out.println(time);

需要注意的是,DateFormat是经过abstract修饰过的,不能进行实例化操作。

3.SimpleDateFormat类
自定义日期类,可以根据自己需要定制任意格式的时间格式。具体使用情况如下:

		String pattern = "yyyy-mm-dd hh:mm:ss a";
		SimpleDateFormat mode_01 = new SimpleDateFormat();
		mode_01.applyPattern(pattern);
		String time = mode_01.format(new Date());
		System.out.println(time);

其模式以字符串形式构成,具体内容如下:
在这里插入图片描述
在这里插入图片描述

4.Calendar类
是一个抽象类,方法多为静态方法。多数情况下,我们使用calendar类的时候,使用getInstance()方法来创建对象。

Calendar date = Calendar.getInstance();

当然,此时创建出来date并不直观,简洁。因此我们通常需要再使用date.get(Calendar.YEAR)来使得提取出需要的信息(此处提取了年份)。
多数情况下,我们使用Calendar表示时间。

educoder实训——计算几何形状的表面积与体积 educoder python实训 阅读详情

相关推荐

【Qt串口调试助手】1.1 - Qt5编写串口调试助手,Qt串口编程

这章来学习串口数据流操作。仿照成品制作一个自己用Qt编写的串口助手。 1. 布局UI界面 创建QWidget工程,布局UI界面:拖入2个 Plain Text Edit,作为串口数据的接收显示和发送框。 拖入几个 Combo Box 、Label 和 Push Button,使用两个Widget进行布局。如下所示。 将接收区的 Plain Text Edit,属性勾选上 readOnly,使其运行时不会被人为的输入操作影响。 加入一些弹簧,使布局美观。(有必要可以加设置不能调整..

Mark_md的博客 9272

java系列:String类和日期类

String类 String是字符串类型,是“不可变”字符串,无线程安全问题,在java.lang.String包下; 注意事项: String str = "abc"和String str = new String("abc");的区别! String在设计之初,虚拟机就对他做了特殊化,将字符串保存在虚拟机内部的字符串常量池中,一旦我们要创建一个字符串,虚拟机就先去常量池中检查是否创建过这个字符串,如果有则直接引用,String对象因为有了上述的优化,就要保证该对象的内容自创建开始就不能改变!所以

希望你吃的每一顿饭都是因为喜欢,而不是因为便宜。 597

保姆级教程:Synology NAS共享文件夹从创建到权限设置的完整流程

本文提供了一份详尽的Synology NAS共享文件夹创建与权限设置指南。重点讲解了如何将NAS接入企业AD域,并利用域管理员账户进行集中身份验证和权限管理。文章从基础概念、域环境配置、文件夹创建、精细化权限分配到客户端访问与维护,完整覆盖了构建安全高效企业级文件共享空间的全流程,旨在帮助管理员实现便捷的团队协作与数据安全管理。

u9v0w的博客 552

常用类String、时间日期类

七,常用类 1.String 1)String内存解析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3GHmZwk-1598586863526)(E:\Typora笔记\images/QQ截图20200624101555.png)] 2)String的使用 /* String:字符串,使用一对 "" 引起来表示。 1.String声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的。

星海IT学习之路 1687

TP4054充电电路发热严重?手把手教你调整电阻值降低温度(附实测数据)

本文针对TP4054锂电池充电电路发热严重的问题,提供了详细的排错与解决方案。通过分析发热原理,指出核心在于PROG引脚电阻值设定,并手把手指导如何计算和选择正确的电阻以降低充电电流与温度。文末附有不同电阻下的实测温度与性能数据,为电子爱好者和工程师提供了实用的调试参考。

p4q5r6s7t的博客 406

软件设计师考试下午题代码部分详解:23种设计模式全面解析

软件设计师考试的下午题通常会考察设计模式的应用,这部分内容既是重点也是难点。本文将系统地介绍考试中常见的23种设计模式,通过详细代码示例和通俗易懂的讲解,帮助考生掌握这些核心知识点,提高应试能力。概念:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用场景:系统要独立于产品的创建、组合和表示时;系统要由多个产品系列中的一个来配置时。@Override@Override@Override@Override// 产品族A@Override。

4万+

【JavaLearn】 # (8)Java的常用类:包装类、String类、日期类

1. 包装类 1.1 引入包装类 我们经常使用的基本数据类型并不是对象,有时为了业务需求,需要将基本数据类型转换成对象。 Java对每个基本类型都设计了一个对应的包装类(Wrapper Class) byte(Byte)、boolean(Boolean)、short(Short)、char(Character)、int(Integer)、long(Long)、float(Float)、double(Double) 优点: 某些方法的参数必须是对象。为了让基本数据类型的数据能作为参数,提供包装类 还可以提供

LRcoding 2329

[机器学习] 第二章 模型评估与选择 2.ROC:roc_curve原理及源代码详解

代码见:https://github.com/Carrie-Yi/machine_learning/tree/main/roc_curve

心宝的博客 1493

小汤学编程之JAVA基础day10——常用类(二):String常用方法、正则、StringBuffer和StringBuilder、Math和Random类、日期类和数字类

一、String常用方法 功能 代码 长度 .length() 拼接 .concat() (相比于用+号拼接,该方法使用数组更加有效率) 格式化 方式一(常用):.printf(“大家好,我的名字叫:%s,我今年:%d岁了”,“曹操”,18);方式二:.format(参数同方法一) (区别在于是直接用String类名调用) 返回指定索引出的字符 .charAt() (如果没找到会报错) 返回指定字符串在此字符串中第一次出现处的索引 .indexOf() (如果没找到返...

SoupTC的博客 424

ESP32网络开发实例-开发环境搭建

NodeMCU-ESP-32S开发环境搭建 NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340。WiFi 蓝牙ESP-32 可用Arduino IDE ESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。 此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低

视觉与物联智能 3781

MATLAB地理数据处理 25:植被物候提取及分析模型优化(Savitzky-Golay)

之前我写过一篇使用Savitzky-Golay处理遥感数据,获取地面物候信息的MATLAB代码,但是发现存在一些问题:对物候开始期和物候结束期的阈值设定都为相同值,但是有些研究中,需要根据不同的环境条件,设置不同的物候阈值,所以对其进行相应的修改。

amyniez的博客,欢迎交流讨论 2233

day12Java常用API

01 String类和StringBuffer类 02 System类和Runtime类 03 Math类和Random类 04 包装类 05 日期类

喝醉酒的小白 4289

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java基础 day15 常用类(方法) 包装类

与字符串相关的类: String类:

龙龙的博客 212

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

常用类 String,Stringbuffer,Stringbuilder 包装类 日期类

关键知识点和补充 学会自己用API 看构造器,方法,方法的参数,方法的返回值 字符串在内存中是以字符数组的形式存储的 String是类,"aaa"这种就是类的实例,直接写存储在方法区的字符串常量池中,但是new出来的存放在堆中 String s = new String ("abc") 在方法区中创建了字符串字面常量(只有一份),堆中也创了一个对象,将方法区中的地址传递给堆 常用的方...

snaker 279

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Day15 Java StringBuffer类、基本类型包装类

StringBuffer类中的功能,基本包装类,Math类,日期类 String与int类型之间的转换

m0_64350718的博客 410

Java基础day13

Java基础day13Java基础部分day13-常用API&异常1.包装类1.1基本类型包装类1.2Integer类1.3int和String类型的相互转换1.4字符串数据排序案例1.5自动拆箱和自动装箱2.时间日期类2.1Date类2.2Date类常用方法2.3SimpleDateFormat类2.4日期工具类案例2.5Calendar类2.6二月天案例3.异常3.1异常3.2JVM默认处理异常的方式3.3try-catch方式处理异常3.4Throwable成员方法3.5编译时异常和运行时异常

原文的博客 601

【java】String类的使用以及日期类的初次接触

今天内容 String类 StringBuffer和StringBuilder类 日期相关的类 1.String类(重中之重) 1.1 常用的方法(练熟、熟记) boolean contains(CharSequence s) boolean endsWith(String suffix) boolean startsWith(String prefix) String to

Steve_Abelieve 361

Java基础回顾 Day1

java基础回顾

2201_75454728的博客 668

java几个常用类

引用类型String和StringBufferString类型的赋值理解Int a=3;a = 5;这段代码的含义是:首先申请内存单元,命名为a 同时将3这个值存储内存单元中,然后又将5这只存入内存单元中,这个内存单元的之前的只在被赋值后就被修改了。 String str =new String(“abc”)Str = “123”;对于引用而言 赋值并不是改变与原来的引用对象的值 而只是调整了引用...

a314290362的博客 1万+

JAVA基础Day12

一、数学类二、日期类符号解释y年M月w这一年的第几个周W这个月的第几个周D这一年的第几天d这一月的第几天H0~23点k1~24点m分钟s秒S毫秒 3.Calendar:日历。是JDK1.1中出现的建议取代Date的类 4.在JDK1.8中,对日期结构进行了重新的调整,增加了一个表示日期和时间的包:java.time三、包装类基本类型byteshortintlongfloatdoublecharbooleanvoid引用类型ByteShortIntegerLongFloatDoub

Sunqiang_的博客 143

JAVA中Date类的使用

JAVA中Date类的使用 一、 Date类 Date类对象的创建: 1**、创建一个当前时间的Date对象** //创建一个代表系统当前日期的Date对象 Date d = new Date(); 2**、创建一个我们指定的时间的Date对象:** 使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。 //创建一个代表2014年6月12号的

qq_42295268的博客 1967

java面向对象—— String类 Date类 Calendar类

String类 String类和四类八种数据类型不一样 使用频率非常高 为了简化代码 String类不需要实例化 String类的数据永远存放在常量池 new String()实际上创建2个对象, 一个堆中的地址,一个常量池中真实的数据 String类不用创建,可以直接调用 toCharArray():把字符串分隔开 ...

tcbdbd的博客 253

JAVA学习笔记day08

1.基本类型包装类 1.1基本类型包装类概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 1.2Integer类的概述和使用 integer:包装一个对象中的原始类型int的值 1.3int 和string的相互转换 基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换 1.int转换为string public static string valueOf(int i):返回int参数

qq_41988770的博客 867

【day16】Java开发常用API

Math构造方法私有,不能实例化。方法都是静态的,可以直接通过类名调用。BigInteger类用于处理超出long范围的超大整数。:参数必须是数字形式的字符串。:返回两数之和。:返回两数之差。:返回两数之积。:返回两数之商。BigDecimal类用于解决float和double运算中的精度损失问题。:参数必须是数字形式的字符串。:初始化小数时可以传入double型数据。:返回两数之和。:返回两数之差。:返回两数之积。:返回两数之商。:指定保留小数位数和取舍方式的除法。

程序员波特 1394

JavaSE学习笔记 Day16

常用工具类、字符串

CHiN_951的博客 960

Java学习日记(day11)

在数组的学习中我们不难发现数组本身的大小在我们声明时就已经确定,又由于数组的length在我们Java中又被定义为final类型,所以我们无法对它进行修改。Calendar是一个抽象类,所以不能像之前我们调用类的方法哪有之间使用new来创造对象,所以在JDK中加入了一个静态方法来返回一个Calendar类型的对象。Java中的String是引用类型的,可以像基本类型一样使用,字符串存放在栈中的常量池中;HashMap:key不能重复,key重复则value被覆盖,key的值可以为null,有且只有一个。

qq_59031302的博客 746
上一篇: Java基础笔记:Day_11 Eclipse的使用
下一篇: Java基础笔记:Day_13 异常机制相关
Panda不姓潘
博客等级 码龄8年 152粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值