一、前言
因为工作有点忙,个人有点懒,所以看书一直都是断断续续的,这里整理一部分之前看的笔记,希望能和众多码农们共勉,有什么不足或者错误的地方,希望大家能在评论区中指出,谢谢。
二、Java应用程序
这里主要描述Java应用程序中的一些注意事项:
1.Java区分大小写。
2.根据Java语言规范,main方法必须声明为public。
3.Java使用的通用语法是:object.method(parameters)。这等价于函数调用。
4.Java中定义类名的规则:名字必须以字母开头,后面可以跟字母和数字的任意组合,长度无限制,不能使用Java保留关键字。类名是以大写字母开头的名词,遵循驼峰命名法。
三、Java中的注释
Java中的注释分为三种:
1.第一种注释:// 其注释内容从//开始到本行结尾。
2.第二种注释:/*.........*/ 其表示将一段较长的内容注释括起来。
3.第三种注释:/**.........*/ 可以用来自动生成文档。
四、数据类型
Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在Java中,一共有八种基本类型,其中有四种整型,两种浮点类型,一种用于表示Unicode编码的字符类型char和一种表示真值得boolean类型。
整型:
1.int(4字节)
2.short(2字节)
3.long(8字节)
4.byte(1字节)
浮点型:
1.float(4字节)
2.double(8字节)
double表示这种类型的数值精度是float类型的两倍。
boolean类型有两个值:false和true,用来判定逻辑条件。(注:整型值和布尔值之间不能进行相互转换)
五、变量和常量
1.变量
变量名的要求:首先,必须是一个以字母开头并由字母或者数字构成的序列;其次,变量名中的所有字符都是有意义的,并且大小写敏感;第三,长度没有限制;最后,不能使用Java保留关键字作为变量名。
变量的声明:可以在一行中声明多个变量,不过不提倡这种写法,逐一声明每一个变量可以提高程序的可读性。声明一个变量之后,必须用赋值语句对变量进行显式初始化,同时,变量的声明尽可能的靠近变量第一次使用的地方。
2.常量
在Java中,利用关键字final指示常量,关键字final表示这个变量只能被赋值一次,一旦被赋值知乎,就不能够再更改了,习惯上,常量名使用全大写。
类常量:某个常量可以在一个类中的多个方法中使用,可以使用关键字static final设置一个类常量,类常量的定义位于main方法的外部。
六、运算符
1.strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。
2.当两个数值进行二院操作的时候,需要将其转化为同一种数据类型,然后再进行计算。
图(一)数值类型间的合法转换
3.强制类型转换的语法格式是在圆括号内给出想要转换的目标类型,后面紧跟待转换的变量名。
4.i++和++i的区别与联系:都会使变量值加一,但用在表达式中时,而这就有区别了,++i会先完成加一,而i++则会使用变量原来的值。
5.&&和||运算符是按照“短路”方式来求值的,如果第一个操作数已经能够确定表达式的值,那么第二个操作数就不必计算了。
七、字符串
1.概念:Java字符串就是Unicode字符序列。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,很自然的叫做String,每个用那个双引号括起来的字符串都是String类的一个实例。由于不能修改Java字符串中的字符,所以在Java文档中将String类对象称为不可变字符串。Java允许使用+号连接两个字符串。
2.简单的方法介绍:
subString方法可以从一个较大的字符串中提取出一个子串。
equals方法可以用来检测两个字符串是否相等。
equalsIgnoreCase方法可以忽略字符串大小写从而检测字符串是否相等。
(注:双等号只能够确定两个字符串是否放置在同一个位置,不能检测是否相等,当然,放在同一个位置上的两个字符串必定相等)
3.特殊情况:
空串”“是长度为0的字符串。
String变量还可以存放一个特殊的值,名为null,这表示目前没有任何对象与该变量关联。
八、输入输出
1.输入:要想通过控制台输入,首先需要构造一个scanner对象,并与”标准输入流“System.in关联。
语法格式:Scanner in = new Scanner(System.in)。
2.输出:
System.out.println();:是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString()方法,将返回值输出到控制台
System.out.print();: 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf();:这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出,由于这里主要讲解Java的输出,而且这个方法在Java中也不算常用,所以详细请自行百度。
九、控制流程
Java使用条件语句和循环结构确定控制流程。
条件语句的格式: if(condition)statement。
循环体:
1.while循环格式:while(condition)statement。
如果希望循环体至少执行一次,则应该将检测条件放在最后,使用do/while循环语句可以实现这种操作形式。
2.do/while循环格式:do statement while(condition)。
3.for循环:
for循环浮点型数据会存在精度问题,所以条件中如果有浮点型数据要慎用。
4.switch语句:
switch语句中,case标签可以是:
a、类型为char,byte,short或int的常量表达式。
b、枚举变量。
c、从Java SE 7开始,case标签还可以是字符串字面量。
跳出循环使用标签break;跳出多重循环使用带标签的break语句,标签放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
十、大数值
如果基本的整数和浮点数精度不够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal类实现了任意精度的浮点数运算。
不过它们不能使用算术运算符,需要使用add和multiply方法。
十一、数组
1.概念:数组是一种数据结构,用来存储同一类型值得集合。
2.数组的声明:在声明数组变量时,需要指出数组类型和数组变量的名称;使用new运算符创建数组;一旦创建了数组,就不能再改变它的大小。
声明数组有两种方式:a、Int[] aa。 b、int aa[]。
3.数组的一些方法:
a、如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类中的copyOf 方法。
b、如果想要对数值型数组进行排序,可以使用Arrays类中的sort方法,这个方法使用了优化的快速排序算法。