1 Java的标识符
- 由字母 数字 下划线 美元符号 组成
- 不能以数字开头
- 严格区分大小写
- 见名之意,并且不要使用拼音或者中英文夹杂的方式
- 不能使用关键
2 关键字
被Java提前指定好的全小写单词,一共有50个
2个保留字:const 与 goto ,目前还没有明确意义的关键字
还有3个不可以用作标识符的单词:true false null
3 注释
用来解释代码,方便看看代码的人去理解代码的话
注释并不会影响程序的执行,会被编译器忽略掉
单行注释: // 可以注释一行的内容
多行注释:/ * * / 可以注释多行的内容
文档注释:/** */ 也可以注释多行内容,还可以添加一些额外的信息,比如:作者/时间/版本…
4数据类型
4.1基本类型
4.2引用类型
除了八大基本类型以外,全部都是引用类型。
5.案例中总结的经验:
1.静态数据想要与动态的变量名进行拼接,需要使用+号
2.char字符型既可以保存单个字符,需要用‘’包裹,也可以保存数字,只不过会去查ASCII码表
3.从控制台接受用户输入的数据,int a= new Scanner(System.in).nextint();
4.便令进行值交换,首先需要一个第三方变量协助交换,代码的格式:斜相对,首尾相连
5 几种循环的区别
for:知道循环次数
while/do while:当循环次数不确定时
while:先判断,不符合规则,不执行代码
do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
循环之间都可以互相替代,但是一般最好选择合适的循环结构来完成代码哦~
6 成员变量与局部变量
成员变量:
1)位置:类里方法外
2)注意事项:成员变量有自己的对应类型的默认值,不需要我们手动初始化/赋值
3)生效范围:在整个类中都生效,类消失,成员变量才会随之释放
局部变量:
1)位置:在方法里 / 局部代码块里
2)注意事项:使用时必须赋值/初始化
3)生效范围:在方法里/局部代码块中,对应的代码执行完毕,局部变量也随之释放
7 方法
方法定义的格式: 修饰符 返回值类型 方法名(参数列表){方法体}
一个方法会不会执行,取决于有没有调用,调用的格式:方法名+参数列表
方法定义的位置没有关系,执行顺序取决于main()怎么调用
一个方法,可以不设置参数,也可以设置多个参数,如果有参数,使用方法时,必须传对应类型的参数
如果方法的返回值类型是void,不允许有返回值
如果方法要返回一个值,必须设置返回值类型,并且return对应类型的结果
在调用有返回值的方法时,可以选择接不接这个方法返回的值
如果接了,后续可以多次使用这个返回值
如果不接,那就是只是调用该方法的功能,并不使用这个返回值
数组
1.1 静态创建
int[] a = {1,2,3,4,5};
int[] a = new int[]{1,2,3,4,5};
1.2 动态创建
int[] a = new int[5];
2. 数组的特性
- 数组的长度通过**数组名.length;**来获取
- 数组一旦创建,长度无法改变
- 数组的下标从0开始,最大下标为数组长度-1
- 如果访问到了不存在的下标,会数组下标越界异常
3. 数组的工具类Arrays
toString(数组名),除了char类型以外,其他类型的数组想要查看数组的具体元素,都得使用这个方法,如果不用,打印是数组的地址值
sort(数组名),给数组进行排序
copyOf(要复制的数组,新数组的长度)
如果新的长度大于原数组的长度–数组的扩容
如果新的长度小于原数组的长度–数组的缩容
如果新的长度等于原数组的长度–普通的复制
注意:不管是什么长度,都不是修改原数组,而是创建新数组
4.数组遍历的三种方式
1. 传统方式
非常简单的for循环
int[] a = {1, 2, 3, 4}; for (int j = 0; j < a.length; j++) { int i = a[j]; System.out.println(i); }
2. for-each循环(J2SE 1.5)
语法: for (循环变量类型 循环变量名称 : 被遍历的对象) 循环体
eg:
int[] a = {1, 2, 3, 4}; for (int i : a) { System.out.println(i); }
3. 转换为Collection子类用迭代器遍历
eg:
int[] a= {1,2,3}; List b= a.AsList(a); Iterator iter= b.iterator(); while(iter.hasNext()){ Object pre= iter.next(); System.out.println(pre); } 或
int[] a= {1,2,3}; List b= a.AsList(a); for(Iterator iter = b.iterator();iter.hasNext();){ Object pre= iter.next(); System.out.println(pre); }
Collection子类也能使用for-each的方式遍历,即:
int[] a= {1,2,3}; List b= a.AsList(a); for(Object i: b){ System.out.println(i); }