JavaSE复习巩固

第一天:复习java入门知识,jvm内存,java程序执行流程,数据类型,变量和自动类型转换,运算符...

学习java目的:起初是因为想找工作,拿高薪。后来逐渐在学习java技术的过程中渐渐循喜欢上java,对java产生了兴趣,我相信只要有了兴趣,在通过自己努力学习,学习好技术,高薪也会随之而来的。是不矛盾,不冲突的。

虽然说刚开始学的懵懵懂懂的,有些原理不怎么理解。但是我相信通过自己持之以恒的学习,会达到自己的目标。我的人生态度活到老,学到老。

程序员为什么叫程序员?就是写程序的人

那么什么是程序呢?由一系列有序的指令组成的

计算机底层只能识别0和1(二进制数)

java语言的的特点:

1.面向对象

2.可以在不同的操作系统上运行(跨平台)

3.简单易学,开源免费,兼容性好....

java语言写好的程序需要JDK编译才能运行

计算机只能识别0和1,java语言写好的程序,如何实现一次编译,到处运行(在不同的操作系统上运行)? 依赖于jvm(虚拟机)

JDK,JRE,JVM三者之间的关系 :JDK包含JRE和JVM JRE包含JVM

JDK(Java Develop KIt):java程序运行工具,里面包括一些核心的类库 (java开发工具包)

JRE(Java Runtime Environment):java运行环境(java运行环境)

JVM(Java Virtual Machine):java虚拟机

 java程序执行过程:把写好的java程序(.java文件)首先通过JDK中的javac工具翻译成.class(二进制文件),在通过jre中的java工具运行翻译好的.class文件即可。

java数据类型分为两种,分别为基本数据类型和引用数据类型

基本数据类型分为4类八种基本数据类型

整数类型 byte short int long 在内存中所占的内存空间大小分别是1个字节,2,4,8。

byte(1个字节)的取值范围是-128-127

short(2个字节)的取值范围是-32768-32767

int(4个字节)的取值范围是-2147483648 (-2的31次方)-2147483647 (2的31次方-1)

long(8个字节)的取值范围是-9223372036854775808-9223372036854775807

1个字节=8个位(bit)

浮点型类(小数类性) flaot(单精度浮点型)占4个字节 double(双精度浮点型) 占8个字节

小数和整数的空间组织结构是不一样的,所有不能以字节大小来判断空间大小

字符类型 char 2个字节

布尔类型 boolean(true和false)真的假 1个字节

基本数据类型是没有地址值

引用数据类型:引用数据类型是有在内存中是有地址值的,地址值是可以在控制台打印出来的。

常量:java程序在运行过程中,其值不会发生改变的量

变量:java程序在运行过程中,其值会发生改变的量

本质:在内存中开辟的一小块内存空间,用来临时存储数据用的。

补充知识:硬盘是永久性存储数据,内存是临时性存储数据的。

如何定义变量?

变量数据类型 变量名=变量值;

例如:int a=1;

相当于我们在内存中开辟了一块叫做变量名(a)的数据类型(int)的内存空间,往叫变量名的空间存变量值(1)。

定义变量时需要注意的细节?

1.变量名可以是中文汉字,但是不建议使用,这是规范。

2.变量名可以由数字,英文字母,和¥($)美元符号,下划线_组成

3.变量名不可以以数字开头

4.变量名不能是关键字

5.变量名最好取的有意义(最好是能看到名字就知道意思)

6.同一个程序中,变量名不要重名,不然下面的重复名字的变量会把你上面定义的一样名字的变量覆盖。

java程序执行原理:

1.首先把你写好的程序通过JDK中的javac工具翻译成二进制文件或者也可以叫.class文件

2.在通过Jre中的java工具把翻译(编译)好的二进制文件运行,它会把这个二进制文件加载(通过类加载器)到jvm内存中(放在jvm内存的方法区中)

3.然后存在JVM内存的方法区中,存在方法区的字节码文件区域中

扩展:交换思想

例如:有两个变量分别是a和b,它们的值分别是10和20 ,需要把a和b中的值进行交换,怎么交换?

//交换思想 a和b的值交换

int a=10;//a=10  交换之后a=20
int b=20;//b=20   交换之后 b=10
int c;//临时存储的变量
c=a;//首先把a的值赋值给临时变量c
a=b;//在把b的值赋值给a
b=c;//最后把c的值赋值给b  这样a和b的值就交换了
System.out.println("交换之后a的值:"+a);
System.out.println("交换之后b的值:"+b);

数据类型的转换:

java中分类:

自动类型转换:不需要做什么强制措施,数据就可以进行自动转换。(小的转大的)

例如:int a;

byte b=1;

a=b;

在内存中定义变量时,都是依照我们开辟的内存空间占的大小去确定是什么数据 

强制类型转换:大的转小的(转换成谁就加谁)

int a=11;
byte b=(byte) a;
System.out.println("b的值是"+b);

java中的异常分为两种?分别是编译时异常和运行时异常

int a=10/0 是算数逻辑异常 会在运行时报错,因为除数不能为0.

题目:通过%和/分别取出12345的个位,十位,百位,千位,万位值?

        int a=12345;
        int gewei=a1%10000%1000%100%10;//a1/1%10  也可以通过这种(更好一点)
        int shiwei=a1%10000%1000%100/10;//a1/10%10
        int baiwei=a1%10000%1000/100;//a1/100%10
        int qianwei=a1%10000/1000;//a1/1000%10
        int wangwei=a1/10000;//a1/10000%10
        System.out.println("a1的个位数值是"+gewei);
        System.out.println("a1的十位数值是"+shiwei);
        System.out.println("a1的百位数值是"+baiwei);
        System.out.println("a1的千位数值是"+qianwei);
        System.out.println("a1的万位数值是"+wangwei);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值