java基础
1、编写:我们将编写好的java代码保存在以“.java”结尾的源文件中
2、编译:使用java.exe命令编译我们的源文件。格式:java 源文件.java
3、运行:使用java.exe命令解释运行我们的字节码文件。格式:java 类名
4、在一个java源文件中可以声明多个class。但是,只能有一个类声明为public的
而且要求声明为public的类的类名必须与源文件相同。
5、程序的入口是main()方法。格式固定。
6、编译的过程:编译以后,会生成一个或多个字节码文件。
字节码文件(以.class结尾)的文件名与java源文件中的类名相同。
class Hello{
public static void main(String[] arg){//arguments是一个参数,可以改变。
}
}
class hellojava{
}
7、JDK = JRE+Java的开发工具(javac.exe,java.exe,javadoc.exe)
JRD = JVM +Java的核心类库
8、为什么要配置path?
我们希望在任何的文件路径下都可以执行JAVA的开发工具。
9、JAVA_HOME : 安装JAVA的路径(bin的上一层目录)
Path: %JAVA_HOME%\bin
10、使用utf-8编码方式
javac -encoding UTF-8 HelloWorlewww.java
第一章
计算机语言的发展迭代史
第一代:机器语言
第二代:汇编语言
第三代:高级语言
面向过程:c 、pascal、Fortran
面向对象:Java、JS、Python、Scala
JAVA语言的特点:
面向对象性:
两个要素:类、对象
三个特征:封装、继承、多态
健壮性:1、去除了C语言中的指针 2、自动的垃圾回收机制–>仍会出现内存溢出、内存泄漏
跨平台性:write once,run anywhere:一次编译,到处运行
功劳归功于:JVM(java虚拟机)
java所有的关键字都是小写的
java标识符的命名规则:
由26个英文字母大小写,0-9,_或$组成
数字不可以开头
不可以使用关键字和保留字,但可以包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
Java中名称的命名规范:
包名:多单词组成时所有单词都是小写:xxxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词小写,第二个单词开始每个单词首字母大写:xxYyyZzz
变量名:所有字母都大写,多单词时每个单词用下划线连接 :XXX_YYY_ZZZ
JAVA定义的数据类型
基本数据类型:1 byte=8bit
整型:byte(-128~127)、short(两字节)、int(4字节)、long(8字节,必须以 L 结尾)
浮点型:float (单精度、4字节、-3403E38~3.403E38、变量要以F或f结尾)、double(双精度、8字节、-1.798E308~1.798E308、通常定义浮点型使用double)
浮点型一部分表示具体数值,一部分字节是拿来表示10的次幂
字符型:char(1字符=2字节)
定义char形变量,通常使用一对单引号
转义字符
char c5='\n';(可用于换行的转义字符)
c5='\t';(制表符)
char里头必须有一个字符
布尔型:boolean
只能取两个值之一:true、false
常常在条件判断、循环结构中使用
引用数据类型:
类(class)【字符串在这里】
接口(interface)
数组(array)
自动类型提升:
当容量小的数据类型与容量大的数据类型的变量做运算时,自动提升为容量大的
byte/short/int/long/float/double
char/int/long/float/double
特别的:当byte、char、short三种类型的变量做运算时,结果为int型
强制类型转换:
double d1=12.3;
int i1=(int)d1;强制转换,需要使用强转符:()
强制类型转换,可能导致精度损失。
整型常量默认类型int
浮点型类型默认类型double
字符串类型:String
String不是基本数据类型,属于引用数据类型
声明String类型变量时,使用一对“”
String可以和八种数据类型做运算
对于整数有四种表示方式:
二进制(binary):以0b或0B开头
十进制
八进制:以数字零开头
十六进制:以0x或者0X开头(A~F)
计算机底层都是以补码的方式来存储数据的!
标识符的使用:凡是自己可以起名字的地方都叫做标识符。
//取模运算
取模运算的结果与被模数结果相同;
//(前)++先自增1,后运算
//(后)++先运算,后自增1
//(前)–先自减1,后运算
//(后)–先运算,后自减1
比较运算符:比较运算符的结果都是boolean,也就是要么true,要么false
== 相等于 4==3 false
!= 不等于 4!=3 true
< 小于 4<3 false
大于 <= 小于等于 = 大于等于 instanceof 检查是否是类的对象 区分==和=
逻辑运算符:{
&(逻辑与) | (逻辑或) !(逻辑非)
&&(短路与) ||(短路或) ^(逻辑异或)
&&与&的区别:
相同点1:& 与&&的运算结果相同
相同点2:当符号左边是true时,二者都会继续执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算
&& if(b1 && (number++ >0))当前头的条件(b1)不符合时,后头的条件(number++ >0)直接不判断(不执行)
& if(b1 & (number++ > 0))当前头的条件(b1)不符合时,仍继续执行条件(number++ >0)
开发中推荐使用&&
区分:| 与 | |
相同点1:| 与|| 的运算结果相同
相同点2:当符号左边是false时,二者都会执行符号右边的运算
不同点3:当符号左边是true时啊,| 继续执行符号右边的运算,而||不再执行符号右边的运算
开发中推荐使用| |
}
位运算符:{
1、位运算符操作的都是整型的数据
2、<<(左移):在一定的范围内,每向左移1位,相当于*2
>>(右移):在一定范围内,每向右移1位,相当于/2
}