Java基础
jdk(Java development kit):java开发工具包
jre(java runtime environment):java运行环境(jvm和核心类库的总称)
jvm(java virtual machine):java虚拟机,Java运行的地方(用于多平台执行)
2.文件命名大写开头 ,public类名要与文件名一样
public class HelloWorld{
}
java中的println是换行输出
public(公共的) class(类) HelloWorld (类名){
/* 第一个Java程序
* 它将输出字符串 Hello World
*/
public static void main(String[] args) {
//在这里写代码
}
}
新建文件快捷方式ALT+insert
在代码行输入sout再按TAB自动补齐System.out.println()
在代码行输入soutv自动生成System.out.println( "num ="+num)变量是里的最近的变量名
3. Path环境变量和Java_Home环境变量
- PATH环境变量用于记住程序路径,方便在命令行窗口任意目录启动程序
- Java_Home环境变量:告诉操作系统JDK安装到哪个位置了
- %Java_Home%/bin环境变量路径中的Java_Home路径发生改变,此路径也随之改变
4.IDEA的使用
project工程
module模块
package包,包名一般是域名倒写+技术名,无需www,创建在SRC下
class类
- idea:idea的配置文件
out:class类文件
src:源代码
- 快捷键
main回车,自动补全public static void main (String[]args)
CTRL + D:复制当前行代码到下一行
CTRL + Y:删除所在行
CTRL + Z:退回上一位
CTRL + ALT +L:自动缩进
ALT + SHIFT + ↑:将代码上移一行
ALT + SHIFT + ↓:将代码下移一行
CTRL + ALT + T:可以将选中的区域被包围住,可以选取多种方法
- 导入模块
1.关联导入(文件位置改变后,不会自动重定向):找到模块所在位置,导入.iml文件
2.模块复制到项目文件中,再关联导入
- 导入项目
直接打开项目即可
- 对象和类
- 对象:对象是类的一个实例,有状态和行为。如一条狗就是一个对象,颜色、毛发等就是它的状态,摇尾巴等是它的行为
- 类:类是一个模版,他描述一类对象和行为(类名首字母大写)
- 方法:方法就是类=行为,一个类有多个行为
- 实例变量:每一个对象都有独特的实例变量,对象的状态由这些实例变量决定
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static, synchronized
程序中只允许存在一个public类
创建对象
- 声明:声明一个对象,包括对象名称和对象类型
- 实例化使用关键字new来创建一个对象
- 初始化:使用new创建对象时,会调用构造方法初始化对象
- java的数据类型与C语言基本一致,但是布尔类型不一样,java的布尔类型是boolean
- 运算符
- +、-、*、/、%和C语言的一模一样
- int类型的两个变量相除得到的结果也是int类型的整数,如果需的到小数的话,乘以1.0
- “+”符号当做连接符:能算则算,不能算就连接在一起
- 关系运算符>=、<=、>、<都与c语言的一致
- 逻辑运算符,java中的逻辑运算符都是单一 一个,&、!、|、^,^叫做逻辑异或,前后条件结果相同则返回false,前后条件不同则返回true
- 三元运算符 条件:值1?值2;与c语言中的三元运算符一致,如果条件为真则返回值1,若条件为假,则返回值2
- 在程序中接受用户输入的数据:使用java自带的API(应用程序编程接口)
使用方法:①导包:告诉程序去JDK中的哪个包中去找扫描器技术(在IDEA中无需手动导包) import java.util.Scanner;
②抄代码:代表得到键盘扫描器对象
Scanner sc = new Scanner(System.in);
③抄代码:等待用户输入数据
sc.nextInt();等待用户输入一个整数
sc.next(); 等待用户输入字符串
- 流程控制
- if、switch条件与C语言中的if、switch一致,if有if else、else if,switch每一个正常的语句都需要break,最后还要写上default
- for循环、while循环、do-while循环
while( 布尔表达式 ) {
//循环内容
}
do {
//代码语句
}while(布尔表达式);
for(初始化; 布尔表达式; 更新) {
//代码语句
}
java引入了一种用于数组的for循环
- 随机数的使用
①导包 import java.util.Random;
②抄代码 Random r = new Random()
③使用:int number = r.nextInt(10); 生成0-9的随机数
不固定区间的随机数:
首先需要将区间改为从0开始的范围
如:1-10,需要先减去1,得到的范围是0-9,使用nextInt(10)即可,又需要1-10的范围,所以在括号外面+1 nextInt(10)+1;nextInt(10)代表0-9的随机数,括号外+1代表范围的起始和末尾都+1,所以得到1-10的随机数
- 数组
- 声明数组:datatype[] name,注意字符串数组的数据类型String中的S要大写
- 数组变量名中存储的是数组在内存中的地址
初始化数组:
- 静态初始化完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3} 简化格式:数据类型[] = {元素1、元素2、元素3}
动态初始化数组:先不存入具体的元素值,只确定数组存储的数据类型和长度 数据类型[] 数组名 = new 数据类型[];
动态数组元素的默认值
- 数组的访问:数组名[索引],数组的长度属性length:数组名.length
- 数组为空就不能使用索引访问数组,不然会报错
- Java内存分配
- 方法区:class文件加载的地方
- 栈:方法、变量运行时进入的内存
- 堆:new出来的东西会在这块内存中开辟空间并存放地址