1.java跨平台运行的原理

在需要运行在java的操作系统上,先安装一个JVM(Java Virtual Machine)即可

由JVM负责java程序的运行,实现跨平台,使其具有良好的可移植性

2.怎么实现让常用的java,javac在任何路径下都可以被执行

设置环境变量

下载JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.

一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)

安装完JDK后配置环境变量  计算机(右键)→属性→高级系统设置→高级→环境变量。

系统变量→新建 JAVA_HOME 变量 。变量值填写jdk的安装目录

系统变量→寻找 Path 变量→编辑在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意如果是win7系统,则原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码;如果是win10系统,那么直接新建就可以)

系统变量→新建 CLASSPATH 变量,变量值填写   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

注:设置path环境时:%JAVA_HOME%\bin(%%取路径)

新建:JAVA_HOME (java的bin目录;是我为了java相关的软件使用java,java的服务器软件)

3.JDK包括了JRE,JRE(java运行环境)包括JVM

4.JVM只识别字节码,不能直接识别java源代码 先编译后执行.class文件

.class(字节码文件)

5.如果类名有Public,则文件名必须与类名相同

如果没有public,则文件名和类名可以不一样

6.标识符:程序中凡是自己起的名字

规则:1.由英文字母,数字,下划线,$组成

2.不能以数字开头,不能和关键字同名

3.严格区分大小写

7.常量类型及举例

888//整数常量

88.88//小数常量

”hello world”//字符串常量

’K’//字符常量

true,false//布尔值

null//引用类型的常量

8.java的进制

十进制

八进制:二进制每三位转成一位,二进制三位数最大的是111,等于7,是八进制中最大的数

十六进制:二进制每四位转成一位,二进制四位数最大的是1111,等于15,是十六进制中最大的数

位权:从0开始,从低位到高位

9.负数的二进制:其正数的二进制按位取反再加1(注:有符号二进制数最小为10000000,不是11111111,可以根据含义验证其正确性)

10.变量:内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

该区域的数据可以在同一类型范围内不断变化

为什么要定义变量:用来不断的存放同一类型的常量,并加以重复利用

11.java的变量类型

数据类型的作用:

1.决定变量占多大的内存

2.内部存储的数据

数据类型:基本数据类型:数值型(整数类型(byte,short,int,long),浮点类型(float,double))

字符型(char)

布尔型(boolean)

引用数据类型:类(class)

接口(interface)

数组

整型默认:int 浮点型默认:doubles

long型后如果不加L则默认为int型,浮点型如果不加F则默认为double型

一个字节表示的范围(考虑正负):-(2^(8*字节数-1))到2^(8*字节数-1)-1

八大基本数值类型:

整型:

byte:字节型,占一个字节,-128~127

short:短整型,2个字节,-32768~32767

int:整型,4个字节

long:长整型,8个字节

浮点型:

float:单精度浮点型,精确到小数后第7位,4个字节

double:双精度浮点型,精确到小数点后16位,8个字节

布尔类型:

boolean(true,false):一个字节

字符串:char,unicode:2个字节

常用的unicode编码:a:97 A:65 0:48

12.类型转换:

自动类型转换(隐式类型转换)

强制类型转换(显示类型转换)

数据类型级别高低:byte,short,char–>int–>long–>float–>double

13.所有的byte、short、char的值将被提升到int型

byte ss=8;//右边是int,编译没报错,说明内部做了转换,内部砍掉了前3个字节,高级别到低级别,十分少

14.运算符:用以表示数据的运算、赋值和比较

分为:算术运算符,赋值运算符,比较运算符,逻辑运算符,位移运算符

15.”+”除了字符串相加的功能外,还能把非字符串转换成字符串

如:”x”+123==>”x123″

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1

但被模数是负数就另当别论

对于除号”/”,它的整数除和小数除是有区别的:整数之间只保留整数部分而舍弃小数部分

16.”&”和”&&”的区别:单与时,左边的无论真假,右边的都进行运算:

双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不会参与运算

17.”|”和”||”的区别同理:双或时,左边为真右边不运算

18.”^”异或与”|”或的不同之处:当左右都为true时,结果为false

19.if语句的第二种格式的简写格式。格式是固定的,要求记住。

变量=(条件表示式)?表达式1:表达式2;

注:a,每一种格式都是单条语句。

b,第二种格式与简写格式的区别:简写格式运算完要有值出现。好处是 可以写在其他表达式中。

c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

20.switch特点:

注:a,switch语句选择的类型只有四种:byte,short,int , char。

b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

c,结束switch语句的两种情况:遇到break,执行到switch语句结束。

d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

21.什么是函数?

函数就是程序中一段独立的小程序。

Java中函数的格式:

返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,……)

{

执行语句;

return 返回值;

}

22.函数特点

它是程序中一段独立的小程序。

它可以实现独立的功能。

它只有被调用才会执行。

它可以被重复使用。

23.函数的重载

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。

存在的原因:

方便于阅读,优化了程序设计。

特点:

与返回值类型无关,只看参数列表。

24.开辟不同内存空间是为了对每一片内存中的数据都有不同的处理方式,提高效率。

栈内存的特点:

存储局部变量,空间不用时自动释放内存。

堆内存的特点:

存储数组和对象,通过new关键字建立的实体都存放在堆内存当中。

实体都有一个内存地址值。

对内存中的变量都有默认初始化值。

垃圾回收机制,Java特有的内存管理机制,在不定时的时间内将垃圾清除释放空间。

25.引用

强引用(StrongReference)

我们使用的大部分引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。

软引用(SoftReference)

如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。

弱引用(WeakReference)

在垃圾回收器线程扫描它 所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程, 因此不一定会很快发现那些只具有弱引用的对象。

虚引用(PhantomReference)

如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收。

JAVA变量直接可以相加不,Java学习第一天相关推荐

  1. java与数据类型相关的十个关键字_乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符...

    大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对代码进行合理注释 ...

  2. java变量默为public_《Java8学习笔记》读书笔记(六)

    第5章 对象封装 5.1 何谓封装 定义类并不等于做好了面向对象中封装的概念,那么到底什么才有封装的含义? 5.1.1 封装对象初始流程 假设要写个可以管理储值卡的应用程序,首先得定义储值卡会记录哪些 ...

  3. java 变量 安全访问_访问java变量

    Java多线程编程:变量共享分析(Thread) Java多线程编程:变量共享分析(Thread) Java 创建线程的两种方法 此处只简单讲下自己对java多线程变量共享的理解: 按照进程和多线程的 ...

  4. 关于java变量命名,介绍阿里JAVA命名规范及IDEA实时检测插件的使用以及CODELF取名神器

    JAVA开发中,我们经常会为如何来命名烦心. 有大神曾说计算机科学的两件难事:缓存失效和命名 的确,程序员最头疼的事:命名 但其实,有规范可以遵循.还有工具帮我们取名,更有插件帮我们实时检查是否违反规 ...

  5. java 变量重名_关于java中变量的重名问题

    在java语言中,变量的命名有很多规则和规范,但是有的地方可以使用相同的变量名,有的地方却不能使用,这是为什么呢? 下面是个人的一点见解,是从作用域和内存来分析的,目的是为了方便理解 大家可以看下面这 ...

  6. java 变量共享_浅谈Java共享变量

    Java并发一直都是开发中比较难也比较有挑战性的技术,对于很多新手来说是很容易掉进这个并发陷阱的,其中尤以共享变量最具代表性,其实关于讲这个知识点网上也不少,但大象想讲讲自己对这个概念的理解.共享变量 ...

  7. Java图像处理最快技术:ImageJ 学习第一篇

    ImageJ是世界上最快的纯Java的图像处理程序.它可以过滤一个2048x2048的图像在0.1秒内(*).这是每秒40万像素!ImageJ的扩展通过使用内置的文本编辑器和Java编译器的Image ...

  8. java 变量初始化_浅谈Java变量的初始化顺序详解

    规则1(无继承情况下):对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序依次是 (静态变量.静态初始化块)>(变量.初始化块)>构造器 证明代码: public cla ...

  9. java 标识变量_Java变量与数据类型之一:Java编程规范,关键字与标识符

    原标题:Java变量与数据类型之一:Java编程规范,关键字与标识符 大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字 ...

  10. java变量默认值_Java变量的默认值和初始化

    Java变量的默认值和初始化 学习自 <Thinking In Java> 变量的默认值 注意只有成员变量才有默认值,而局部变量必须要赋初值.为什么会这么设计,下面会讨论. 关于各种基础类 ...

最新文章

  1. python 如何查看模块所有方法-Python查看模块函数,查看函数方法的详细信息
  2. 汇编语言--算术运算指令
  3. ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...
  4. Java8之Consumer、Supplier、Predicate和Function攻略
  5. 红点中国、红杉中国联合领投,WakeData惟客数据完成1000万美元B轮融资
  6. JS中配置打开邮箱的链接
  7. jqGrid 操作一些总结(二)
  8. 1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))
  9. 开机提示对话框“位置不可用”
  10. 精简的Linux启动过程
  11. mysql数据库1129错误
  12. linux下打印用户态段错误信息的一种方法
  13. 利用PYTHON代码,自动玩王者荣耀,再也不担心女朋友打电话
  14. 洛谷OJ - P1316 - 丢瓶盖(二分答案)
  15. 使用ffmpeg命令把单张或多张图片生成固定时长的视频
  16. Bable的简单使用
  17. 大牛揭秘:如何快速在阿里云搭建视频直播平台
  18. Dell服务器装系统黑屏,简单几步解决dell win7黑屏_dell win7黑屏如何修复
  19. ETI工作-测试文件多层folder树生成
  20. 【目标跟踪】|Exemplar Transformers

热门文章

  1. jQuery应用实例4:下拉列表
  2. 递归系列——递归树与函数记忆化
  3. 【JZOJ4910】【NOIP2017模拟12.3】子串
  4. C# 事件和Unity3D
  5. 孙鑫VC学习笔记:第十二讲 (一) 介绍常量指针、指针常量,文本、二进制文件
  6. 拓端tecdat|R语言马尔可夫MCMC中的Metropolis Hastings,MH算法抽样(采样)法可视化实例
  7. 拓端tecdat|R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
  8. 【大数据部落】文本挖掘:twitter推特LDA主题情感分析
  9. (17)机器学习_集成学习
  10. 计算机存储地址如何,计算机内存地址只有5种表现形式吗,为什么?