『Java』历史+基础回顾

该篇为正式笔记第一篇,果不其然的会从一些最基础的知识开始.

 

首先

学一门语言,前提要知道他是干什么的,能用来做什么.

他是前Sun公司于我的生辰1995年推出的一门高级编程语言,java语言是一个革命性的语言,因为他的跨平台性.其跨平台原理在于java虚拟机,java虚拟机到哪,java程序就能运行到哪.他是一个面向对象,安全可靠,与平台无关的编程语言.他能做我们常见的桌面程序,还能做超牛的网上交易系统,同时还可以做出超炫的图像效果等等.

 

java技术平台具体划分了三种技术架构:

①:javaSE,一个java平台标准版,是java的核心基地,它允许开发和部署在桌面,服务器,嵌入式环境和实时环境中使用的java应用程序,javaSE还包括了支持java web服务开发的类,并未java EE提供了给力的基础.

②:javaEE,一个java平台企业版,他可以帮助开发和部署可移植,健壮,可伸缩且安全的服务端java应用程序.javaEE是在javaSE基础上构建的,它提供web服务组件模型,管理和通信API,可以用来实现企业的面向服务体系结构(SOA)和web应用程序.

③:javaME:一个java平台小型版,他主要为在移动设备和嵌入式设备(比如:电视机顶盒,打印机等)上运行的应用程序提供一个健壮且灵活的环境.基于javaME规范的应用程序只需要编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能等.

 

java的跨平台性

通过Java语言编写的应用程序在不同的系统平台上都可以运行,只要在需要运行java应用程序的操作系统上先安装一个Java虚拟机(JVM Java Vitrual Machine)即可由JVM来负责Java程序在该系统中的运行

 

其次

了解了java是干什么的后,就要直接进入主题了,就是来学习掌握他的基础:

 

变量----

变量的概念:将不确定的数据进行存储,也就是需要在内存中开辟一个空间.

 

变量的划分:

数值型:其中包括整形的byte(占一个字节),short(两个字节),int(四个字节),long(八个字节)和浮点型的float(四个字节),double(八个字节)

字符型:char(占两个字节),

 

变量的命名规则:必须以字母,下划线活dollar符号($)开头,其中也只能包括这两个特殊符号,还有就是不能使用java语言的关键字

 

 

上面大都是理论,下面实例来,定义变量:

当数据不确定的时候,需要对数据进行存储时就定义一个变量来完成存储动作

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

Int x=4;

Byte b=2;//-128~127 

Short s=30000;

Long l=4l;//定义long型时一定要在末尾添加L

Float f=2.3f;//小数默认是double类型,如果想使用float类型,需要在末尾添加f

Double d=34.56;

Char ch=’4’;//char类型占2个字节

Char ch1=’a’;

Char ch2=’+’;

Char ch3=’ ’;

Boolean bo=true;

Boolean bo1=false;

 

常量----

常量的概念:不能改变的数值,固定的

 

常量的划分:

整型:其中包括所有的整数,分别以 十进制dec(满是进一(0~10), 十六进制Hex(满十六进一(0~9,A~F用Ox开头表示),还有 八进制oct(满八进一(0~7(用0开头表示)的形式表示.

小数型:其中包括所有的小数,划分为:单精度浮点数和双精度

布尔型:其中只有两个值true和false

字符常量:其中包括一些转义字符等用单引号标识

字符串常量:例如:"Hello World",用双引号来标识

null常量:其中只有一个值,表示对象的引用为空

 

运算符----

运算符的概念:顾名思义,是在程序运算过程中的一些标志性符号

 

运算符划分:

算数:数学中常见的一些"*","/","+","-","%"具体如下表:

 

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4; -b;

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模

5%5

0

++

自增(前)

a=2;b=++a;

a=3;b=3

++

自增(后)

a=2;b=a++

a=3; b=2

--

自减(前)

a=2;b=--a;

a=1;b=1

--

自减(后)

a=2;b=a--

a=1;b=2

+

字符串相加

“He”+”110”

“Hello”

 

 

取模小总结:

 

左边小于右边,结果是左边 

左边等于右边,结果是0 

右边是1,结果是0

当出现负数时,只看左边,负号在左边结果为负

 

比较:其中有">","<",">=","==","!="等结果出来要么是true要么是false

 

运算符

运算

范例

结果

==

相等

4==3

false

!=

不等于

4!=3

ture

小于

4<3

false

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

false

instainceof

检查是否是类的对象

‘Hello’instanceof String

ture

 

小小实例:

 

 

=(等号) 等于 (A1=B1)

>(大于号) 大于 (A1>B1)

<(小于号) 小于 (A1<B1)

>=(大于等于号) 大于或等于 (A1>=B1)

<=(小于等于号) 小于或等于 (A1<=B1)

<>(不等号) 不相等 (A1<>B1)

 

赋值:就是一个"="号,将右边的赋值给左边.其中要注意一些:"+=""-="*=""/="的操作.例如:a+=20<=>a=a+20

这里注意下在赋值同时涉及到的类型提升:

byte b=3; b=(byte)(b+2); 注意适当要加上强制类型转换

 

逻辑运算符:

运算符

运算

范例

结果

&

AND(与)

false&ture

false

|

OR(或)

False|ture

true

^

XOR(异或)

False^ture

true

!

Not(非)

!true

false

&&

AND(短路)

false&&ture

false

||

OR(短路)

False||ture

true

 

其中主要,注意,双或和或,双与和与的区别.

区别在于使用或('|')无论任何情况,两边都会参与运算,使用双或("||")则,当左边为假时才会判断左边是否为真.如果左边为真了,就直接返回结果为真.不判断右边.

 

位运算符(主要用于底层运算):

 

运算符

运算

范例

<< 

左移

3 << 2 = 12  à3 * 2 * 2 = 12

>> 

右移

3 >> 1 = 1   à 3 / 2 = 1

>>> 

无符号右移

3 >>> 1 = 1  à3 / 2 = 1

&

与运算

6 & 3 = 2

|

或运算

6 | 3 = 7

^

异或运算

6 ^ 3 = 5

~

反码

~6 = -7

 

 

对了,还有三元运算符

 

 

格式:(条件表达式)?表达式1:表达式2;

如果条件为真,运算后的结果是表达式1;

如果条件为假,运算后的结果是表达式2;

 

程序的流程控制----

程序的流程控制的概念:其实就是语法结构,编程中的语句

 

顺序结构:程序从上往下一行一行的执行,中间没有判断和跳转,直到程序结束

 

循环结构:while,do-while,for

while,特点先判断,后执行

do-whi,特点先执行,再判断

for,特点,先执行初始化部分,再进行判断,然后执行循环体,组后进行迭代部分.通常用于循环次数确定的情况.

 

选择结构:if,if-else,switch

基本if,可以处理单一活组合条件的情况

if-else,可以处理简单的条件分支情况

多重if,可以处理复杂的条件分支情况

switch,可以处理判断具体数值的选择情况

 

注意:跳转语句:

breadk:终止某个循环,跳出该循环体只能适用于循环和switch结构.

continue:跳出本次循环,进行下一次循环,还在循环体中,只能用于循环中

 

 

数组----(简约概念,具体内容会在后面文章中详细提到)

数组的概念:同一种类型数据的集合.其实就是一个容器.

好处:可以自动给数组中的元素从0开始编号方便操作.

 

普通数组:语法:数据类型[ ]  数组名= new 数据类型 [数组长度];

 

多维数组:数据类型[ ][ ]  数组名= new 数据类型 [外层数组长度] [内层数组长度 ];

 

注意:内存结构,内存主要划分为 栈, 堆, 和方法区

栈:主要用于存储局部变量,当数据使用完后,会自动释放.

堆:对象,存储的地方.同过new建立的实例,用来封装数据,都有默认初始化值,其中有垃圾回收机制.

方法区:也叫做共享区,数据区,内部存储一些随类加载的静态方法或者静态共享数据,其中内部还含有常量池等.

 

面向对象----(简约概念,具体内容会在后面文章中详细提到)

面向对想概述:将功能封装进对象,强调具备了功能的对象.

特点:封装,继承,多态

 

封装:不让外部程序随意修改一个类的成员.模块设计追求强内聚(许多功能尽量在类中独立完成,不让外面干预),若耦合(提供给外部尽量少的方法调用)

 

继承:可提高代码的复用性,简化代码,让类与类之间产生了关系

 

多态:某一类实物的多种存在形态,可以提高程序的扩展性.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值