学习JAVA你应该先了解什么(java简述)

C语言书写速度慢,成本高,但是性能最好,速度最快,C++其次Java在C++后面,java生态比C#更好,因为java生态实现较早

JAVA的11个关键术语

1 ) 简单性:Java 语法是 C++ 语法的一个“ 纯净” 版本。

2 ) 面向对象 :开发 Java 时面向对象技术已经相当成熟。 Java 的面向对象特性与 C++ 旗鼓相当。Java 与 C++ 的主要不同点在于多重继承,在 Java 中,取而代之的是更简单的接口概念。

3 ) 分布式 :Java 有一个丰富的例程库,用于处理像 HTTP 和 FIT 之类的 TCP/IP 协议。Java 应用 程序能够通过 URL 打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。很多电脑进行一个任务

4 ) 健壮性:Java 和 C++ 最大的不同在于 Java 采用的指针模型可以消除重写内存和损坏数据的可能性,即修改东西不容易出错

5 ) 安全性:Java 适用于网络 / 分布式环境。 为了达到这个目标,在安全方面投入了很大精 力。使用 Java 可以构建防病毒、 防篡改的系统基础安全性做的较好,例如:底层校验

6 ) 体系结构中立:编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码, 只要有 Java 运行时系统, 这些编译后的代码可以在许多处理器上运行。Java 编译器通过生成 与特定的计算机体系结构无关的字节码指令来实现这一特性。 精心设计的字节码不仅 可以很容易地在任何机器上解释执行,而且还可以动态地翻译成本地机器代码

7 ) 可移植性:在 Java 中,数据类型具有固定的大小,。 二进制数据以固定的格式进行存储和传输, 消除了字节顺序的困扰。字符串是用标准的 Unicode 格式存储的。

8 ) 解释型 :Java 解释器可以在任何移植了解释器的机器上执行 Java 字节码。

9 ) 高性能 :字节码可以(在运行时刻)动态地翻译成对应运行这个应用的特定 CPU 的机 器码。

10 ) 多线程 :多线程可以带来更好的交互响应和实时行为。模拟同时运行很多任务, 是拟态的

11 ) 动态性 :从各种角度看, Java 与 C 或 C++ 相比更加具有动态性。它能够适应不断发展 的环境库中可以自由地添加新方法和实例变量, 而对客户端却没有任何影响。在 Java 中找出运行时类型信息十分简单。

常用Java程序设计环境

JDK:把.java变成.class操作系统并不识别.class文件

JRE:直接运行.class文件

SE: 核心即原始创建java的团队给JAVA定义的最初始的核心功能

EE:JAVA全套开发 全站开发 网站开发

ME :手机端开发

SDK :使用代码样例 例如写代码后面给定义解释该如何去写这一串代码 调用样例

Java基本程序设计结构

1一个简单的Java程序

public class FirstSample

{

      public static void main(String[] args)

      {

             System.out.println("We will not use 'Hello, World!"');

       }

}

命名方法:驼峰命名法

文件夹名字小写开头

变量名小写开头

方法名小写开头

其他文件名小写开头

只有Java类名字和类文件名字是大写开头

2.数据类型

byte-8(1字节)         short-16(2字节)        int-32  (4字节)         long-64(8字节)   

float-32(4字节)          double-64(8字节)   

char-根据编码决定(8,16,32)

在Java中boolean-32(4字节)

byte x = 34; =32 + 2 = 00100010正数源码就是补码

byte x2 =-34;10100010---11011101----11011110

有效位数,数越大精度越低

float精度并不高,小范围之内精度高,大范围内丢失精度较高

 计算机最小存储单元是1B=8bit

高低电压传输,必须排队出来

存的数据越多,阻塞概率就越大

小多,大少

boolean类型设置32位,为了降低阻塞概率

屏幕由像素点组成

每个像素点都有自己的坐标,每个像素点包含5个数字能代表6个信息

同样的颜色,同样的比例,数越大,颜色越亮

16+16 = 32; 8 + 8 +8 =24;

用bit类型无符号位写,JAVA不支持无符号位 short类型表示XY坐标

三原色红绿蓝每个取值范围0-255 56bit的数据就能表示一个像素点的全部信息

假设平均200个像素点

char类型和编码的由来,编码不是地址,是上面像素点的组合排列方式的代号

记事本存的是编码,还拥有库,当你输入后会与库匹配,然后显示出来

都有磁颗粒都有N极和S极,对外展示 N-1 S-0

产生相对位移就会产生相对切割磁感线的行为就会产生相对电压

 

码点( code point) 是指与一个编码表中的某个字符对应的代码值

在基本的多语言级别中,每个字符用 16 位表示,通常被称为代码单元( code unit) 而辅助字符采用一对连续的代码单元进行编码。这样构成的编码值落人基本的多语言级别中空闲的 2048 字节内, 通常被称为替 代区域

我们强烈建议不要在程序中使用 char 类型,除非确实需要处理 UTF-16 代码单元。最好将字符串作为抽象数据类型处理

3.变量

在 Java 中,每个变量都有一个类型( type)。在声明变量时,变量的类型位于变量名之 前。这里列举一些声明变量的示例: double salary; int vacationDays; long earthPopulation; boolean done; 可以看到,每个声明以分号结束。由于声明是一条完整的 Java语句,所以必须以分号结束。 变量名必须是一个以字母开头并由字母或数字构成的序列。需要注意,与大多数程序设 计语言相比,Java 中“ 字母” 和“ 数字” 的范围更大。字母包括 ’ A’ ~ ’ Z’、 ’ a 1 ~ ’ z 1 、 或在某种语言中表示字母的任何 Unicode 字符。例如, 德国的用户可以在变量名中使用字母 ‘ 3’;希腊人可以用 71。同样, 数字包括 '0' ~ '9 ’ 和在某种语言中表示数字的任何 Unicode 字 符。但 V 和 '©’ 这样的符号不能出现在变量名中,空格也不行。变量名中所有的字符都是有 意义的,并且大小写敏感。变M名的长度基本上没有限制

3.1 变量初始化 声明一个变量之后,必须用赋值语句对变量进行显式初始化, 千万不要使用未初始化的 变量。例如, Java 编译器认为下面的语句序列是错误的:

int vacationDays;

System.out.println(vacationDays): // ERROR variable not initialized

要想对一个已经声明过的变量进行赋值, 就需要将变量名放在等号(=) 左侧, 相应取值 的 Java 表达式放在等号的右侧。

int vacationDays;

vacationDays = 12;

也可以将变量的声明和初始化放在同一行中。例如:

int vacationDays = 12;

最后,在 Java 中可以将声明放在代码中的任何地方。例如,下列代码的书写形式在 Java 中是完全合法的:

double salary = 65000.0;

System,out.println(salary);

int vacationDays = 12; // OK to declare a variable here

在 Java 中, 变量的声明尽可能地靠近变量第一次使用的地方, 这是一种良好的程序编写风格。

3.2常量 

final 修饰的常量所有的字母都要大写

final作用:

1.修饰常量;

2.修饰的类不可以被继承;

3.修饰的方法不可被重写;

4.防止指令被重排序(并发);

 可以使用关键字 static fina丨设置一个类常量

3.3运算符

3.3.1 数学函数与常量 在 Math类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函 数也不同。 要想计算一个数值的平方根, 可以使用 sqrt 方法:

double x = 4;

double y = Math.sqrt(x);

System.out.println(y); // prints 2.0

3.3.2 数值类型之间的转换

经常需要将一种数值类型转换为另一种数值类型。

实线表示无损转化,虚线表示能转化但是精度会丢失

3.5.4 结合赋值和运算符

可以在赋值中使用二元运算符,这是一种很方便的简写形式。

例如: X += 4; 等价于: x = x + 4; (一般地, 要把运算符放在 = 号左边,如 *= 或 %=)。

System.out.println(a++);

System.out.println(a);

当++那行不存在,先运行其他然后运行++

结果为0,只能有一个=生效,是前面那个

都能生效

++a是先算++里面的,a++是后算

Java 包含丰富的关系运算符。要检测相等性,可以使用两个等号 = =

例如,

3 = 7 的值为 false。

 另外可以使用!= 检测不相等。

例如

3 != 7  的值为 true。

最后, 还有经常使用的 < (小于、) > (大于) 、= (大于等于)运算符。

Java 沿用了 C++ 的做法,使用 && 表示逻辑“ 与” 运算符,使用丨| 表示逻辑“ 或” 运算 符。

从 != 运算符可以想到,感叹号!就是逻辑非运算符。&& 和丨| 运算符是按照“ 短路” 方 式来求值的: 如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。

如 果用 && 运算符合并两个表达式,

expressioni1&& expression2

而且已经计算得到第一个表达式的真值为 false, 那么结果就不可能为 true。

因此, 第二个表 达式就不必计算了。可以利用这一点来避免错误。

例如, 在下面的表达式中:

x != 0 M 1 / x > x + y // no division by 0

如果 x 等于 0, 那么第二部分就不会计算。因此,如果 X 为 0, 也就不会计算 1 / x , 除 以 0 的错误就不会出现。

类似地, 如果第一个表达式为 true,

expressioni1&& expression2 的值就自动为 true, 而无需 计算第二个表达式。

最后一点,Java 支持三元操作符 ?:,这个操作符有时很有用。如果条件为 true, 下面的表达式 condition ? expression1 : expression2

就为第一个表达式的值,否则计算为第二个表达式的值。

例如, x < y ? x : y

会返回 x 和 y 中较小的一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值