admin管理员组文章数量:1794759
手把手 从零开始学习JAVA(入门基础)
1、搭建JAVA开发环境 卸载JDK(未安装的请忽略)
- 将JDK的安装目录删除
- 删除JAVA_HOME以及CLASS_PATH 环境变量
- 删除PATH下与JAVA_HOME以及CLASS_PATH有关的环境变量
- 去Oracle官网下载JDK或者去一些国内镜像网站下载JDK安装文件
- 将JDK安装到本机中
- 新增环境变量JAVA_HOME,指定路径为JDK的安装目录
- 更新环境变量PATH,加入%JAVA_HOME\\bin%、以及%JAVA_HOME\\jre\\bin%
- 打开电脑DOS命令窗口,输入java -version以及javac命令判断java环境是否安装完毕
使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。可以理解为有一个解释器,将所有的源代码编译成了硬件可以执行的机械码并直接执行,运行期间无需再次编译(速度快)
解释型使用专门的解释器对源代码逐行编译成特定的硬件可执行的机械码并且直接执行
3、第一个JAVA应用程序 // 在dos命令行执行 javac HelloJava.java // 执行 java HelloJava // 输出结果:Hello JAVA public class HelloJava{ public static void main(String[] args){ System.out.println("Hello JAVA"); } } 4、JAVA之中的关键字有哪些 abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while 5、注释的使用 // 这是一个单行注释 /* 这是一个多行注释,我是第一行 这是一个多行注释,我是第二行 */ /** 这是一个DOC文档注释 */ 6、标识符的定义规则 //JAVA中定义的标识符只能是 字母[a-z][A-Z]、下划线_、美元符号$ 开头 // 正确实例 int name; int Name; String _str; String $str; // 错误示例 int *1; int #1; 7、基础数据类型规则 JAVA的8个基础数据类型 /** 位bit是计算机最小的存储单位 1个字节byte 占据8位,也就是1byte = 8bit */ // 整数类型 byte 占据1个字节,范围为2^7 到 (2^7)-1 short 占据2个字节 int 占据4个字节 long 占据8个字节 // 浮点类型 float 占据4个字节 double 占据8个字节 // 字符类型 char 占据2个字节 // 布尔类型,值只有true或false boolean 占据1位 数据类型面试题- 银行金额需要使用什么数据类型 BigDecimal 类来存储金额
- 为什么浮点数不能用来计算金额 因为不够精确,会损失精度
- 自动转换规则 向上转型,意思就是精度小的会向着精度大的进行转型,long与double进行运算后结果为double。
- 强制转换规则
- 存放对象的引用(地址)
- 存放基本类型的变量(包括值)
- 存放new出来的对象及数组
- 存放所有的class文件
- 存放static修饰的方法及其变量
int[] arr1 = {1,2,3,4};String[] arr2 = {new String("s1"),new String("s2")};
动态初始化(包含默认初始化,及对应的数据类型的默认值)int[] arr2 = new int[10];
数组的基本特点- 数组长度一旦确定就不能够改变
- 数组只能是固定类型,不能为混合类型(数组中的每个元素都必须为相同类型)
- 数组中的元素可以是基本类型,也可以是引用类型
- 数组创建出的对象存放在堆中,引用存放在栈中
- 并且数组本身即为一个对象
可以理解为一个数组里装了多个一维数组
数组的选择排序与冒泡排序 // 冒泡排序 public static void bubbleSort(int[] arr) { // 确定循环次数 for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if(arr[i] < arr[j]){ // 交换 arr[i] = arr[j] ^ arr[i]; arr[j] = arr[j] ^ arr[i]; arr[i] = arr[j] ^ arr[i]; } } } } // 选择排序 public static void selectSort(int[] arr) { // 确定循环次数 for (int i = 0; i < arr.length - 1; i++) { // 每次循环都需要得到一个最大或最小的值 for (int j = i + 1; j < arr.length; j++) { if(arr[i] < arr[j]){ // 交换 arr[i] = arr[j] ^ arr[i]; arr[j] = arr[j] ^ arr[i]; arr[i] = arr[j] ^ arr[i]; } } } } 权限修饰符 权限修饰符 本类 当前包 不同包下的子类 不同包 private √ default(默认) √ √ protected √ √ √ public √ √ √ √ 多态中、方法的编译看左边,运行看右边,变量的编译与运行都看左边 记住一点,static修饰的方法不能被重写,所以调用static修饰的方法,编译运行都看左边,而变量无法被重写,所以编译运行也都看左边 public class A { public static void main(String[] args) { Father father = new Son(); System.out.println(father.a); System.out.println(father.b); father.show(); father.staticShow2(); } } class Father{ int a = 10; static int b = 20; public void show(){ System.out.println("父类的成员方法"); } public static void staticShow2(){ System.out.println("父类的静态方法"); } } class Son extends Father{ int a = 100; static int b = 200; @Override public void show(){ System.out.println("子类的成员方法"); } public static void staticShow2(){ System.out.println("子类的静态方法"); } } super关键字与this关键字的区别 super- super 调用父类的构造方法,必须放在构造方法的第一行
- super 必须只能出现在子类的成员方法或者构造方法中
- super和this不能同时调用构造方法!(因为会初始化多次,数据不安全)
- this为当前对象的引用
- super为父类对象的引用
版权声明:本文标题:手把手 从零开始学习JAVA(入门基础) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686987649a125818.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论