java历史:
- 1995年开始的已经发展20多年了;
- 大版本一个是java4,一个是java8,目前3/4的资源都是java8开发的;
计算器存储单元:
1byte(B)(字节) =8bit(b)(位)
1KB =1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
window下的命令提示符——常用命令
进入盘符c:不区分大小写
进入文件夹:cd 文件夹名字(tab补全);cd …返回上一级;cd 地址(用反斜杠\);cd \直接进入该磁盘的根目录;
查看该目录下的所有文件信息 :dir(directory)
清空历史数据:cls(clear screen)
退出命令行窗口:exit
java常识内容
java虚拟机——JVM(跨平台性的关键 )
JRE(java runtime environment):是java程序运行环境,包含JVM和运行核心库
JDK
java安装下载
官方网址:oracle.com下载jdk
- 首先要注册一个账号(没有账号不能下载)
- 找到java8下载到本地
- 双击安装包,安装路径不能有空格和中文(防止以后出现乱码),将公共JVM下载去掉,最后点击安装。
- 安装成功后运行会出现以下界面:
在window下的java环境配置流程:
我的电脑——》属性——》高级系统设置——》高级——》环境变量
新建一个变量,将箭头处内容填写好,变量值根据自己的安装位置填写,变量名不变,然后确定
编辑Path变量路径,在其中新建一个%JAVA_HOME%\bin(学习者不用修改),最后完成。
在cmd中验证直接输入java,不用添加绝对路径也可以使用。
标识符基本概念与规则
标识符规则:不能以数字开头;不能使用关键字;符号只能是$和_
类名规范(大驼峰式)每个单词开头字母都要大写eg:HelloWord
变量名规范(小驼峰式)首字母小写,之后的单词大写。eg:helloWord
函数名规范(同上)
常亮的概念和分类和打印输出练习
基本数据类型(4类8种)
注意事项:
- 数据范围与字节数不一定相关。eg:科学计数法可以使范围更大,float(4B,38位数)>long(8B,19位数)
- 变量声明后,不进行赋值进行初始化操作是不能println的。
- 整数默认为int,如果想使用long,在数字后面加上L。eg:int num1=3000000000;这样会出现错误,必须改成int num1=3000000000L;
- 浮点型默认为double,如果使用float,在数字后面加上F。eg:2.5F
- byte/short/char类型进行运算的时候会自动转换成int然后进行计算,返回值是int类型,如果右侧数字范围未超过左侧,javac编译器自动补上强制转换;bool类型不能进行运算;
- 一旦运算中出现不同类型的数据,结果是数据类型范围大的那种。
- 字符串String(首字母大写,并不是关键字)来说,加号代表连接操作,任何数据类型与字符串相加都意味着拼接操作。
- 复合赋值运算符中隐含着一个强制类型转换(+=/-=/*=)
- 逻辑运算(&& || !)只能适用于boolean值,比较运算符(== > < >= !=)只返回boolean值
- 三元运算符格式:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B。如果判断成立,则赋值A,反之则是B。A,B符合变量的类型
- 方法定义没有先后顺序。
- 常量计算在javac编译器下就进行相加了,把相加后的值变成机械码,然后形成字节码文件(二进制)。
IDE 集成开发软件配置及快捷键
shift+F6选中所有这个单词,一起修改。
分析题目方法
- 首先考虑方法的三要素:返回值,方法名称,参数列表;
方法重载
- 参数的个数不同,参数的类型不同,参数的多类型顺序不同;
- 在调用println的时候就是用了重载的方式。
数组详解
- 数组是一个引用类型(除了前文提到的8类其他都是引用类型);
- 所有的引用类型都可以赋值null值;
- 数组长度在程序运行期间不可改变;
public class Demo08Array{
public static void main(String[] orgs){
//动态初始化可以写成两个步骤,自动拥有一个默认值整型为0;浮点型为0.0;字符型为'\u0000'
int[] arrayA1 = new int[300];
String[] arrayStr1 = new String[10];
int[] arrayA3;
arrayA3 = new int[5];
//静态初始化不能使用两个步骤(已确定数组数据的时候使用),也有默认值只不过被大括号中的具体数赋值了。
int[] arrayA2 = new int[]{5, 6, 7, 23 };
String[] arrayStr2 = new String[]{"apple", "pear", "orange"};
String[] arrayStr3 = {"apples", "pears"};
System.out.println(arrayStr3[0]);
}
}
java内存划分
方法区
方法区存放代码片段,类的信息,字节码信息。(静态变量)
方法的代码片段放在方法区,但是执行都在栈中
栈
方法只要执行,会压栈(局部变量)
堆
new出来的对象都在堆中。垃圾回收的主要对象(实例变量)