------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一:关键字,常量,变量,运算符
关键字:被java赋予特殊含义的单词
特点:都是英文小写
标识符:由26个英文字母,数字0~9,符:-$组成
特点:标识符首字母必须是字母或符号
(Java严格区分大小写)
Java中的命名规范:
包名:多单词组成时所有字母都小写
eg:xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写
eg:XxxYyyZzz
变量名和函数名:
多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
eg:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
eg:XXX_YYY_ZZZ
Java中常量的分类:
整数常量,小数常量,布尔型常量,字符常量,字符串常量,null常量。
进制:
十进制:逢十进一
八进制:逢八进一,用0开头表示
十六进制:逢十六进一,用0x开头表示
进制的转换:
十进制-->二进制:对十进制数进行除二运算
二进制-->十进制:对二进制数进行取幂求和
负数的二进制表现形式:对应的整数二进制数取反加一(负数的二进制数最高位都是一)
变量:就是将不确定的数据进行存储,也就是在内存中开辟一个空间
运算符:
比较运算符instanceof:检查是否是类的对象
eg: "Hello" instanceof String 结果为true
逻辑运算符:用于连接boolean类型的表达式
&:无论左边是真是假,右边都运算
&&:左边为假时,右边不运算
(|与||同理)
二:流程控制与函数
程序流程控制:
判断结构,选择结构,循环结构
Swith语句:
switch语句选择的类型只有四种:byte,short,int,char
case与default之间没有顺序,先执行第一个case,没有匹配的case执行default;
结束switch语句的两种情况:遇到break;执行到switch语句结束。
无限循环的最简单表现形式:
for(;;){}
while(true){}
累加思想:通过变量记录操作后的结果,通过循环的形式进行累加操作。
计数器思想:通过一个变量记录数据的变化状态,通过循环完成
break:跳出循环 应用范围:选择结构和循环结构
continue:结束本次循环 应用范围:循环结构
(标号:可以让上面两个语句作用于指定的范围)
函数:定义在类中的具有特定功能的一段独立小程序,也成为方法。
(函数中只能调用函数,不能在函数内部定义函数)
函数的重载(overload):
概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
特点:与返回值无关,只看参数列表。
三:数组
内存结构:
Java程序在运行时,需要在内存中分配空间,为了提高运算效率,有对空间进行了不同区域的划分,每一个区域都有特定的处理数据方式和内存管理方式。
栈内存:用于储存局部变量,当数据使用完,所占空间会自动释放
堆内存:
数组和对象,通过new建立的实例都存在于堆内存中
每一个实体都有内存地址值
实体中的变量都有默认初始化值
实体不再被使用,会在不确定的时间内被垃圾回收站回收
方法区,本地方法区,寄存器
数组:
格式一:元素类型【】 数组名 = new 元素类型【元素个数】;
格式二:元素类型【】 数组名 = new 元素类型【】{元素1,元素2,....};
length:获取数组元素个数 使用方法:数组名.length
二维数组:
格式一:int[ ] [ ] arr = new int [3][5];
格式二:int[ ] [ ] arr = new int [3][ ]; (每个一维数组默认初始化值为null,可以对三个一维数组分别初始化)
附:冒泡排序练习
class J3_1
{
/*
需求:在冒泡排序中去除数组元素间多余的交换操作
思路: 以升序为例
1,n维数组的冒泡排序要有n-1次冒泡
2,每次冒泡中只需要一次数组元素的交换
3,定义变量记录每次冒泡中最大数的元素序列号,比较完后做两个数的交换
*/
public static void main(String[] args)
{
int [] arr = {5,3,19,2,1,45,64,33};
System.out.println("原数组:");
arrPrint(arr);
arrSort(arr);
System.out.println("排序后数组:");
arrPrint(arr);
}
//排序函数
public static void arrSort(int [] a)
{
for(int i=0;i