第一天:复习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);

javaSE基础复习的更多相关文章

  1. javase基础复习攻略《一》

    作为一名软件工程专业,JAVA开发方向的大三本科学生,有必要把自己的学到的专业知识进行一下整理,一则方便自己了解自己的学习程度,二则帮助刚刚接触这一门语言的童鞋了解学习,本人来自与河南理工大学,介绍完 ...

  2. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

  3. javase基础复习攻略《二》

    今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...

  4. JavaSE基础复习---1---2018/9/27

    2018/9/27 JavaSE学习笔记-1 目录: Java的起源 Java语言概述 1.Java的起源 现代编程语言的发展,大致可以理解为,机器码语言---汇编语言---C语言---C++语言-- ...

  5. javase基础复习攻略《九》

    本篇将为大家总结JAVA中的线程机制,谈到线程,大家一定会问线程和进程有什么区别?刚接触进程时我也有这样的疑问,今天就为大家简单介绍一下进程和线程.进程(Process)是计算机中的程序关于某数据集合 ...

  6. javase基础复习攻略《八》

    进入第八篇,我们开始讨论JAVA的IO初步.在JAVA程序中,对数据的输入\输出操作以"流"(stream)方式进行,J2SDK提供了各种各样的"流"类,用于获 ...

  7. javase基础复习攻略《五》

    总结完JAVA的基础语法和面向对象思想后,今天为大家补充一下JAVA中的数组,数组是什么呢?大家是不是想到了集合,数组和集合有相似之处,集合中的数据无序,不可以重复.数组中则存放着具有相同特征的一组数 ...

  8. javase基础复习攻略《三》

    编程语言的发展: 机器语言——直接由计算机的指令组成,指令.地址.数据都是以"0"和"1"的符号串组成,可以被计算机直接执行. 汇编语言——用容易理解和记忆的符 ...

  9. javase基础复习攻略《七》

    容器是什么?通俗的讲容器指可以装其它东西的器皿,前面我们提到的数组便是容器的一种,容器的概念在JAVA中便可以理解为用来存储其它对象的器皿.本篇就让我们一起来认识一下JAVA为我们提供的容器类. 1. ...

随机推荐

  1. 5个步骤,教你瞬间明白线程和线程安全.md

    记得刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题:你来说说有哪些线程安全的类?我心里一想,这我早都背好了,稀里哗啦说了一大堆. 他又接着问:那你再来说说什么是线程安全?--然后我就GG了 ...

  2. bash反弹shell

    part1:不求甚解的本地复现 攻击端Debian 10.x:  192.168.208.134 受害端Ubuntu : 192.168.208.135 攻击端打开(监听)某端口:  键入命令:[nc ...

  3. LeetCode:“剑指 Offer”

    LeetCode:"剑指 Offer" 刷题小菜鸡,花了几天时间做了一遍 LeetCode 上给出的 "剑指 Offer" 在此做一下记录 LeetCode主页 ...

  4. Spring Authorization Server的使用

    Spring Authorization Server的使用 一.背景 二.前置知识 三.需求 四.核心代码编写 1.引入授权服务器依赖 2.创建授权服务器用户 3.创建授权服务器和客户端 五.测试 ...

  5. 使用flink实现一个简单的wordcount

    使用flink实现一个简单的wordcount 一.背景 二.需求 三.前置条件 1.jdk版本要求 2.maven版本要求 四.实现步骤 1.创建 flink 项目 2.编写程序步骤 1.创建Str ...

  6. spring social实现百度登录

    在早期我写过一篇spring social理解的文章,介绍了一些spring social的概念,但是没有提供一个例子.在这篇博客中,提供一个简单的spring social的例子,实现 百度登录,那 ...

  7. 二,zabbix与php的一些问题

    zabbix 检查先决条件 一.php-bcmath 不支持 php 安装 bcmath 扩展(编译安装) PHP的linux版本需要手动安装BCMath扩展,在PHP的源码包中默认包含BCMath的 ...

  8. 印象最深的一个bug——排查修复问题事件BEX引发的谷歌浏览器闪退崩溃异常

    前言 最近,我们部门负责项目运维的小王频频接到甲方的反馈,运行的项目使用谷歌浏览器登录后,每次点击处理2秒后,浏览器自动闪退崩溃.小王同学折腾了一个星期,还没找到问题的原因.甲方客户都把问题反馈给项目 ...

  9. 羽夏看Win系统内核——SourceInsight 配置 WRK

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  10. 【.NET 与树莓派】用 MPD 制作数字音乐播放器

    树莓派的日常家居玩法多多,制作一台属于自己的数字音乐播放机是其中的一种.严格上说,树莓派是没有声卡的,其板载的 3.5 mm 音频孔实际是通过 PWM 来实现音频输出的(通过算法让PWM信号变成模拟信 ...