Java基础的学习(一)

一、JDK、JRE、JVM是什么?以及他们之间的关系

JDK:是Java开发工具包,包含编译、编写、运行、调试Java项目所需的工具和组件,主要针对的是开发人员,包含JRE、javac编译器(编译之后产生字节码,就是.class文件)、调试工具等。用于开发Java应用程序。

JRE:是Java运行环境,针对的是Java应用程序,也就是说如果只想运行Java程序,只需要有JRE即可。

JVM:是Java虚拟机,主要作用是将Java代码转换为可以在计算机上运行的机器码,负责程序的执行。JVM并不是一个,比如说Mac、Linux、Windows上面的JVM都不是同一个版本。同一个Java程序可以在三个不同的操作系统中执行,这就实现了Java程序跨平台性。

JDK = JRE +  Java开发工具

JRE = JVM + 核心类库

 Java编写步骤:

1.编写Java源代码

2.javac编译,得到.class字节码文件

3.Java运行,把.class加载到jvm运行

‘+’的使用注意

1.当左右两边都是数值类型,做加法运算。

2.当左右两边有一方是字符串,做拼接运算。

System.out.println(600 + 66 +"hi");//输出666hi
System.out.println("hi" + 600 + 66);//输出hi60066

第二行”hi“和600先进行拼接运算,得到字符串hi600,然后再和66进行拼接运算,得到hi60066 

二、数据类型

2.1基本数据类型:8种

整数类型(4种):byte[1],short[2],int[4],long[8]

浮点类型(2种):float[4],double[8]

字符型(1种):char[2]

布尔型(1种):boolean[1]

注意:字符串String不是基本数据类型,它是Object类的子类,属于引用类型。

引用数据类型:3种(类、接口、数组)

2.2基本数据类型的转换:

char -> int -> long -> float -> double

byte -> short -> int -> long -> float -> double

也就是说,char、byte、short三者要进行运算,都应该用int类型接受

大转小要强制转换

char类型可以保存int常量,不能保存int变量,保存需强转

char a = 1;
int x = 6;
char b = x; //错误
char c = (char)x; //正确

三、运算符

3.1  /(除)

/与数据类型有关

System.out.println(10 / 4); //实际运行是 2 ,前后两个类型都是int
System.out.println(10.0 / 4); //实际运行是 2.5 ,有类型为double
double a = 10 / 4;
System.out.println(a); //实际运行是 2.0 ,先运行出来10/4 得到 2,再转类型为double

3.2  %(取余)

本质是:a % b = a - a / b * b

-10 % 3 => (-10) - (-10) / 3 *3 = -1

3.3 ++(自增)

(1)i++(先赋值再自增)

int i = 1;
i = i++;
System.out.println(i); //1

(有一个隐藏的临时变量temp)

拆分先算 i++  --->temp = i ; i = i + 1;

然后计算 i = temp, 也就是 i = (i++);获得的这个临时变量赋值给 i

(2)++i(先自增后赋值)

int i = 1;
i = ++i;
System.out.println(i); //2

同样的,先计算 ++i  --->  i = i + 1;temp = i;

然后计算 i = temp, 也就是 i = (++i)

3.4 &&(短路与)、||(短路或)

&&:a && b ,当a、b都为true的时候为true,假设a为false ,结果直接为false,不进行b的操作。

|| :a || b ,当a、b有一个为true的时候为true,假设a为true ,结果直接为true,不进行b的操作。

3.5 三元运算符(xxx?true:false)

3.6 <<(算术左移)、>>(算术右移)、>>>(逻辑右移)

  • <<:符号位不变,低位补0(集合中扩容机制有使用,二进制乘二)
  • >>:低位溢出,符号位不变,并用符号位补溢出的高位
  • >>>:低位溢出,高位补0
  • 注意:没有<<<符号
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值