哈哈哈——Java复习__Day_1

Java概述:

        计算机语言可以分为:机器语言,汇编语言,高级语言。

        计算机只能识别机器语言,由二进制0 1 组成的编码,目前通用的编程语言是汇编语言和高级语言

       Java划分为三个技术平台——Java SE(核心部分),Java EE,Java ME(这两个是由Java SE 的基础上发展而来的)。

Java语言的特点:

        ①简单易用,②安全可靠,③跨平台,④面向对象,⑤支持多线程

Sun公司提供JDK和JRE

JDK:包括Java编译器,Java运行工具,Java文档生成工具,Java打包工具。

JRE:是Java运行环境,他只包括Java运行工具

下面是安装JDK等这个不做介绍…………

Java的运行机制:

       Java运行时需要经过两个部分,编译和运行。

       先将扩展名为Java的源文件进行编译,生成扩展名为class的字节码文件,然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。

为了方便理解Java程序运行的过程,我们把具体步骤写下来。

       ①编写一个 Hello world.Java的文件。

       ②使用“Javac Hello world.Java”命令开启Java编译器并进行编译。编译结束后,会自动生成一个Hello World. class的字节码文件

        ③使用“ Java Hello world”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟针对加都到内在中的Java类进行解释执行,便可看到运行结果。

          通过上面的分析不难发现,Java程序是由虚拟机负责解释执行的,而并非操作系统。

          这样做的好处是可以实现跨平台性,也就是说针对不同的操作系统可以编写相同的程序,只需安装不同版本的虚拟机即可。

Java编程基础:      

关键字和标识符(以前总是搞混,复习的时候,记录一下)
(1)关键字——java语言定义的,具有特定含义的词,比如public,class,static,void等;

(2)标识符——用户自己定义的,可用于命名变量名、常量名、类名、对象名、方法名,参数名,包名等;

         标识符可以由任意顺序的大小写字母,数字,下划线,美元符号组成,但不能以数字开头,也不能是Java中的关键字。
哈哈哈——Java复习__Day_1_第1张图片
命名规范问题:(不这样也不错,但是不规范)
(1)类名:首字母要大写

(2)关键字、变量、对象、方法、包名:首字母要小写,如果是多个单词,第二个单词首字母可以大写,比如setPeople

(4)常量:一般全部要大写(定义就是添加一个final关键字即可),如下面所示

基本数据类型:

  • 字节型 byte:1个字节(8位,256)

  • 短整型 short:2个字节

  • 整型 int:4个字节

  • 长整型 long:8个字节

  • 字符型  char:2个字节

哈哈哈——Java复习__Day_1_第2张图片

哈哈哈——Java复习__Day_1_第3张图片 

变量的类型转换:

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

如果以下 2 个条件都满足,那么将一种类型的数据赋给另外一种类型变量的时,将执行自动类型转换。

  • 两种数据类型彼此兼容

  • 目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据


当以上 2 个条件都满足时,拓宽转换(widening conversion)发生。例如 byte 类型向 short 类型转换时,由于 short 类型的取值范围较大,会自动将 byte 转换为 short 类型。

在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。转换规则如下:

  • 数值型数据的转换:byte→short→int→long→float→double。

  • 字符型转换为整型:char→int。

以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。

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

尽管自动类型转换是很有帮助的,但并不能满足所有的编程需要。例如,如果你需要将 double 型的值赋给一个 int 型的变量,你将怎么办?

这种转换不会自动进行,因为 double 型的变化范围比 int 型的要小。这种转换有使成为“缩小转换”,因为你肯定要将源数据类型的值变小才能适合目标数据类型。

所以当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要进行强制类型转换。

哈哈哈——Java复习__Day_1_第4张图片

上述代码中首先将 double 类型变量 e 的值强制转换成 int 类型,然后将值赋给 s,但是变量 e本身的值是没有发生变化的。
在强制类型转换中,如果是将浮点类型的值转换为整数,直接去掉小数点后边的所有数字;而如果是整数类型强制转换为浮点类型时,将在小数点后面补零。

Java运算符:

算数运算符,赋值运算符,逻辑运算符;

表 1 一元算术运算
运 算 符 名 称 说 明 例 子
取反符号 取反运算 b=-a
++ 自加一 先取值再加一,或先加一再取值 a++ 或 ++a
-- 自减一 先取值再减一,或先减一再取值 a-- 或 --a
表 2 二元算术运算
运 算 符 名 称 说 明 例 子
+ 求 a 加 b 的和,还可用于 String 类型,进行字符串连接操作 a + b
- 求 a 减 b 的差 a - b
* 求 a 乘以 b 的积 a * b

求 a 除以 b 的商 a / b

%

取余 求 a 除以 b 的余数  a % b

 

 

 

表 1 赋值运算符和算数运算符组成的复合赋值运算的含义及其使用实例
运算符 含义 实例 结果
+= 将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身 int a=5; a+=2; a=7
-= 将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身 int a=5; a-=2; a=3
*= 将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身 int a=5; a*=2; a=10
/= 将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身 int a=5; a/=2; a=2
%= 将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身 int a=5; a%=2; a=1
表 1 逻辑运算符的用法、含义及实例
运算符 用法 含义 说明 实例 结果
&& a&&b 短路与 ab 全为 true 时,计算结果为 true,否则为 false。 2>1&&3<4 true
|| a||b 短路或 ab 全为 false 时,计算结果为 false,否则为 true。 2<1||3>4 false
! !a 逻辑非 a 为 true 时,值为 false,a 为 false 时,值为 true !(2>4) true
| a|b 逻辑或 ab 全为 false 时,计算结果为 false,否则为 true 1>2|3>5 false
& a&b 逻辑与 ab 全为 true 时,计算结果为 true,否则为 false 1<2&3<5 true

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Java复习专用,编程语言,java)