一,Java基本语法
1,Java中的程序代码都必须放在一个类中,类需要使用class关键字义,在class前面可以有一些修饰符,如以下格式
修饰符+class类名{
代码
}
2,Java中的程序代码可分为结构定义语句和功能执行语句。
Java语言严格区分大小写。
在Java基本格式中,语句结束时要以分号结尾,Java语言严格区分大小写,长的字符串分开写要以"+"相连接
Java的注释格式分单行注释与多行注释
//为单行注释 /**/为多行注释
3,Java标识符
(1)标识符可以简单地理解为一个名字,是用来标识类名、变量名、方法名、数组名、文件名的有效 字符序列。
(2)Java 语言规定标识符由任意顺序的字母、下画线(_)、美元符号(S)和数字组成,并且第一个字符 不能是数字。标识符不能是 Java 中的关键字(保留字)。
(3)字母数字下划线组成,不能以数字开头
包名所有字母小写、类名与接口名第一个字母要大写单词间要与下划线链接、变量名和方法名第一个字母小写第二个字母之后为大写、程序中尽量使用有意义的标识符见名之意.
(4)Java关键字:定义一个类型不能使用关键字
4,Java中的常量
在Java中,常量包括整型常量(进制),浮点数常量(float double),字符常量(' '),字符串常量(“ ”),布尔常量(true真和false假),null常量
二,Java的变量
1,整数类型变量
用来存储整数数组,既没有小数部分的值。
整数类型分为4种不同的类型:字符型(byte),短整型(short),整型(int)和长整型(long)
(long类型,需在整数后加大写L)
2,浮点型
浮点数类型变量用来存储小数数值
浮点数类型分为2种:单精度浮点数(float),双精度浮点数(double),double型所表示的浮点数比float型更精确
(long类型,需在整数后加 "f"或"F")
3,字符型
用来储存一个单一字符,在Java种用char表示。占2个字节.赋值时用英文半角格式单引号(' ')把字符括起来
4,布尔类型
布尔类型变量用来储存布尔值,在Java种用Boolean表示,该类型的变量只有两个值(ture和false)
5,运算符
(1)自动类型转换:看两种数据类型兼容,目标类型取值大于原类型
(2)强制类型转换:目标类型 变量=(目标类型) 值 会造成数据类型丢失
算术运算符:++,--,/,*,%
赋值运算符:+=,-=,=,
比较运算符:==,!=,<,>,<=,>=
(3)自增自减
++a(-a) //表示在使用变量a之前,先使a的值加(减)1
a++(a--) //表示在使用变量a之后,使a的值加(减)1
$$ 两者都为真 结果才为真
|| 只要有一者为真 结果才为真
! 非真即假 非假即真
& 两者都为1 结果才是1
| 只要有一者为1 结果就是1
^ 两者相同即为0,不同为1
(4)例题练习
三,结构语句
1,if语句
if(条件语句){
代码
}
2,if...else语句->if...else语句指如果满足某种条件,就进行某种处理,否则就进行下一步
if(判断条件){
执行语句1
}else{
执行语句2
}
3,三元运算符
判断条件?表达式1:表达式2
4,if...else if...else语句
5,switch条件语句
6,while语句
while(循环条件){
执行语句
}
7,do...while循环
do{
执行语句
}while(循环条件)
8,for循环语句
for(初始化表达式:循环条件:操作表达式){
执行语句
}
9,循环嵌套
10,跳转循环(break,continue)
例题练习
五,数组
1,一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据,或者传递一数据时,可以应用这种类型的数组。本节将讲解一维数组的创建、初始化及使用。数组名字就是被连接到数组变量的名称,数组元素的个数就是指定数组中变量的个数,即数组的长度。
使用 new 关键字为数组分配内存时,必须指定数组元素的类型和数组元的个数,即数组的长度。
2, 如果一维数组中的各个元素仍然是一个数组,那么它就是一个二维数组。二维数组常用于表示表,麦中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。
3,排序
通过 Arrays 类的静态方法 sort0可以实现对数组的排序。sot0方法提供了多种重载形式,可对任意类型的数组进行升序排序。
4,复制数组
Arrays类的copyOf0万法与 copyOfange0方法可以实现对数组的复制。copyOf0方法是复制数组至指定长度,copyOfRange0方法则将指定数组的指定长度复制到一个新数组中 。
6,数组排序算法
数组有很多常用的算法,本节将介绍常用的排序算法,包括冒泡排序、直接选择排序和反转排序。
在程序设计中,经常需要将一组数列进行排序,这样更加方便统计与查询。程序常用的排序方法有冒泡排序、选择排序和反转排序等。本节将讲解冒泡排序方法,它以简洁的思想与实现方法而备受开发人员青睐,是广大学习者最先接触的一种排序算法。
冒泡排序是最常用的数组排序算法之一,它排序数组元素的过程总是将较小的数往前放、较大的数往后放,类似水中气泡往上升的动作,所以称为冒泡排序。
冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
6,直接选择排序
直接选择排序属于选择排序的一种,它的排序速度要比冒泡排序快一些,也是常用的排序算法初学者应该掌握。
直接选择排序的基本思想是将指定排序位置元素与其他数组元素分别对比,如果满足条件就交换元素值。注意这里与冒泡排序的区别,不是交换相邻元素,而是把满足条件的元素与指定的排序位置元素交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,直至整个数组都变成已排序好的格式这就好比有一个小学生,从包含数字 1~10 的乱序的数字堆中分别选择合适的数字,组成一个1-10的排序,而这个学生首先从数字堆中选出 1,放在第一位,然后选出2(注意这时数字堆中已经没有1了)放在第二位,以此类推,直到其找到数字 9,放到 8 的后面,最后剩下 10,就不用选择了,直接放到最后就可以。
与冒泡排序相比,直接选择排序的交换次数要少很多,所以速度会快些。
每一趟从待排序的数据元素中选出最小(或最大的一个元素,顺序地放在已排好序的数列的最后,直到全部待排序的数据元素排完。
7,反转排序
反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素与第一个元素替换,倒数第二个元素与第二个元素替换,以此类推,直到把所有数组元素反转替换。
反转排序是对数组两边的元素进行替换,所以只需要循环数组长度的半数次,如数组长度为7,那么 for 循环只需要循环 3 次