技术贴
JAVA所有程序的执行都是从main方法开始的,被JAVA语言赋予了特点含义的单词叫关键字,特点:A:组成关键字的字母全部小写,B:常用的代码编辑器对关键字有特殊的颜色标记.在程序的执行的过程中不可以发生改变的量叫常量,常量分类:A:字符串常量,B:整数常量,C:小数常量,D:字符常量,E:布尔常量,F:空常量.变量是内存中的一小块区域。在程序执行过程中其值可以在一定范围内发生改变的量.
基本数据类型:4类8种
A:整数 字节数
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1
注意:
A:整数默认int类型,浮点数默认double类型
B:定义long类型,后面加L或l,建议加L
定义float类型,后面加F或f,建议加F
标识符:就是用来给包,类,方法,变量等起名字的符号
组成规则:
A:unicode字符
数字字符,英文大小写字母,汉字(不建议使用汉字)
B:下划线_
C:美元符$
注意事项:
A:不能以数字开头
B:不能是java中的关键字
常见命名规则:
A:基本要求
见名知意
B:常见的命名
a:包(其实就是文件夹)
全部小写,多级包.隔开
举例:com,com.itheima
b:类
每个单词的首字母大写
c:
第一个单词首字母小写,后面每个单词首字母大写.
A:什么是JVM
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
B:什么是JRE
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JRE:JVM+类库。?
C:什么是JDK
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) ?打包工具(jar.exe)等
? JDK:JRE+JAVA的开发工具。
D:为什么JDK中包含一个JRE
为什么JDK中包含一个JRE呢?
开发完的程序,需要运行一下看看效果。
E:JDK,JRE,JVM的作用和关系
JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM
%运算符:
*当左边的绝对值小于右边绝对值时,结果是左边
*当左边的绝对值等于右边绝对值时,结果是0
*当左边的绝对值大于右边绝对值时,结果是余数
*%运算结果符号只与左边有关
字符参与加法运算,其实是拿字符在计算机中存储的数值来参与运算的
*'A'65
*'a'97
*'0'48
字符串参与加法运算,其实是字符串的拼接
"abc" + 10 ==> "abc10"
10 + 20 + "abc" ==> "30abc"
++在后面,先拿变量操作,然后再++
++在前面,先拿++,然后再拿变量操作
赋值运算符(+=,-=,*=,/=.......)
赋值运算符,++,--,都能自动强转
关系运算符:
注意==和=的区别
与&.&&:有false则false
或|.||:有true则true
非!:true则false,false则true
异或^:相同为false,不同为true
&&与&的区别:
&&有短路效果,左边为false,右边不执行
&左边无论是什么,右边都执行
三元运算符(三目运算符):
关系表达式?表达式1:表达式2
if语句有三种格式:
第一种:
if(关系表达式) {
语句体
}
第二种:
if(关系表达式) {
语句体1
}else {
语句体2
}
第三种:
if(关系表达式1) {
语句体1
}else if(关系表达式2) {
语句体2
}else if(关系表达式3) {
........
}else if(关系表达式n) {
语句体n
}else {
语句体n+1
}
Switch语句:
switch(a){
case x:
....
break;
case x2:
....
break;
....
default:
....
break;
}
for循环语句的格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句
}
JAVA的内存分配:
栈(存储的是局部变量)
堆(存储的是new出来的东西)
方法区(面向对象进阶讲)
本地方法区(和系统相关)
寄存器(给cpu使用)
数组常见的两个问题:
数组越界异常:
ArrayIndexOutofBoundsException
空指针异常:
NullPointerException(调用数组中的某个元素时才会报错)
方法:其实就是完成特点功能的代码块
定义格式:
修饰符 返回值类型 方法名(参数类型 参数1,参数类型 参数2...) {
方法体
返回体
}
修饰符:public
返回值类型:根据返回值而定,没有返回值写void
方法名:自定义(见名知意)
返回体:结束方法,return 将结果返回给调用者,没有返回值时,可以不用写.
方法重载的特点:
1.方法名相同
2.参数不同
(1)参数对于的类型不同
(2)参数的数量不同
断点调试的作用:
A:查看程序的执行流程
B:调试程序
断点:
其实就是一个标记
哪里不会加哪里
在代码区域左边双击即可加断点
private关键字:
是一个修饰符
可以修饰成员变量,也可以修饰成员方法
被private修饰的成员只能在本类中被访问
String的常用构造方法:
String(String original):把字符串数据封装成字符串对象
String(char[] value):把字符数组的数据封装成字符串对象
String(char[] value,int index,int count):把字符数组中的一部分数据封装成对象
String类的判断功能:
返回值
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写 验证用户名密码需区分大小写可用equals
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写 验证验证码时不区分大小写可用equalsIgnoreCase
boolean startsWith(String str):判断字符串对象是否以指定的str开头
boolean endsWith(String str):判断字符串对象是否以指定的str结尾
String类的获取功能:
返回值
int length():获取字符串的长度,其实也就是字符个数
char charAt(in index):获取指定索引处的字符(可用于对字符串的遍历)
int indexOf(String str):获取str在字符串对象中第一次出现的索引
String substring(int start):从start索引开始截取字符串,默认到结尾结束
String substring(int start,int end)从start索引开始截取字符串,到end索引结束
String类的转换功能:
返回值
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串
String类的其他功能:
返回值
String trim():去除字符串两端空格
String[] split(String str):按照指定符号分割字符串(如字符串开头有分割元素,数组前会有一个空元素,当分割元素在结尾时数组结尾则没有空元素)
StringBuilder:是一个可变你的字符串.字符串缓冲区类
String和StringBuilder的区别:
String的内容是固定的.
StringBuilder的内容是可变的.
构造方法:
StringBuilder()
成员方法:
public int capacity():返回当前容量
public int length():返回长度()
容量:理论值
长度:实际值
StringBuilder类的常用方法
添加功能:
public StringBuilder append(任意类型):添加数据并返回自身对象
反转功能:
public StringBuilder reverse()
添加功能演示:
//创建对线
StringBuilder sb = new StringBuilder();
//public StringBuilder append(任意类型)
StringBuilder sb2 = sb.append("hello")
System.out.println("sb:" + sb);//hello
System.out.println("sb2:" + sb2);//hello
System.out.println(sb == sb2); //true
//sb.append() sb是对象,方法运行完还是一个对象,还能继续调用方法
//链式编程
sb.append("hello").append("world").append("true").append(100);
System.out.println(sb);
//结果:helloworldtrue100
集合类的特点:
长度可变.
ArrayList<E>:
大小可变数组的实现
<E>:是一种特殊的数据类型,泛型.
怎么用呢?
在出现E的地方我们使用引用数据类型替换即可
例:ArrayList<String>,ArrayList<Student>
构造方法:
ArrayList()
添加元素:
public boolean add(E e):添加元素
public void add(int index,E element):在指定的索引处添加一个元素
获取元素:
public E get(int index):返回指定索引处的元素
集合长度:
public int size():返回集合中的元素的个数
删除指定的元素:
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E remove(int index):删除指定索引处的元素,返回被删除的元素
修改元素:
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
|
|