期末考试范围!老师这么好我一定会好好学的!
标识符
凡事可以由自己命名的都叫标识符
- 标识符有字母、数字、_(下划线)、$所组成,其中不能以数字开头,不能用Java中的保留字(关键字)
- 标识符采用有意义的简单命名
- "$"不要在代码中出现。(是由于在后面内部类中,编译后会出现$符号)
- 类名和接口名:每个单词的首字母,其余为小写。(大驼峰)
- 方法名:第二个单词起的首字母为大写,其余全为小写。(小驼峰)
- 常量名:基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。
关键字
在所有程序中有特殊意义的文字标记
所有Java的关键字都是小写(关键字大写后就不会被当做关键字)
用于控制访问相关4个:public(公共的)、protected(受保护的,同一个包中的其它类及子类可以访问。)、 缺省的(default)、 private(私有的,本类可以访问)
类、接口、抽象类相关、实例化对象相关6个:abstract(抽象的)class(定义类)、interface(定义接口)implements(实现)、extends(继承)new(创建新对象)
程序控制相关12个:if(如果)、else(否则) 、instanceof(判断一个对象是否是某个类的实例)switch(开关)、case(switch语句的一个条件)、break(跳出循环/跳出switch语句块)、default(switch语句的默认分支,当所有的case都不满足条件时会执行)for(for循环语句)、do(循环语句,循环体至少会被执行一次)、while(当.....时)、continue(结束本次循环,继续下一次循环)return(返回...,用于跳出方法)
修饰方法,变量方法相关8个:static(静态的)、final(最终的不可被改变的)、const(const是Java预留关键字,用于后期扩展用,用法跟final相似,不常用)native(表示方法用非java代码实现)synchronized(线程同步的)transient(修饰不要序列化的字段)volatile(标记字段可能会被多个线程同时访问)strictfp(严格的/精准的)
异常处理相关5个:try(捕获异常)、catch(处理异常)、finally(有无异常都会执行)throw(抛出一个异常对象)、throws(声明一个方法可能抛出异常)
包相关2个:import(引入包)package(定义包)
数据类型相关8个:8种基本数据类型:byte、short、int、long、float、double、char、boolean
变量引用相关3个:super(调用父类的方法/构造函数/成员变量)this(表示调用当前实例的成员变量或方法/调用另一个重载的构造函数)void(没有返回值)
其他相关2个:assert(断言条件是否满足,满足则继续向下执行,不满足则抛出异常终止执行)、enum(枚举类型)
保留字(指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用):goto const false true。
常量和变量
自己脑子里面要有一个大概的区别的样子
变量的分类
1.按声明位置划分
局部变量:在方法或者语句块内部定义的变量(局部变量不允许使用访问修饰符修饰)
成员变量:在方法的外部,类的内部定义的变量
2.所属数据类型划分
基本数据类型变量
引用数据类型变量
图源放学-别走
基本数据类型的转换
容量小的类型自动转换为容量大的数据类型:
byte,char,short > int > long > float > double
byte,char,short不会相互转换,他们在计算式先转换成int类型
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。
Java运算符
算术运算符:+ - * / % ++ --;
关系运算符:> < <= >= == !=
逻辑运算符:! & | ^ && ||
位运算符:& | ^ ~ >> << >>>
赋值运算符:=
扩展赋值运算符:+= -= /= *=
字符串连接运算符:+
但是位运算符的这一堆我确实还是不是很懂啊,准确来说是对二进制还不够熟练
跳出循环
continue只能使用在循环结构中
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内
数组
dataType [ ] arrayVar;
dataType arrayVar [ ];
说明:首先dataType它可以是基本数据类型比如 int array [ ];也可以是引用类型 比如Object [ ];
我们码代码的时候一般这样用:
dataType [ ] array = new dataType [arraySize] ;
其实上述代码做了两件事:
1、 dataType [ ] array声明了一个数组变量;
2 、使用new dataType[ arraySize] 创建了一个数组
当然除了上述方式,还有一种就是
dataType [ ] array={ vslue0, value1, value2, value3, .........value array.length-1}
数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 array.length-1。
String类
String类是Java提供的用于对字符串进行处理的类,它位于Java.lang包中。
该类中有无参的构造方法(空构造)和带参的构造方法(还有很多重载)
String s1=new String();
System.out.println("s1:"+s1);//空字符串-s1:
String s2=new String("南京大学“);
System.out.println(s2);//-南京大学
//把字符数组转化成字符串
byte[] bys = {97,98,99,100,101};
String s3=new String(bys);
System.out.println(s3)//-abcde
String s4=new String(bys,0,3);
System.out.println(s4);
char[] chs = {'生','日’,‘快’,‘乐’};
String s5=new String(s5);
System.out.println(s5);
String s6=new String(chs,0,2);
System.out.println(s6);
length()方法
语法:int length()
返回String字符串的长度
public static void main(String[] args){
String s1="Hello";
System.out.println(s1.length());
运行结果:5
charAt()方法
char charAt(int i)
该方法返回字符串中索引为i的字符,返回值的类型为char型(就是能指定输出某个位置的字符)
统计一个字符串中数字的个数
(用chatAt()遍历该字符串,判断是否为数字,若是就累加数字的个数)
public static void main(String[] args){
String str="南京大学520生日快乐";
int count=0;
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
if(c>='0'&&c<='9'){
count++;
}
}
运行结果:3
toCharArray()方法
语法:char【】 toCharArray()
字符串调用该方法后,会创建一个char型数组,数组元素就是字符串中的所有字符
将一个字符串转换成字符数组
public static void main(String[] args){
String str =“你好”;
char【】 chs=str.toCharArray();
System.out.print(chs[0]);
运行结果:你
indexOf()与lastIndexOf()方法
呃这个感觉好像不是很重点的样子,先跳过
前一个语法:int indexOf(char c)或者int indexOf(String c)
该方法会根据参数c在字符串中找到c第一次出现的索引(位置),并返回int型索引值,如果找不到则返回-1,重载
split()方法
split()语法:String[] split (String s)
该方法通过分隔符s来拆分字符串,并将拆分出来的字符串放入String数组,然后返回这个数组的引用
根据符号,拆分一首诗词为字符串数组
public static void main(String[] args){
String poem="南大,你好";
String【】 sentences = poem.split(“,”);//使用,来拆分字符串
for(int i=0;i<sentences.length;i++){//遍历数组
System.out.println(sentences[i]);
}
}
运行结果:
南大
你好
字符串截取方法
从“HelloWorld”中截取子字符串
public static void main(String[] args){
String str = "HelloWorld“;
String s1=str.substring(5);
System.out.println(s1);
String s2=str.substring(0,5);
System.out.println(s2);
运行结果:
World
Hello
String类的替换方法
String replace(char old,char new)
String replace(String old,String new)
String trim()//去除字符串两端的空格
public static void main(String args[]){
String s1="good morning";
String s2=s1.repalce('g','G');
System.out.println(s2);
输出:Good morininG
StringBuffer类
呜呜呜不想看了,有好多