Java基础

一.Java环境的配置

1.JDK SDK JRE JVM

  • JDK(Java Development Kit) JAVA开发工具包
  • SDK(Software Development Kit)软件开发工具包
  • JRE(Java Runtime Environment) JAVA运行环境
  • JVM(Java Virtual Machine)虚拟机

在这里插入图片描述
关系大致如图:
    JDK = JRE + javac.exe(编译工具)+jir.exe(打包工具)
    JRE = JVM + 类库
    JDK用于开发(编译、执行、打包),而JRE只用于执行。另外,由于Eclipse等IDE具有自己的编译器,所以只需要JRE就可以了。
    Java提出的“一次编写,到处运行”是建立在JRE基础之上的
    Java的.class文件可以放到任何装有JRE的机器上运行
    开发java应用程序需要JDK,运行java程序需要JRE

2.环境配置

具体配置方法:详细教程

二.Java编译器

1.安装idea

IDEA安装及使用教程

2.idea常用快捷键

快捷键作用
Alt+Enter导入包,自动修正代码
Ctrl+Y删除光标所在行
Ctrl+D复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L格式化代码
Ctrl+/单行注释,再按取消注释
Ctrl+Shift+/选中代码注释,多行注释,再按取消注释
Alt+Ins自动生成代码,toString, get, set等方法
Alt+Shift+上下箭头移动当前代码行
ctrl+R本页面替换
ctrl+F本页面查询
ctrl+shift+R全局替换
ctrl+shift+F全局查询
Ctrl + O查看我们继承的类或者接口中的方法,以及我们要实现的方法
Ctrl+Alt+T将代码包在一个块中,例如try/catch ;synchronized等
ctrl +S保存代码(默认idea自动保存)

超详细详细快捷键

二.Java基础知识

1.数据类型

数据类型占用字节默认值封装类
byte(字节型)10Byte
short (短整型)20Short
int(整型)40Integer
long (长整型)80.0LLong
float (浮点型)40.0FFloat
double (双精度浮点型)80Double
char (字符型)2\u0000Character

注意:String不是基本类型,是包装类型
下面,我们来介绍一下,什么是包装类

2.包装类

(1)装箱拆箱
  • 装箱: 从基本类型转换为对应的包装类对象
  • 拆箱: 从包装类对象转换为对应的基本类型
public class packingclass {
    public static void main(String[] args) {
        //构造方法
        Integer in1=new Integer(111);//划横线说明已经过时了
        System.out.println(in1);//重写了toString方法
        Integer in2=new Integer("111");
        System.out.println(in2);
        //静态方法
        Integer in3=Integer.valueOf(111);
        System.out.println(in3);
        Integer in4=Integer.valueOf("111");
        System.out.println(in4);

        //拆箱
        int i=in1.intValue();
        System.out.println(i);
    }
}
(2)自动装箱拆箱
import java.util.ArrayList;

public class packingclass2 {
    public static void main(String[] args) {
        //自动装箱:直接把int类型的整数赋值包装类
        //Integer in=1;就相当于Integer in = new Integer(1);

        Integer in = 1;
        in = in + 2;

        //自动拆箱:in是包装类,无法直接参与运算,可以自动转换为基本类型数据再计算
        //in+2 就相当于 in.intValue()+2;

        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);  //-->自动装箱list.add(new Integer(1));
        int a = list.get(0);  //-->自动拆箱list.get(0).intValue();
    }
}

(3)基本类型与字符串之间转换

基本类型–>字符串

  1. 基本类型的值+""
  2. 包装类静态方法toString(参数),不是Object类的toString重载
    static String toString(int i)返回一个表示指定整数的String对象
  3. String类静态方法
    static String valueOf(int i)返回 int参数的字符串表示形式

字符串–>基本类型

  1. 使用包装类的静态方法parsexxx(“字符串”);
  2. Integer类:static int parseInt(String s)
  3. Double类:static double parseDouble(String s )
public class packingclass3 {
    public static void main(String[] args) {
        int i1 = 100;
        String s1 = i1 + "";//最简单方法,工作中常用
        System.out.println(s1 + 200);//100200

        String s2 = Integer.toString(100);
        //包装类静态方法toString(参数),不是Object类的toString重载
        //static String toString(int i)返回一个表示指定整数的String对象
        System.out.println(s2 + 200);//100200

        String s3 = String.valueOf(100);
        //static String valueOf(int i)返回 int参数的字符串表示形式
        System.out.println(s3 + 200);//100200

        //字符串-->基本类型
        //使用包装类的静态方法parsexxx("字符串");
        int i = Integer.parseInt(s1);
        System.out.println(i + 100);//300
    }
}

3.成员变量、局部变量、静态变量

根据定义变量位置的不同,可以将变量分为成员变量局部变量

成员变量:

  1. 定义在一个类的变量在方法外

  2. 分为:
    静态属性:随类的存在而存在,是在类加载的初始化
    非静态属性:随实例的属性存在而存在

  3. 成员变量可以不显式初始化,它们可以由系统设定默认值

  4. 成员变量存在于堆内存

  5. 创建对象过程为:

    1. 分配空间。
    2. 创建父类对象。
    3. 初始化成员变量。
    4. 调用构造方法创建一个对象。

局部变量:

  1. 局部变量是定义在一个方法内的变量
  2. 局部变量不能加static,protected, private, public等。局部变量保存在栈中。
  3. 局部变量没有默认值,所以必须设定初始赋值
  4. 局部变量存在于栈内存

静态变量:

  1. 类中方法外,用static修饰

  2. 生命周期:JVM第一次读到这个类并加载类时开始,类销毁不存在。

  3. 类加载过程:

    1. 加载父类(如果父类已经加载过,则不在加载)。
    2. 初始化静态属性 。
    3. 按顺序的初始化静态代码块 初始化的前提就是分配空间 。
  4. 静态变量存在于方法区即静态区(方法区包含整个程序中唯一存在的元素)

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值