Java学习分享系列(一)

Java学习分享系列(一)

博主只是一个小白,借着这个平台来分享和总结自己的一周的收获,如果下面的内容有纰漏或者错误欢迎友好的批评指正。

工欲善其事,必先利其器

						————————————eclipse快捷键
  1. alt + / 自动补全
  2. ctrl +o:快速outline视图
  3. ctrl + shift + r:打开资源列表
  4. ctrl + shift + f:格式化代码
  5. ctrl + e:快速转换编辑器
  6. ctrl + page down 或 ctrl + page up: 选项卡之间快速切换
  7. shift + enter 及 ctrl + shift + enter: 在当前行上或者下边创建空白
  8. Alt + 方向键上下:上下行交换内容或把当前行内容把上或下移动
  9. Control + Alt +方向上下键:复制高亮显示的一行或多行
  10. ctrl+m:当前编辑页面窗口最大化
  11. ctrl+/:自动注释当前行或者选择的多行
  12. ctrl+shift+/:自动注释掉选择的代码块
  13. ctrl+d:删除当前行
  14. ctrl + shift + x 和 ctrl + shift + y :英文字母大小写的转换
  15. ctrl + shift+ o:自动引入包和删除无用包

基本类型和运算符

1、基本类型
1.整数类型 byte
使用byte关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。byte型是整型中所分配的内存空间是最少的,只分配1个字节;取值范围也是最小的,只在-128和127之间,在使用时一定要注意,以免数据溢出产生错误
2.整数类型 short
short型即短整型,使用short关键字来定义short型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。系统给short型分配2个字节的内存,取值范围也比byte型大了很多,在-32768和32767之间,虽然取值范围变大,但是还是要注意数据溢出
3.整数类型 int
int型即整型,使用int关键字来定义int型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。int型变量取值范围很大,在-2147483648和2147483647之间,足够一般情况下使用,所以是整型变量中应用最广泛的
4.整数类型 long
long型即长整型,使用long关键字来定义long型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。而在对long型变量赋值时结尾必须加上“L”或者“l”,否则将不被认为是long型。当数值过大,超出int型范围的时候就使用long型,系统分配给long型变量8个字节,取值范围则更大,在-9223372036854775808和9223372036854775807之间
5.浮点类型
float型即单精度浮点型,使用float关键字来定义float型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在对float型进行赋值的时候在结尾必须添加“F”或者“f”,如果不加,系统自动将其定义为double型变量。float型变量的取值范围在1.4E-45和3.4028235E-38之间
6.浮点类型 double
double型即双精度浮点型,使用double关键字来定义double型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在给double型赋值时,可以使用后缀“D”或“d”明确表明这是一个double类型数据,但加不加并没有硬性规定,可以加也可以不加。double型变量的取值范围在4.9E-324和1.7976931348623157E-308之间
7.字符类型 char
char型既字符类型,使用char关键字进行声明,用于存储单个字符,系统分配两个字节的内存空间。在定义字符型变量时,要用单引号括起来,例如‘s’表示一个字符,且单引号中只能有一个字符,多了就不是字符类型了,而是字符串类型,需要用双引号进行声明
8.布尔类型 boolean
布尔类型又称逻辑类型,只有两个值“true”和“false”,分别代表布尔逻辑中的“真”和“假”。使用boolean关键字声明布尔类型变量,通常被用在流程控制中作为判断条件
2、标识符的声明与C++大体类似,我就不过多的赘述了。
3、运算符
运算符共有7个,分别是赋值运算符,算数运算符,自增自减运算符,比较运算符,逻辑运算符,位运算符,三元运算符。
1.赋值运算符
赋值运算符即“=”,是一个二元运算符(即对两个操作数进行处理),其功能是将右方操作数所含的值赋值给左方的操作数,语法如下所示:
变量类型 变量名 = 所赋的值;
2.算术运算符
Java中的算术运算符主要有+(加号)、-(减号)、*(乘号)、/(除号)和%(求余),它们都是二元运算符
3.自增自减运算符
自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算;放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)
4.比较运算符
比较运算符属于二元运算符,用于程序中的变量和变量之间、变量和常量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则结果是false。比较运算符通常用在条件语句中来作为判断的依据
5.逻辑运算符
逻辑运算符包括&&(&)(逻辑与)、||(|)(逻辑或)和!(逻辑非),返回值为布尔类型的表达式,操作元也必须是boolean型数据。和比较运算符相比,逻辑运算符可以表示更加复杂的条件,例如连接几个关系表达式进行判断。在逻辑运算符中,除了“!”是一元运算符之外,其余的都是二元运算符
6.位运算符
位运算符用于处理整型和字符型的操作数,对其内存进行操作,数据在内存中以二进制的形式表示,例如int型变量7的二进制表示是00000000 00000000 00000000 00000111,-8的二进制表示是111111111 111111111 1111111 11111000,最高位是符号位,0表示正数,1表示负数
7.三元运算符
三元运算符是Java中唯一一个三目运算符,其操作元有三个,第一个是条件表达式,其余的是两个值,条件表达式成立时运算取第一个值,不成立时取第二个值,示例代码如下所示:
boolean b = 20 < 45 ? true : false;
3、运算符优先级

在这里插入图片描述
4、与C++一样,java的类型转换也是有两种。
一种是显示转化,一种是隐式转化。

显示转化:
当把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。语法如下所示:
(类型名)要转换的值

隐式转化:
Java中8种基本类型可以进行混合运算,不同类型的数据在运算过程中,首先会自动转换为同一类型,再进行运算。数据类型根据占用存储空间的大小分为高低不同的级别,占用空间小的级别低,占用空间大的级别高,自动类型转换遵循低级到高级转换的规则

各种语句

1.复合语句
同C语言或其他语言相同,Java语言的复合语句是以整个块区为单位的语句,所以又称块语句。复合语句由开括号“{”开始,闭括号“}”结束。在定义一个类或方法时,类体就是以“{ }”作为开始与结束的标记,方法体同样也是以“{ }”作为标记。对于复合语句中的每个语句都是从上到下地被执行。复合语句以整个块为单位,可以用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句
2.条件语句
条件语句有两种,一种是另一种是swtich。
1.if语句
if条件语句是一个重要的编程语句,它用于告诉程序在某个条件成立的情况下执行某段程序,而在另一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。if条件语句可分为简单的if条件语句、if…else语句和if…else if多分支语句
2.swtich多分枝语句
switch语句中表达式的值必须是整型或字符型,常量值1~常量值n必须也是整型或字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case里的若干个语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,而且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理
3.循环语句
循环语句有while,do …while,for循环语句三种
1.while语句
while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句,语法如下所示:
while(条件表达式) {
执行语句
}
当条件表达式的返回值为真时,则执行{}中的语句,当执行完{}中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环

2.do …while语句
do…while循环语句与while循环语句类似,它们之间的区别是while语句为先判断条件是否成立再执行循环体,而do…while循环语句则先执行一次循环后,再判断条件是否成立。也就是说do…while循环语句中大括号中的程序段至少要被执行一次,语法如下所示:
do {
执行语句
}
while(条件表达式);
与while语句的一个明显区别是do…while语句在结尾处多了一个分号(;)

3.for语句
for循环是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某条语句,直到某个条件得到满足。
语法如下所示:
for(表达式1;表达式2;表达式3) {
语句序列
}
表达式1:初始化表达式,负责完成变量的初始化。
表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件。
表达式3:循环后操作表达式,负责修整变量,改变循环条件

foreach是for的增强
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便,语法如下所示:
for(元素变量x : 遍历对象obj) {
引用了x的java语句;
}

String类
1.讲String类就要先讲字符串

在Java语言中字符串必须包含在一对“ ”(双引号)之内。例如:
“23.23”、“ABCDE”、“你好”
这些都是字符串常量,字符串常量是系统能够显示的任何文字信息,甚至是单个字符。
String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。在Java中用String类的构造方法来创建字符串变量。几种常用的构造方法如下:
String():一个String对象,使其表示一个空字符序列。
String(char a[]):用一个字符数组a创建String对象。
String(char a[], int offset, int length)
提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。

如何连接字符串

使用“+”运算符可完成对多个字符串连接的功能。“+”运算符可以连接多个运算符并产生一个String对象字符串也可同其他基本数据类型进行连接。如果将字符串同这些数据类型数据进行连接,会将这些数据直接转换成字符串
获取字符串信息
使用String类的length()方法可获取声明的字符串对象的长度。
语法如下:
str.length();
其中,str为字符串对象
字符串的查找
使用String类的length()方法可获取声明的字符串对象的长度。
语法如下:
str.length();
其中,str为字符串对象
获取指定的索引位置的字符
使用charAt()方法可将指定索引处的字符返回。
语法如下:
str.charAt(int index)
str:任意字符串。
index:整型值,用于指定要返回字符的下标

获取子字符串
通过String类的substring()方法可对字符串进行截取。这些方法的共同点就是都利用字符串的下标进行截取,并应明确字符串下标是从0开始的。
substring()方法被两种不同的方法重载,来满足不同的需要。
(1)substring(int beginIndex)
(2)substring(int beginIndex, int endIndex)
去空格

trim()方法返回字符串的副本,忽略前导空格和尾部空格。
语法如下:
str.trim()
其中,str为任意的字符串对象
== 字符串的替换==

replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。
语法如下:
str.replace(char oldChar,char newChar)
oldChar:要替换的字符或字符串。
newChar:用于替换原来字符串的内容。
replace()方法返回的结果是一个新的字符串。如果字符串oldChar没有出现在该对象表达式中的字符串序列中,则将原字符串返回

判断字符串的开始与结尾

startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。
startsWith()方法
该方法用于判断当前字符串对象的前缀是否是参数指定的字符串。
语法如下:str.startsWith(String prefix)
其中,prefix是指作为前缀的字符。
endsWith()方法
该方法用于判断当前字符串是否是以给定的子字符串结束。
语法如下:str.endsWith(String suffix)
其中,suffix是指作为后缀的字符串

判断字符串是否相等

判断字符串是否相等有equals()、equalsIgnoreCase()两种方法,而又有各自的规则,使用不好就会出错,所以一定要区分好什么时候用哪种方法。
String类的startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始和结尾。这两个方法的返回值都为boolean类型。
按字典的顺序比较两个字符串
compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为0。
语法如下:
str.compareTo(String otherstr)
其中,str、otherstr是参加比较的两个字符串对象。
字母的大小写替换

字符串的toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()方法可将字符串中的小写字母改写为大写字母
字符串的分割
split()方法根据指定的分割符对字符串进行分割,并将分割后的结果存放在字符串数组中。split()方法提供两种重载形式。
split(String sign)方法
该方法根据指定的分割符对字符串进行完全分割。
split(String sign,int limit)方法
该方法根据给定的分割符对字符串进行拆分,并限定拆分的份数

日期和时间的字符串格式化
在应用程序设计中,经常需要显示时间和日期。如果想输出满意的日期和时间格式,一般需要编写大量的代码经过各种算法才能实现。format()方法通过给定的特殊转换符作为参数来实现对日期和时间的格式化

使用format()方法对日期进行格式化时,会用到日期格式化转换符,常用的日期格式化转换符如下所示
在这里插入图片描述

使用format()方法对时间进行格式化时,会用到时间格式化转换符,时间格式化转换符要比日期转换符更多、更精确,它可以将时间格式化为时、分、秒、毫秒。常用的时间格式化转换符如下图所示
在这里插入图片描述

在程序设计过程中,经常需要对常规类型的数据进行格式化,例如格式化为整数,格式化为科学计数表示等,在Java中可以使用常规类型的格式化转换符来实现,下图列出了常规类型的格式化转换符
在这里插入图片描述
判断是否符合正则表达式的方法
为了检查输入的数据是否满足某种格式,从JDK1.4开始可以使用String类的matches()方法进行判断。语法如下所示:
boolean matches(String regex)
þ regex:指定的正则表达式
þ 返回值:返回boolean类型
该方法用于告知当前字符串是否匹配参数regex指定的正则表达式。返回值是boolean类型,如果当前字符串与正则表达式匹配,则该方法返回true,否则返回false。

正则表达式是由一些含有特殊意义的字符组成的字符串,这些含有特殊意义的字符称为元字符,下图列出了正则表达式的部分元字符
在这里插入图片描述

在使用正则表达式时,如果需要某一类型的元字符多次输出,逐个输入就相当麻烦,这时可以使用正则表达式的限定元字符来重复次数。下图列出了常用限定符及其含义
在这里插入图片描述

在正则表达式中还可以用方括号把多个字符括起来,方括号中各种正则表达式代表不同的含义。下图列出了方括号中元字符及其含义在这里插入图片描述
最后在介绍一个StringBuilder类

StringBuilder类,即字符串生成器,新创建的StringBuilder对象初始容量是16个字符,可以自行指定初始长度,也可以动态地执行添加、删除和插入等字符串的编辑操作,大大提高了频繁增加字符串的效率。如果附加的字符超过可容纳的长度,则StringBuilder对象将自动增加长度以容纳被附加的字符

StringBuilder类的构造方法有很多,主要是参数上的区别,这里我们主要介绍几种在编程中经常会用到的方法。
StringBuilder append(String str)方法
StringBuilder append(StringBuffer sb)方法
StringBuilder insert(int offset, String str) 方法
StringBuilder delete(int start, String end)方法
String toString() 方法。
————————————————————
这周就这么多不写了,累了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值