认识Java
-
1995年由sun公司推出,詹姆斯高斯林誉为java之父。
-
1996年发布JDK
-
2009年被oracle收购
-
现存最新版本为jdk 14.0.流行版本为jdk 8.0
Java运行机制
-
先编译再执行
-
先将*.java文件编译成字节码文件(.class),再对class字节码文件进行解释执行
-
名词解释
JVM(Java Virtual Machine)虚拟机:使用软件在不同操作系统中,模拟相同的环境。
JRE(Java Runtime Environment)运行环境:包含JVM和解释器,完整的Java运行环境。
JDK(Java Development Kit)开发环境:包含JRE + 类库 + 开发工具包(编译器+调试工具)。
变量
变量的定义流程:先声明变量,再赋值
int i = 5;
System.out.print(i);
数据类型
基本数据类型
-
整数
-
byte short long int
-
-
小数
-
float double
-
-
布尔 boolean
-
字符 char
引用数据类型
-
字符串
-
数组
-
对象
运算符
-
加
-
减
-
乘
-
除
-
模/余 %
-
递增 ++
-
递减 --
三元运算符
int javaScore = 100;
String result = (javaScore == 100) ? "恭喜" : "加油" ;
控制台录入
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
选择结构
if else结构
if(布尔表达式){
//代码块1
}else{
//代码块2
}
switch分支结构
switch(表达式){
case 1:
case 2:
deafult :
//不满足时的逻辑代码
}
-
可判断的类型
-
byte、short、int 、char、String(JDK7+)
-
局部变量
概念
-
声明在方法内部的变量,必须先赋值再使用。
作用范围:
-
定义行开始到所在的代码块结束
循环结构
while循环
while(布尔表达式){
//循环的代码
}
do while循环
-
do while 循环至少会循环一次
do{
//循环的代码
}while(布尔表达式)
for 循环
for(初始化;循环条件;迭代){
//循环代码
}
流程控制关键字
-
break
-
跳出本次循环
-
-
continue
-
结束本次循环,进入下一次循环
-
基本数据类型
基本数据类型:
整数:byte short int long
小数:float double
boolean
char:字符型
引用数据类型:new 出来的对象都存在堆空间
字符串
数组
对象
//基本数据类型+str 值传递
//引用数据类型 引用传递
//基本数据类型+str 值传递
//引用数据类型 引用传递
String str1 = "hello";
String str2 = "hello";
//true是因为java处理过了这个,让栈内存里面的两个变量指向了同一个地址,开发中是不建议这样用。
//而去用equals进行比对字符串的值
//System.out.println(str1==str2);
System.out.println(str1.equals(str2));
DataType dataType1 = new DataType();
DataType dataType2 = new DataType();
//赋值之前是false,比对的是new出来的对象指向的地址
dataType2 = dataType1;
System.out.println(dataType1);
System.out.println(dataType2);
//赋值之后是true,指向了同一个地址
System.out.println(dataType1==dataType2);
String str3 = new String("张三");
String str4 = new String("张三");
System.out.println("===========");
System.out.println("str3=" + str3 + ",str4=" +
str4 + ";" + str3.equals(str4));
循环
do while代码结构
do{
//循环体,至少执行一次
}while(循环条件)
break,continue在嵌套中只作用于最近的循环中。
局部变量
作用范围:定义的地方,到代码块结束的位置。需要赋值之后再使用
实例属性
实例属性是每个对象各自持有的独立空间(多份),对象单方面修改,不会影响其他对象。
静态属性
静态属性是整个类共同持有的共享空间(一份),任何对象修改,都会影响其他对象。每一次赋值都会影响之前赋过的值。
静态的概念
- 静态(static)可以修饰属性和方法。
- 称为静态属性(类属性)、静态方法(类方法)。
- 静态成员是全类所有对象共享的成员。
- 在全类中只有一份,不因创建多个对象而产生多份。
- 不必创建对象,可直接通过类名访问。
静态方法:
静态方法允许直接访问静态成员。
>- 静态方法不能直接访问非静态成员。
>- 静态方法中不允许使用this或是super关键字。
>- 静态方法可以继承,不能重写、没有多态。
java程序运行时内存分配: